Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."
Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.
Organizace Apache Software Foundation (ASF) vydala verzi 26 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.
Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.
Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.
Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.
1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.
8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.
Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.
574 - LL - hezčí stránka informující, že stránka neexistuje
Dokument se můžete pokusit najít pomocí našeho mocného fulltextového hledání.Řekl bych, že to "mocné" je poněkud odvážné tvrzení. To hledání je dost pomalé a mám pocit, že Google se site:abclinuxu.cz dává lepší výsledky (ve smyslu že najde to, co jsem hledal)
Ábíčko je moc pěkně strukturované, takže i Google dokáže hledat
jen v části, kterou zadám a je lepší mít více výsledků než, aby
ten, o který stojím, nebyl nalezen:
site:www.abclinuxu.cz/blog
site:www.abclinuxu.cz/hardware
site:www.abclinuxu.cz/software
site:www.abclinuxu.cz/faq
site:www.abclinuxu.cz/poradna
site:www.abclinuxu.cz/ucebnice
site:www.abclinuxu.cz/zpravicky
site:www.abclinuxu.cz/clanky
Nebo ještě podrobněji:
site:www.abclinuxu.cz/clanky/programovani
Samozřejmě, že jsem to nemyslel jako buzeraci Vážím si Tě a toho co děláš pro Ábíčko... Zajímala mě odpověď na to v čem je v tomto případě problém. Ostatně zdrojáky jsou k dispozici a tam se odpověď najde
Hledání je rychlé, pomalé je generování zvýrazněných částí nalezeného textu.Aha.
eclipse
je možné pracovat s CVS přímo z IDE naprosto bez problémů (checkout, commit, vytvoření branche, prohlížení historie atd.). Pro SVN existují minimálně dva pluginy do eclipse, ale každý má své mouchy. V poslední době se snad ledy hnuly a bude alespoň jeden normálně použitelný…
A pro Abíčko myslím nevýhody CVS oproti SVN nebudou moc znatelné, protože CVS pro Abíčko je důležité jednak proto, aby byly aktualizované zdrojáky brzy k dispozici a nedalo jejich zveřejnění moc práce, jednak se proti CVS daleko lépe dělají patche (třeba v eclipse
je to pár kliknutí, udělat patch proti lokální kopii originálu se mi v eclipse
nepodařilo).
Thread 10561: (state = BLOCKED) - java.util.Collections$SynchronizedMap.get(java.lang.Object) @bci=7, line=1979 (Interpreted frame) - org.dom4j.tree.QNameCache.get(java.lang.String) @bci=11, line=88 (Interpreted frame) - org.dom4j.QName.get(java.lang.String) @bci=4, line=86 (Interpreted frame) - org.dom4j.QName.get(java.lang.String, java.lang.String, java.lang.String) @bci=16, line=95 (Interpreted frame) - org.jaxen.dom4j.DocumentNavigator.getChildAxisIterator(java.lang.Object, java.lang.String, java.lang.String, java.lang.String) @bci=19, line=241 (Interpreted frame) - org.jaxen.expr.iter.IterableChildAxis.namedAccessIterator(java.lang.Object, org.jaxen.ContextSupport, java.lang.String, java.lang.String, java.lang.String) @bci=17, line=100 (Interpreted frame) - org.jaxen.expr.DefaultNameStep.evaluate(org.jaxen.Context) @bci=348, line=231 (Interpreted frame) - org.jaxen.expr.DefaultLocationPath.evaluate(org.jaxen.Context) @bci=87, line=151 (Interpreted frame) - org.jaxen.expr.DefaultAbsoluteLocationPath.evaluate(org.jaxen.Context) @bci=90, line=117 (Interpreted frame) - org.jaxen.expr.DefaultXPathExpr.asList(org.jaxen.Context) @bci=7, line=108 (Interpreted frame) - org.jaxen.BaseXPath.selectNodesForContext(org.jaxen.Context) @bci=5, line=687 (Interpreted frame) - org.jaxen.BaseXPath.selectNodes(java.lang.Object) @bci=8, line=233 (Interpreted frame) - org.jaxen.BaseXPath.selectSingleNode(java.lang.Object) @bci=2, line=252 (Interpreted frame) - org.dom4j.xpath.DefaultXPath.selectSingleNode(java.lang.Object) @bci=10, line=159 (Interpreted frame) - org.dom4j.tree.AbstractNode.selectSingleNode(java.lang.String) @bci=8, line=185 (Interpreted frame)Zkusim se poptat v DOM4J komunite nebo nastudovat zdrojaky. Mozna zkusim pouzit whirlycache mapu na synchronizaci.
org.dom4j.util.PerThreadSingleton
místo org.dom4j.util.SimpleSingleton
. Sice se nebudou cache používat napříč thready, takže bude o něco větší spotřeba paměti i bude nutné některé objekty znovu vytvářet, ale to asi bude pořád lepší, než vzájemné zdržování vláken. Mělo by fungovat nastavit systémovou vlastnost org.dom4j.QName.singleton.strategy=org.dom4j.util.PerThreadSingleton
.
Další řešení (spíš hack) by bylo oddědit z org.dom4j.util.SimpleSingleton
vlastní SingletonStrategy
, který bude natvrdo pro třídu org.dom4j.tree.QNameCache
vracet jejího potomka, který by byl postaven na jiné cache (přímo určit, která implementace cache se použije nejde, ve zdrojáku je natvrdo singleton.setSingletonClassName(QNameCache.class.getName())
).
Nejčistší řešení je upravit dom4j tak, aby bylo možné přes systémovou vlastnost určit třídu místo defaultní QNameCache, a QNameCache přepsat s využitím nové ConcurrentHashMap
z Javy 5. S protlačením takové změny do dom4j 1.7 asi problém nebude, protože 1.7 už má být pouze pro Javu 5, ale ofifiální verze 1.7 asi jen tak brzy nebude.
Tiskni
Sdílej: