Tagy

publikováno: 16.6.2013

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.

Předchozí:
Maven antrun plugin
Následující:
Redis
Reference

Š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

Certicon
David

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ů.

Jaroslav

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ů.

Retia
Jaromír


Novinky

16.1.2020: Pozor na jcenter repozitář (výchozí repozitář v Gradle)
Pozor na jcenter repozitář (výchozí repozitář v Gradle), v minulosti obsahoval falešné dependency (a stále tomu tak může být).

9.1.2020: https & repozitáře (Central, JCenter, Spring atd)
V současnosti řada repozitářů podporuje i HTTP, což se ale velice brzy (13.1 - 15.1) změní

13.12.2019: Java Microservices: A Practical Guide
Narazil jsem na velice zajímavou stránku, pod kterou bych se mohl podepsat :-) Praktický návod na Microservice architekturu.