Hlavní navigace

Trpaslíkův blog

  • Proč mám rád velblouda

    Používám Apache Camel v různých projektech již více jak deset let a jsem jeho velkým příznivcem. Samotní tvůrci jej označují jako univerzální integrační platformu, ale z vlastní zkušenosti můžu říct, že pole jeho využití je širší. Jeho funkcionalita zahrnující stovky komponent a datových formátů je velice široká. Vždy záleží na vašich potřebách, co z toho reálně použijete.
    18. 1. 2022 0:00
  • Události v aplikaci - IV

    Tento článek navazuje na předchozí příspěvek Události v aplikaci – III. Reakce na události Spring frameworku Třída: ApplicationEventListener Profil: listener-application Aplikační události nemusí vytvářet pouze vaše aplikace. Stejně tak dělá Spring framework sám o svém běhu. Jejich přehled najdete v dokumentaci pod kapitolou Application Events and Listeners.
    11. 1. 2022 0:00
  • Události v aplikaci - III

    Tento článek navazuje na předchozí příspěvek Události v aplikaci – II. Auditní záznam do SQL databáze Třída: JPAEventListener Profil: listener-jpa V této kapitole se podívám na řešení, na které jsem se odkazoval již v úvodu této série článků, a sice na auditní záznamy o běhu aplikace.
    4. 1. 2022 0:00
  • Události v aplikaci - II

    Tento článek navazuje na předchozí příspěvek Události v aplikaci – I. Události Pokud jste někdy přišli do styku s komunikací přes message broker s využitím vzoru publish-subscribe, pak vám systém aplikačních událostí ve Spring bude jistě hodně blízký. V podstatě úlohu message brokeru v tomto případě plní Spring kontext.
    28. 12. 2021 0:00
  • Události v aplikaci - I

    V jednom z dřívějších článků zabývajících se službami v distribuovaných systémech jsem se přiznal, že jsem silným zastáncem auditních záznamů o běhu aplikací. Auditními záznamy v tomto smyslu rozumím informace o událostech, které se staly při běhu aplikace. Takovými záznamy mohu sledovat běžný provoz aplikace ale také anomálie, které při provozu nastaly.
    21. 12. 2021 0:00
  • Futoshiki - geneticky

    Jako poslední pokus vyřešit logickou hru Futoshiki jsem zkusil použít genetické algoritmy. Ty by měly umožňovat řešit optimalizační úlohy, takže třeba zaberou i v tomto případě. Pokud vás zajímá pouze výsledek mého snažení, tak musím dopředu avizovat, že jsem se k nějakým dobrým výsledkům nedopracoval. Jednotlivá řešení konvergovala, ale obtížně jsem se dostával k řešení, které by bylo úplně bez chyb.
    19. 11. 2021 0:00
  • Futoshiki - constraint programming

    V předchozím příspěvku jsem se pokusil naprogramovat řešení hry Futoshiki s využitím backtracking. To bylo to první, co mne napadlo. Nicméně jsem se dále pokusil vyzkoušet i jiné přístupy, které by mohly vést k vyřešení takové hry. Jako alternativní způsob jsem vyzkoušel tzv. Constraint Programming. No, ono to zase až takové programování není. Podstatou je vytvoření nějakého modelu, na který se pak pošle solver. A ten by mně měl najít nějaké nebo všechna řešení, která vyhovují zadanému modelu.
    12. 11. 2021 0:00
  • Futoshiki - klasicky

    Po delší době jsem se opět dostal k řešení nějaké hry. Vybral jsem si japonskou logickou hru Futoshiki. Jedná se o relativně mladou hru vymyšlenou na začátku tohoto století s jednoduchými pravidly. Hraje se na čtvercové desce obvykle s rozměry 5×5 nebo 7×7 políček. Pravidla by se dala shrnou asi následovně…
    5. 11. 2021 0:00
  • Nezávazné bádání nad časovou náročností programu - II

    Tímto článkem bych rád navázal na své předchozí nezávazné bádání nad komplexností programů. V něm jsem se nejříve pokusil odhadnout, jaké funkci by mohla časová závislost programu odpovídat. Následně pak pro tuto funkci spočítat její parametry. No a ty pak můžu použít pro odhad toho, jak by se můj program mohl chovat v produkčním prostředí.
    21. 2. 2021 0:00
  • Nezávazné bádání nad časovou náročností programu - I

    Počátečním impulzem pro následující nezávazné pojednání byla hra BENDER – Episode 3. Podstatou úkolu bylo zjištění z naměřených dat, jaké asi komplexnosti je program v závislosti na velikosti testovacích vzorků dat. Zadání úkolu je dosti návodné, takže vás nebudu obtěžovat popisem svého řešení. Jistě vymyslíte vlastní řešení, pokud vás to bude zajímat.
    18. 2. 2021 0:00