Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).
Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.
Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.
BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.
Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.
Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.
Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.
Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.
Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po
… více »Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.
Pro účely tohoto článku byl vytvořen ilustrační miniprojekt, kterého účelem je vytvořit dva provázané fiktivní produkty:
Uvedené aplikace se omezí pouze na to, že vypíší parametry připojení. Pro zjednodušení jim budeme dále zkráceně říkat klient a server.
Kompletní kompilovatelný projekt si můžete stáhnout zde. Autor jej vytvořil s přesvědčením, že může být pro vás inspirací pro vaše projekty. Pokud jej vylepšíte, bude vděčný za vaše připomínky a návrhy.
Struktura projektu je znázorněna na následujícím obrázku:

V hlavním adresáři se nacházejí tři soubory. Soubor
build.xml obsahuje hlavní antovský skript, kterého
jediným účelem je inkrementovat číslo buildu nacházející
se v souboru build.number a spouštět Antovské
skripty pro klienta a server, umístěné v příslušných podadresářích
src/client a src/server.
Soubor build.properties obsahuje pouze odkaz na příslušný
konfigurační profil definovaný v podadresáři conf:
# Soubor nastaveni pro build file je ulozen v prislusnem konfiguracnim
|

Konfigurační profil dmi.properties používá vývojář
dmi na svém počítači, který se jmenuje dmi.
Kromě definice některých proměnných dále větví konfigurační profil
pomocí odkazů na soubory v podadresářích jdbc a
jndi. Tzn. nenastavuje zbytečně mnoho proměnných, které by
se v každém profilu opakovaly, ale obsahuje přepínač na konkrétní sadu
nastavení, v tomto případě typ jdbc driveru a typ aplikačního serveru.
Adresář src obsahuje dva izolované podprojekty.
Následující obrázek ukazuje strukturu podprojektu klienta:

Podadresář build obsahuje soubory vznikající během buildu,
tedy zkompilované soubory a výsledný zabalený produkt
(package), včetně knihoven.
Adresář java obsahuje zdrojové
kódy tříd projektu, lib knihovny nezbytné pro kompilaci a
spuštění (skript by je měl nakopírovat do package).
Adresář rsrc obsahuje další soubory (resources), které aplikace potřebuje za běhu. Tyto soubory jsou rozděleny do dvou skupin.
Soubory v adresáři etc se přibalí k výslednému jar
souboru, takže jsou dostupné v classpath za běhu aplikace.
Soubory v adresáři main se nakopírují do hlavního adresáře
produktu - typicky se jedná o spouštěcí dávky.
Zajímavé na souborech v adresáři rsrc je, že obsahují
odkazy na proměnné definované v konfiguračním profilu. Např.
spouštěcí dávka run.sh je napsána velmi obecně. Zvlášť
zajímavé je předání hodnot client.property1
a client.property2, které jsou pak aplikaci k dispozici
pomocí volání System.getProperty("client.property1");
a System.getProperty("client.property2");:
#/bin/sh
|
Výhoda substituce parametrů rsrc souborů pomocí konfiguračních profilů
se stane zřejmá, když potřebujeme stejný parametr použít na více místech.
Jelikož klient by měl být alternativě spustitelný také pomocí
jnlp souboru, přijde vhod možnost předat klientovi stejné
parametry také pomocí jnlp spouštěče:
<?xml version="1.0" encoding="UTF-8" ?>
|
Teorie bylo už dost, podívejme se na výstup klientské aplikace pro jednotlivé konfigurační profily:
Profil dmi:
01 Ant Demo, build 6
|
Profil prof2:
01 Ant Demo, build 6
|
Ve dvou výše uvedených výstupech vidíme následující rozdíly:
Serverová aplikace je strukturována téměř identickým způsobem jako
klient. Rozdíl je pouze ve struktuře adresáře package,
který zahrnuje podadresáře lib a etc.
Narozdíl od klienta není obsah adresáře rsrc/etc
přibalován přímo do výsledného jar souboru,
ale ponechán jako adresář, který je přidán do classpath
ve spouštěcí dávce. Díky tomu lze měnit konfiguraci nainstalovaného
produktu bez nutnosti rebuildu (hesla, nastavení logu apod.).
Ant poskytuje vše, co je třeba pro robustní strukturu projektu. Klíčovým prvkem je možnost nastavovat proměnné a při kopírování provádět substituci ve zdrojových souborech. Tímto jsme však nahlédli pouze do jedné z mnoha kapitol podpory projektu, kterou Ant přináší. Pro Ant existuje celá řada užitečných tasků, ať již integrovaných nebo třetích stran - generátorů kódu (XDoclet), formáterů zdrojových kódů, kontrol kvality zdrojového kódu, podpory pro unit testing apod.
Pokud jste ještě Ant nikdy nepoužili, vyzkoušejte jej - a uvidíte, že si pak bez něj nebudete dokázat představit svůj programátorský život. Je velmi dobře zdokumentovaný, obsahuje jak úvod typu "snadno a rychle", tak solidní referenční příručku.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: