Společnost Backblaze zveřejnila statistiky spolehlivosti pevných disků používaných ve svých datových centrech za rok 2025. Ke konci roku 2025 vlastnila 349 462 pevných disků. Průměrná AFR (Annualized Failure Rate), tj. pravděpodobnost, že disk během roku selže, byla 1,36 %. V roce 2024 to bylo 1,57 %. V roce 2023 to bylo 1,70 %. V roce 2022 to bylo 1,37 %.
Nástroj sql-tap je proxy mezi aplikací a databází, které zachytává všechny SQL dotazy a zobrazuje je v terminálovém rozhraní. Zde lze téměř v reálném čase zkoumat dotazy, sledovat transakce a spouštět SQL příkaz EXPLAIN. Podporované databázové systémy jsou pouze PostgreSQL a MySQL. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.
Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře dětí v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Dobrý den,
potřeboval bych poradit s následujícím problémem.
Mám vstup:
<msg type="abc/>
<msg type="bcd">
<msg type="abcd">
Rád bych provedl nějakou akci, pro všechny entity jejichž atribut type odpovídá
nějaké masce (např "ab*")
V XSLT 2.0 se to nejspíš dělá pomocí matches:
<xsl:if test="matches(jmeno,'ab*')">Vystup</xsl:if>
Můj program však používá xslt procesor, který umí pouze XSLT 1.0 (libxslt).
Je nějaká možnost jak to provést v XSLT 1.0
Děkuji
Ahoj,
já bych být tebou nějak nakombinoval funkce z XSLT 1.0. Takže například starts-with(), contains() a tak podobně.
Já osobně libxslt nepoužívám, ale používám Javí implementaci XSLT 1.0. V příloze máš test case pro xmlUtilities. Když ty soubory nahraješ do balíku testů, global.sandbox.xmlutilities, tak si s tím můžeš pohrát.
Můj zdrojový XML je
<?xml version="1.0" encoding="UTF-8"?>
<root>
<msg type="abc">abc</msg>
<msg type="bcd">bcd</msg>
<msg type="abcd">abcd</msg>
</root>
Můj XSLT je
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<xsl:element name="result-root">
<xsl:apply-templates />
</xsl:element>
</xsl:template>
<xsl:template match="//msg">
<xsl:if test="starts-with(@type, 'ab') and contains(@type, 'bc')">
<xsl:element name="result-element">
<xsl:value-of select="." />
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Výstup je
<?xml version="1.0" encoding="UTF-8"?>
<result-root>
<result-element>abc</result-element>
<result-element>abcd</result-element>
</result-root>
Tak dej vědět, jak jsi pokročil. Jo — a kdyžtak postni nějaký příklad, se kterým si můžu pohrát; takhle na sucho se dost těžko něco vymejšlí.
xsltproc.s libxslt je (asi zalezi podla distribucie, moze byt oddelene) programcek xsltproc.
Jo, to je pravda. Ale nejsem s tím moc kamarád. Přecijen v Javě jsem na to lépe…
osobne mi napr sakra problem robilo pouzivat xalan a saxon zaroven, podla poradia jarov v classpath fungoval bude jeden alebo druhy ...
No, jsou dva způsoby, jak v tom udělat pořádek:
javax.xml.transformer.TransformerFactory) a vše dát opět do endorsed adresáře. Když nemůžeme použít endorsed adresář, pak musíme správně napsat svůj vlastní class loader a dát si sakra pozor na různé Javí implementace (to, co funguje pod Sun JVM, nemusí fungovat pod IBM JVM a tak podobně). A nebojavax.xml.transformer.TransformerFactory a používat rovnou konkrétní implementace, ale to znamená důkladnou znalost jejich vnitřností.Předem děkuji všem za odpověď.
Program je napsán v C++ (je použita knihovna libxslt z gnome, nedošlo mi, že její jméno se asi kryje i s nějakou knihovnou používanou v javě). Volání xsltproc se mi moc nehodí (transformace je volána i několikrát za sekundu), ale když bude nejhůř, tak bych jej asi použil.
Vaše odpovědi chápu tak, že asi jednoduchý problém jak vyřešit moji transformaci v XSLT 1.0 neí, existuje tedy nějaká C/C++ knihovna podporující XSLT 2.0? Nejlépe taková aby pro ni existoval i port pro OpenWRT.
Předem dík za jakékoli nakopnutí správným směrem
Program je napsán v C++ (je použita knihovna libxslt z gnome, nedošlo mi, že její jméno se asi kryje i s nějakou knihovnou používanou v javě).
Nekryje. Akorát tyhle věci jsem zvyklej dělat v Javě a mám na to pár projektů, takže napsat příklad a odladit ho je otázka chvilky. Navíc vím, jako část standardu který Xalan implementuje a jakou ne. A když už jsme u toho Xalanu, tak se dělá i pro C++, ale nevím, v jakém je stavu — nikdy jsem si s tím nehrál.
Předem dík za jakékoli nakopnutí správným směrem
Jak jsem psal dole: zkusil bych to EXSLT.
Moc dík, za vyčerpávající odpověď...zkusím si vystačit s start_with(i když regex je regex
), popř zkusím najít jinou knihovnu, která xslt 2.0 implementuje (viz můj druhý příspěvek v tomto threadu)
Můžeš si zkusit tu funkci matches() naimplementovat sám.
Ale možná bude stačit přepnout do EXSLT. V tomto rozšíření jsou regulární výrazy k dispozici.
…protože funkce matches() je až v XPath 2.0 a Xalan i libxslt implementují jen XPath 1.0.
Proto mě napadlo to EXSLT, které to řeší funkcí, která se akorát jinak jmenuje — a podle webu to vypadá, že libxslt nám EXSLT podporuje (libexslt).
Díky,EXSLT vypadá slibně, vyzkouším a dám vědět, jak to dopadlo
matches() tam libxslt chybi.
Pokud ovsem ty informace nemaji zastarale. Coz je pak problem tvurcu enginu, ze o tom nedaji vedet.
Jo, už to chápu, o co jde.
No, pakliže lib(e)xslt nic takového nepodporuje, není nic jednoduššího, než si napsat své vlastní rozšíření.
Ale jak se takové věci píší pro lib(e)xslt — to neumím a netuším. Já dělal rozšíření jen pro Xalan-J. 
function-available a/alebo element-available, imho jedina spolahliva cesta, ako o xslt procesore nieco zistit.
Zeptám se filozoficky: Víš, jaký XSLT transformátor v produkci máš; a přesto bys prováděl tyto kontroly?
Když ti admin pod rukama vymění knihovnu, tak se o tom oba dovíte z logu, ne? 
Zeptám se filozoficky: Víš, jaký XSLT transformátor v produkci máš; a přesto bys prováděl tyto kontroly?Jestli jde z XSL transformace vyhodit výjimka, tak jo
Určitě z toho něco vymáčknout půjde: 
init:
deps-jar:
compile:
Copying 1 file to /Users/petr/NetBeansProjects/xmlutilities/build/test/classes
compile-test-single:
Testsuite: global.sandbox.xmlutilities.XSLTTest1
Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; Nelze nalézt funkci: matches
Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; nebyl nalezen token funkce.
(Chyba se vyskytla na neznámém místě)java.lang.NullPointerException
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0,88 sec
------------- Standard Error -----------------
Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; Nelze nalézt funkci: matches
Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; nebyl nalezen token funkce.
(Chyba se vyskytla na neznámém místě)java.lang.NullPointerException
------------- ---------------- ---------------
Testcase: testTransformation(global.sandbox.xmlutilities.XSLTTest1): Caused an ERROR
null
java.lang.NullPointerException
at global.sandbox.xmlutilities.XMLUtilities.transformToString(XMLUtilities.java:602)
at global.sandbox.xmlutilities.XMLUtilities.transformToString(XMLUtilities.java:694)
at global.sandbox.xmlutilities.XSLTTest1.testTransformation(XSLTTest1.java:44)
Test global.sandbox.xmlutilities.XSLTTest1 FAILED
/Users/petr/NetBeansProjects/xmlutilities/nbproject/build-impl.xml:566: Some tests failed; see details above.
BUILD FAILED (total time: 2 seconds)
ty si nikdy nerobil prenosne aplikacie? a pritom su toho manualy javy plne ... 
a naco je to dobre? no napr na to, aby si v pripade pritomnosti rozsirenia pouzil rozsirenie (10ms/call), inak pouzijes pomalsiu vlastnu sablonu (100ms/call). A transformacia pobezi vzdy, hoci s rozdielnym vykonom.
no, vlastne neviemty si nikdy nerobil prenosne aplikacie? a pritom su toho manualy javy plne ...
Vždy dělám aplikace přenosné. Ale klíčem k mému úspěchu je přenositelnost na platformy (typ OS), né na knihovny. Proč? Proč se vázat na konkrétní implementaci?
Pro cílové uživatele z toho plynou tyto výhody:
Problém je ten, že já tvořím cílové aplikace; né Spring Framework a jeho konektory na další Strutsy přes JMS do JDBC, nebo Hibernate přes JMX
a já nevím co ještě — jo JNDI a OSGI. 
Takže z mého pohledu jsou tyto kontroly jen výkonnostní brzdou. :-/
Ale to jsme už zaběhli do tématu filozofického přístupu k vývoji software a o tom tato diskuze není. A konec konců — borec bude také jen stuck with C++
A když už jsme u toho cé plus plus, tak jedna fakt podařená, která se sem teď hodí 
Tiskni
Sdílej: