Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.
V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.
Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.
Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.
Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).
Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.
Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Zájemci si mohou přečíst o nové funkci vzdělávací hry LeliMath na blogu, zde zkusím sdílet kousky zdrojových kódů. S Androidem začínám a tak nevím, zda jsou to základy, které jsou každému jasné, ale doufám, že někomu pomohou.
Jako každý Android vývojář jsem začínal s logcatem. Log.d() byl můj kamarád. Jako problém se ale ukázalo, jak uchovávat starší logy, abych mohl analyzovat selhání. A to nejen u sebe, ale hlavně u uživatelů. Bez logů jste slepí a chyby se hledají mizerně. Po delším hledání jsem zvolil logback pro Android. Jedná se o minimalistický port známé knihovny, se kterou sdílí API i konfiguraci. Mě hlavně přitáhla možnost souběžného směrování logů jak do souboru, tak do logcatu, takže logy vidím v reálném čase v Android Studiu.
Integraci do projektu začněte v graddle skriptu vaší aplikace:
compile('com.github.tony19:logback-android-classic:1.1.1-4') {
exclude module: 'android'
}
compile('com.github.tony19:logback-android-core:1.1.1-4') {
exclude module: 'android'
}
compile 'org.slf4j:slf4j-api:1.7.7'
Musel jsem v manifestu přidat právo šahat na souborový systém.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Docela dlouho jsem se trápil s tím, kam se mají logy ukládat. Nechtěl jsem aplikaci nakonfigurovat na míru svého mobilu a riskovat, že začne padat u klientů. Proto jsem nakonec zavrhnul XML konfiguraci a napsal ji v kódu.
private void configureLogbackDirectly() {
// reset the default context (which may already have been initialized) since we want to reconfigure it
LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory();
lc.reset();
// setup FileAppender
PatternLayoutEncoder encoder1 = new PatternLayoutEncoder();
encoder1.setContext(lc);
encoder1.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n");
encoder1.start();
FileAppender<ILoggingEvent> fileAppender = new FileAppender<>();
fileAppender.setContext(lc);
fileAppender.setFile(new File(getExternalFilesDir(null), "app.log").getAbsolutePath());
fileAppender.setEncoder(encoder1);
fileAppender.start();
// setup LogcatAppender
PatternLayoutEncoder encoder2 = new PatternLayoutEncoder();
encoder2.setContext(lc);
encoder2.setPattern("%msg%n");
encoder2.start();
LogcatAppender logcatAppender = new LogcatAppender();
logcatAppender.setContext(lc);
logcatAppender.setEncoder(encoder2);
logcatAppender.start();
ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.addAppender(fileAppender);
root.addAppender(logcatAppender);
}
Použití v javě je klasické:
private static final Logger log = LoggerFactory.getLogger(CalcActivity.class);
log.debug("onCreate()");
Má smysl psát podobné příspěvky?
Hledám bug tracking software - jaké máte zkušenosti s Redmine?
Tiskni
Sdílej:
U nás vo firme používané redmine. Dá sa pomerne ľahko nainštalovať, údržba je jednoduchá, poskytuje funkcie, ktoré od Bug trackeru potrebujeme.
Na tlačidlo resolve existuje plugin. Komentáre cez tlačidlo upraviť hore a pole poznámky dole.
Keď už všetky služby nízkej kvality na jednom mieste prečo nie gitlab? Dá sa objednať ako komerčná služba rovnako ako github a v prípade potreby je možné hostovať si ho aj sám (nastavenie je úplná pohoda).