Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
M41dostat jako vystup :
M<41>. Potrebuju oddelit prvni pismeno a cisla za nim dat do sipek. Zkousel jsem :
slovo.split("") s tim ze bych si tam pak ty sipky concatoval, ale ten split() me to na pismena nerozdeli.
Pokud bych rozdelil slovo na pole charu, tak zas asi tezko concatuju ty sipky...
Mohl by nekdo poradit pls?
Řešení dotazu:
Pokud bych rozdelil slovo na pole charu, tak zas asi tezko concatuju ty sipky...Pak to pole projdeš v cyklu a pomocí StringBuilderu postupně sestavíš nový řetězec – na některá místa přidáš ty šipky. Měl bys ale upřesnit zadání. Proč chceš šipky přidat zrovna kolem 41? Možná by se ti hodily regulární výrazy – definuješ si vzor, ten může obsahovat skupiny (části textu) a ty si pak vytáhneš a třeba obalíš šipkami.
char[] charArray = word.toCharArray();
String temp = Character.toString(charArray[0]); //getting object letter
Pattern pattern = Pattern.compile("^"+temp+"(\\d+)$"); //setting a regex pattern
Matcher matcher = pattern.matcher(word);
if(!(matcher.matches())) {
throw new CatalogIOException("wrong ID format");
}
String ID = temp.concat("<").concat(matcher.group(1)).concat(">"); //matcher.gorup(1) returns a string with the object number
Místo vymýšlení nějakého pseudojazyka s čísly v závorkách z toho udělej instance nějaké tvé třídy, kde to číslo bude uložené jako int v privátní proměnné.
s/^([a-z])([0-9]+)/$1<$2>/i;
"M41".replaceAll("([0-9]+)", "<$1>")
(a při opakovaném použití je dobré si regulární výrazy předkompilovat)
public static String updateText(String str) {
StringBuffer updatedText = new StringBuffer();
Matcher matcher = Pattern.compile("\\d+").matcher(str);
while(matcher.find()) {
String group = matcher.group();
StringBuilder replacement = new StringBuilder();
replacement.append("<").append(group).append(">");
matcher.appendReplacement(updatedText, replacement.toString());
}
matcher.appendTail(updatedText);
return updatedText.toString();
}
no to potes, takova prasarna... proc navic komentujete 100 dni stary dotaz, kde navic padlo elegantni reseni?
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
private static final String TEST_STRING = "M23";
public static void main(String[] args) {
Date d = new Date();
Pattern pattern = Pattern.compile("\\d+");
for(int i = 0; i < 10000000; i++) {
TEST_STRING.replaceAll("([0-9]+)", "<$1>");
}
System.out.println(new Date().getTime() - d.getTime());
d = new Date();
for(int i = 0; i < 10000000; i++) {
updateText(pattern, TEST_STRING);
}
System.out.println(new Date().getTime() - d.getTime());
}
public static String updateText(Pattern pattern, String str) {
StringBuffer updatedText = new StringBuffer();
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
String group = matcher.group();
StringBuilder replacement = new StringBuilder();
replacement.append("<").append(group).append(">");
matcher.appendReplacement(updatedText, replacement.toString());
}
matcher.appendTail(updatedText);
return updatedText.toString();
}
}
Tiskni
Sdílej: