Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.
Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.
Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.
Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.
Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.
Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.
Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.
VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.
Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »
<?//------------------------------------------------------------------------------------------------------------------
$menu = array
(
array(1,0),
array(2,1),
array(3,1),
array(4,3),
array(5,3),
array(6,5),
array(7,1),
array(8,1),
array(9,8),
array(10,9),
array(11,1),
array(12,11),
array(13,12),
array(14,1),
array(15,14),
array(16,14),
array(17,16),
array(18,14),
array(19,18),
array(20,19),
array(21,20),
array(22,21),
array(23,1)
);
##===========================================
$nodes = array();
foreach ($menu as $n) {
if (!array_key_exists($n[1], $nodes)) {
$nodes[$n[1]] = array();
}
array_push($nodes[$n[1]],$n[0]);
}
function dict_value($nodes,$hledana){ # vrati parrenta hledane hodnoty 22 -> 21, atd.
$keys = (array_keys($nodes));
#$values = (array_values($nodes));
$a = array();
$pocitadlo = 0;
foreach ($keys as $key) {
foreach ($nodes[$key] as $k) {
if ($hledana == $k) {
#var_dump($key);
return $key;
}
}
}
}
#=========================================== rekurzivni vyhledani cesty
function cesta($nodes,$hledany_klic,$a=array()) {
$lastval = dict_value($nodes,$hledany_klic);
var_dump($lastval);
echo "<br>";
array_push($a,$lastval);
var_dump($a); # TADY JE: array(7) { [0]=> int(21) [1]=> int(20) [2]=> int(19) [3]=> int(18) [4]=> int(14) [5]=> int(1) [6]=> int(0) }
echo "<br>";
if ($lastval != 0) {
cesta($nodes,$lastval,$a);
}
return $a;
}
$hledany_klic = 22;
$walk = array();
$walk = cesta($nodes,$hledany_klic);
echo "<br>";
var_dump($walk); # TADY SE VRATI: array(1) { [0]=> int(21) }
# OCEKAVAL BYCH: array(7) { [0]=> int(21) [1]=> int(20) [2]=> int(19) [3]=> int(18) [4]=> int(14) [5]=> int(1) [6]=> int(0) }
?>
Řešení dotazu:
import pdb
pdb.set_trace()
Popř. pokud máš instalovanej balíček ipython (daleko lepší debugger), tak
def debug(frame, frames_back):
if IPython.__version__ >= '0.11':
from IPython.core.debugger import Pdb
try:
ip = get_ipython()
except NameError:
from IPython.frontend.terminal.embed \
import InteractiveShellEmbed
ip = InteractiveShellEmbed()
colors = ip.colors
else:
from IPython.Debugger import Pdb
from IPython.Shell import IPShell
from IPython import ipapi
ip = ipapi.get()
if ip is None:
IPShell(argv=[''])
ip = ipapi.get()
colors = ip.options.colors
sys.excepthook = old_excepthook
if frame is None:
frame = sys._getframe(frames_back)
Pdb(colors).set_trace(frame)
debug()
Ta druhá fce je složitá (výňatek z kódu Sfepy http://sfepy.org/doc-devel/index.html), protože řeší různý verze,
IPythonu nicméně doporučuju si nějakou takovoudle funkci napsat/zkopčit a pak používat kde jen to jde...
Tiskni
Sdílej: