V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).
Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.
Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
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).