Portál AbcLinuxu, 3. května 2025 00:23

Bezpečnější stránkování rubrik

10.4.2005 18:26 | Přečteno: 1349× | Abíčko

V souvislosti s mnoha mirrory jsem provedl jednu dlouho odkládanou změnu v kódu Abíčka. Původní datový model počítal s tím, že se s každým objektem načte i seznam všech jeho potomků (jen krátká relace, nikoliv celý potomek). To sice pěkně funguje pro bežné složky typu Monitory, jenže existují složky mající stovky či tisíce potomků.

Proto jsem loni zavedl speciální chování pro diskusní fóra, u nichž se potomci nikdy nenačítají a je povinností controlleru načíst seznam diskusí, které se mají zobrazit. Nicméně rubrik se to netýkalo, přestože třeba Jaderné noviny mohou počtem článků soupeřit s některými fóry.

Rubriky byly napsány tak nešikovně, že se načetl seznam všech (jejích) článků a články se inicializovaly, aby se mohly setřídit podle času. Dovedete si představit, jak náročné to bylo, přesto si nikdo na pomalost zobrazování rubrik nestěžoval.

Teď už jsou rubriky také speciální a potomci (články) nejdou načíst obvyklým způsobem. Jejich výběr provádí controller a třídění přenechal databázi. To by mělo přinést větší rychlost a hlavně nižší zátěž serveru. Jsem zvědav, zda to poznám při dalším pokusu o mirror. Každopádně se jedná o první krok správným směrem.

Ač se to nezdá, tahle změna byla poměrně náročná a dotkla se na můj vkus hodně tříd. Takže dalších změn moc nebylo, snad jen na žádost uživatele je v diskusi povolen atribut title u značky A. Jiný uživatel zase přišel na to, že nebylo možné uložit ovladač se URL začínající na https.

Příští týden v úterý půjde nový projekt do provozu, to mi snad uvolní ruce a budu dál pracovat na Abíčku. Těště se (nebo bojte se).

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

10.4.2005 20:56 doubleZ | skóre: 24 | blog: smazano
Rozbalit Rozbalit vše DIKY
Odpovědět | Sbalit | Link | Blokovat | Admin
Dekujeme!
10.4.2005 23:28 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Ééé...
Odpovědět | Sbalit | Link | Blokovat | Admin
#166
Nikola Ciprich avatar 11.4.2005 08:11 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: Ééé...
:-) neda mi to, abych nepridal jeste tento. ale rozhodne to neberte spatne, proste jsem si na ten dil vzpomnel ;)
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
11.4.2005 09:13 jm
Rozbalit Rozbalit vše Re: Ééé...
ROFL! :-D
11.4.2005 11:49 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Ééé...
Taky bych ocenil překlad blogpostu do češtiny :-) Ale hlavně že se to povedlo spravit.
11.4.2005 12:30 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Ééé...
ad hackles - stare, ale hezke :-) Kuriozni je, ze v lete 2000 jsem seriozne uvazoval o XML transformovanem skrze XSLT do HTML nebo WML, ale na ROI jsem nemyslel ;-) Nastesti jsem realisticky uznal, ze to je az prilis high-tech a drzel se spise u zeme
Ale hlavně že se to povedlo spravit.
Pokud myslis vysokou zatez pod mirrorem, tak to jsem nespravil. Asi. Jen jsem odstranil jedno potencionalne slabe misto, coz muze, ale nemusi mit efekt. Uvidime. Kazdopadne pri mirroru nejvice trpela databaze, coz mohlo byt zpusobeno neustalym nacitanim rubrik (jednotlivych stranek).
Taky bych ocenil překlad blogpostu do češtiny
Pokud jste cetli puvodni clanky na tema architektury abicka a umite programovat, tak by melo byt vse jasne :-) Strucne - puvodne se pri zobrazeni rubriky nacetly z databaze vsechny clanky, setridily se podle datumu a pak se zobrazilo deset z nich. Ted se v databazi setridi clanky, vybere se 25 z nich a ty se nactou.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
11.4.2005 16:51 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: Ééé...
Pokud jsem ty původní články o abíčku pochopil, tak tam ten krok z XML do HTML je, jenom bez XSLT :-)

Obávám se, že ne všichni jsme odborníci přes J2EE a návrhové vzory… (no, minimálně já ne) Ten poslední odstavec je trochu jiné kafe, fakt to nešlo napsat hned? :-)
Copak toho není dost?
11.4.2005 21:21 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Ééé...
Ale slo, jenze ja si ty technictejsi veci pisi spise pro sebe. Abych vedel, co a proc jsem zmenil ;-)

Zkusim priste myslet vice i na normalni lidi, slibuju :-D
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
11.4.2005 20:22 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Ééé...
No já jsem to tak nějak pochopil, ale kdyby tam bylo tohle shrnutí, tak si nepřipadám jako blbec :-)
11.4.2005 21:19 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše opravy
Odpovědět | Sbalit | Link | Blokovat | Admin
Zadna zmena neni na poprve dokonala, takze jsem ted opravil dve chybky. Prvni z nich zpusobovala, ze neslo listovat clanky podle autora, holt tenhle SQL prikaz jsem prehledl. Druhy zase zpusoboval nefunkcnost generovani RSS pro clanky, nebot puvodni slozka Aktualni clanky pozbyla puvodni smysl. Diky vsem dobrym dusim, ktere me informovaly (ci spamovaly? ;-) )
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
11.4.2005 21:37 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše ze by to pomohlo?
Odpovědět | Sbalit | Link | Blokovat | Admin
Prave jsem ze zvedavosti spustil skript, ktery zjisti pocet pripojeni. A uzasl jsem, kdyz jsem uvidel 101 spojeni z jedne IP adresy. Okamzite jsem se mrknul na /proc/loadavg: jen neco malo pres jednu celou! Bud je ten Seznambot mene agresivni nez Jyxobot, nebo je rozdil v tom, ze spicka je davno za nami a nebo ten fix skutecne ucinkuje! Pro zajimavost celkem ted mame 202 otevrenych spojeni.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.