Portál AbcLinuxu, 3. května 2025 00:23
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).
Tiskni
Sdílej:
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štinyPokud jste cetli puvodni clanky na tema architektury abicka a umite programovat, tak by melo byt vse jasne
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.