Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Český telekomunikační úřad vydal zprávy o vývoji cen a trhu elektronických komunikací se zaměřením na rok 2024. Jaká jsou hlavní zjištění? V roce 2024 bylo v ČR v rámci služeb přístupu k internetu v pevném místě přeneseno v průměru téměř 366 GB dat na jednu aktivní přípojku měsíčně – celkově jich tak uživateli bylo přeneseno přes 18 EB (Exabyte). Nejvyužívanějším způsobem přístupu k internetu v pevném místě zůstal v roce 2024 bezdrátový
… více »Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-10-01. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Jedná o první verzi postavenou na Debianu 13 Trixie.
Byla vydána nová verze 4.6 svobodného notačního programu MuseScore Studio (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.
Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem věnovala 1,1 milionu dolarů (stejně jako loni) na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Rozdělila je mezi 29 organizací a projektů. Za 15 let rozdala 8 050 000 dolarů.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.17. Díky 278 přispěvatelům.
Bylo vydáno openSUSE Leap 16 (cs). Ve výchozím nastavení přichází s vypnutou 32bitovou (ia32) podporou. Uživatelům však poskytuje možnost ji ručně povolit a užívat si tak hraní her ve Steamu, který stále závisí na 32bitových knihovnách. Změnily se požadavky na hardware. Leap 16 nyní vyžaduje jako minimální úroveň architektury procesoru x86-64-v2, což obecně znamená procesory zakoupené v roce 2008 nebo později. Uživatelé se starším hardwarem mohou migrovat na Slowroll nebo Tumbleweed.
Ministerstvo průmyslu a obchodu (MPO) ve spolupráci s Národní rozvojovou investiční (NRI) připravuje nový investiční nástroj zaměřený na podporu špičkových technologií – DeepTech fond. Jeho cílem je posílit inovační ekosystém české ekonomiky, rozvíjet projekty s vysokou přidanou hodnotou, podpořit vznik nových technologických lídrů a postupně zařadit Českou republiku mezi země s nejvyspělejší technologickou základnou.
… více »Radicle byl vydán ve verzi 1.5.0 s kódovým jménem Hibiscus. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.
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: