Hlavní navigace

Blogy

  • Napsal jsem si databázi v C++

    Možná někoho napadne, co je to za bláznivý nápad, proč by si někdo psal novou databázi. Není to zbytečná práce? Proč nesáhnout po něčem existujícím? Databází máme přehršel. Na druhou stranu, proč ne. Uplatnění si určitě najde Co je DocDB[1] Nejprve bych trochu poupravil clickbaitový titulek.  Určitě se nejedná o „standalone“ databázi, ale o knihovnu pro C++, kdy je databáze integrální součástí C++ projektu – tedy přímo realizovaná ve výsledném programu, nikoliv tedy jako externí server…
    16. 7. 2023 20:58 (aktualizováno)
  • ORM v Jet - vytváření dotazů a efektivní nahrávání dat

    V minulém díle jsem nastínil mechanismus modelování a propojení entit a subentit do celistvých datových modelů. Dnes se podíváme na něco řekl bych možná i zajímavějšího. Ukážu vám jak je možné propojovat cizí entity pomocí tzv. vnějších relací. Dalším tématem bude vytváření dotazů ( obecných podmínek WHERE a HAVING) a dnes stihnu alespoň stručně ukázat i různé mechanismy nahrávání dat a jejich použití.
    29. 6. 2023 21:35
  • Vlastní ONT v GPON síti PODA

    PODA jako jeden z mála českých ISP umožňuje na GPON síti použití vlastního ONT. Kromě toho, že to umožňuje využít SFP modul a zbavit se tak samostatné krabičky, která z optiky dělá ethernet, to navíc zjednodušuje použití IPv6, a pokud máte veřejnou IPv4, získáte tím jednu využitelnou veřejnou adresu navíc.
    25. 12. 2023 19:42 (aktualizováno)
  • Proč se instalační CD Debian netinst zvětšilo o 350 MB?

    Netinst bylo vždycky malé plnohodnotné instalační médium Debianu se základními balíčky. V čerstvé verzi Debian 12 Bookworm ale docela dramaticky narostlo. Rozhodl jsem se podívat, proč to tak je. Debian 12 Bookworm vyšel 10. června a jako už tradičně jsem o těch nejdůležitějších novinkách napsal podrobný článek. Hned první komentář naráží na výrazný nárůst velikosti instalačního média zvaného netinst…
    21. 6. 2023 10:30 (aktualizováno)
  • C++: Mapování hodnot z runtime na integrální konstanty

    Dneska to bude relativně krátké. S každou další verzí C++ lze víc a víc algoritmů přesunout do constexpr „domény“, ve které se výpočty provádí během překladu a v runtime se již používají výsledky toho výpočtu. Často ale vstupem do takového výpočtu je hodnota získaná až v runtime. Proč to potřebujeme?
    5. 6. 2023 8:28 (aktualizováno)
  • ORM v PHP Jet

    Dnešním článek začíná malá série ve které představím ORM, které je integrované ve framworku Jet. Ještě než se pustím do ORM, tak se musím k něčemu přiznat. Vím, že to tu čtou lidé co mě znají osobně a někdy i velice dlouho. Před mnoha lety jsem byl alergický jen na slovo ORM 😀 Nechtě jsem o tom ani slyšet … 
    2. 6. 2023 6:49
  • Automatické testování příkladů v dokumentaci pomocí JUnit 5 a JShell

    Dokumentace na stránkách evitaDB se stále rozšiřuje. Čím více příkladů přidáváme, tím více se obáváme, že budou zastaralé nebo nefunkční. Jak zkrotit tuto bestii čítající stovky příkladů? Protože je evitaDB postavena na platformě Java, sdílí všechny její výhody i nevýhody. Java je staticky typovaný a kompilovaný jazyk. Než můžete spustit kus kódu, musíte jej zkompilovat a načíst do zavaděče tříd…
    23. 5. 2023 8:40 (aktualizováno)
  • Mezinárodní web s distribucí obsahu snadno a rychle

    Jedno zajímavé video od kolegů mi poskytlo dobrý námět na článek a další porovnání jak se co dá dělat v PHP Jet. Ono video je zde: https://www.youtube.com/wat­ch?v=fWAbMmr4g2c Zatím jsem tu předváděl různá hejbláktka, administrace a psal o věcech vesměs dynamických. Co se takhle vrátit ke staré dobré poctivé webařině, vlastně (téměř) statickému webu , ovšem také velice zajímavému projektu.
    18. 5. 2023 17:30
  • Přes příkazy ovládané RGB svítící logo - díl I.

    Dokáži se učit novým věcem pokud je mohu ihned zkoušet. Proto jsem si stanovil tento případ: „Svíticí logo, které se dá ovládat přes příkazy v chatu při online streamování na platformě twitch.tv.“ Narazil jsem na streamera pod přezdívkou Apendyks, kterému jsem nabídl, že mu zcela zdarma (zaplatil si pouze poštovné ;) vytvořím logo, které budou moci jeho fanoušci ovládat přes chat pomocí příkazů.
    8. 5. 2023 10:52 (aktualizováno)
  • DI? Rozhodně ano! DI framework? Děkuji, nepotřebuji

    Dnes je ještě jednou vrátím k tématu DI a vysvětlím proč Jet není to čemu se říká DI framework i když by bez základního DI princip nefungoval. Tak pro začátek … Na tomto se určitě shodneme: Určitě se bez debat shodneme na tom, že psát aplikace třeba takto: /---pre class SomeController extends SomeAbstractController { public function someAction() : void { //… $logger = new Logger(); $logger->log( ‘událost’, $data ); //… } } \---
    5. 5. 2023 7:17