Na mých webech Java a SQL školení jsem ke každé novince chtěl přidal tagy. Jenže v databázi mám v tabulce NEWS sloupec KEYWORDS, kde jsou tyto tagy uložené jednoduše jako text oddělený čárkami. Doposud mi to bohatě stačilo, ale v případě, kdy je zapotřebí zobrazovat tag cloud (čili nejčastější tagy), nebo při kliknutí na nějaký tag zobrazit seznam novinek, které příslušný tag obsahují, by stávající řešení bylo nevyhovující.
Měl jsem několik možností jak tento problém vyřešit. Jednou z nich je vytvořit tabulku TAG a udělat m:n vztah mezi tabulkou NEWS a TAG. To by vyřešilo problém se zobrazením seznamu novinek, které obsahují příslušný tag. Ale stále by mi to nevyřešilo problém s tag cloudem. K tomu bych musel udělat další tabulku, kterou bych v nějakém časovém intervalu buď aktualizoval, nebo bych její obsah smazal a vygeneroval bych celý tag cloud najednou.
Navíc nemám sebemenší ponětí co dalšího budu s tagy provádět. Každopádně relační databáze se pro mě začala stávat brzdou. Ještě že jsem si vzpomněl na NoSQL databáze, což je vznikající množina databází (osobně bych je definoval spíše jako pokročilé datové struktury), které jsou úzce specializované na nějakou konkrétní činnost.
Pro implementaci tagů jsem použil Redis, což je key-value databáze, o které napíšu více v následující novince.
Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek
Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.
Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.