Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).
Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.
Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.
Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.
Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.
Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapy a AI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.
Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).
Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Protože mi moc nevyhovuje systém, kterým Java vytváří GUI, tak jsem se poohlížel po něčem použitelnějším. Narazil jsem na Qt jambi.
Svým způsobem tento framework věrně kopíruje Qt pro C++. V podstatě je to jen Java binding na nativni Qt knihovny. To má své výhody, ale i nevýhody. Mezi asi nejviditelnější výhody patří rychlost zobrazování. Druhou - méně důležitou - byl fakt, že jsem už dělal takovou minisemestralku (OpenGL pod linuxem), kde se Qt použilo jen jako framework pro implementaci GUI. Takže už jsem měl mírnou představu o tom, jak Qt vlastně funguje.
Ovšem nevýhoda je minimálně v tom, že to nemáte šanci debugovat v Javě. Co víc. Nevidíte ani strukturu objektů, protože všechno je schováno za JNI. S tím trochu souvisí i dokumentace. Ano, javadoc existuje, ale je to na dost místech pouze přepis C++ dokumentace. Což znamená, že jsou v něm sice použité C++ konstrukty, ale zároveň si udržuje hodně vysokou úroveň (kéž by se tohle dalo říct o mých javadoc-ech :) ).
Z minulosti mám trochu zkušenosti pouze s programováním J2EE aplikací. Oblast desktopu pro mne byla neznámá. V případě aplikace typu tlustý klient to s sebou přináší i odlišný způsob práce. Zatímco u J2EE máte (můžete mít) přehled o celém systému, přihlášených uživatelích, apod., v případě desktopové aplikace je to trochu omezené. Víte pouze to, co dělá jeden konkrétní uživatel. Příbývá tedy problém konzistence dat ( v dost případech toto lze řešit Ostrichovým algoritmem a bude to ve většině případů i fungovat :).
Vynechám klasické příklady na "hello world!" a přejdu rovnou k problémům a jejich řešení. To je totiž první věc, se kterou se musí začátečník poprat.
Když se píše aplikačka pracující s databází, tak je potřeba se k ní umět připojit. QT jambi k tomuto účelu nabízí vlastní systém tříd, které zastřešují práci s DB. Protože je ale Jambi jen Java binding na C++ knihovnu QT, zpočátku se využívaly i ovladače pro QT knihovnu. A tady je potíž v tom, že s opensource distribucí přichází pouze ovladač pro sqlite. Podporu ostatních je potřeba si zkompilovat vůdči vlastní verzi konkrétní databáze. Vezmu konkrétní případ, kdy jsem musel tvořit ovladač pro MySQL. Po nainstalování MySQL serveru jsou k dispozici i .lib verze dll knihovny libmysql.dll, která je potřeba pro připojení. A nastává druhý problém, kdy OS verze QT Jambi je kompilována pomocí mingw32-gcc. A kompilátor gcc používá trochu jiný formát statických knihoven, takže není možné přímo použít ty dodané s MySQL serverem. Takže je potřeba sehnat pár utilitek a provést konverzi a přípravu podle následujícího návodu. A je to celkem drbačka.
Každopádně QT Jambi je o tom, že se program píše v Jave. A Java má vlastní rozhraní pro databázi - JDBC. Takže proč se párat s kompilováním ovladače, když je možné použít QJDBC! Ovšem to je potřeba stahovat pouze pro verze před 4.4, která QJDBC bridge již obsahuje.
V dalších "dílech" to zkusím restartovat a napíšu něco o zprovoznění IDE Eclipse s podporou grafického návrhu widgetů. A poté - když bude čas i chuť - se vrhnu na různé dílčí trable a jejich řešení...
Tiskni
Sdílej: