Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
Společnost OpenAI oznámila [𝕏], že ukončí aplikaci Sora pro generování krátkých videí pomocí umělé inteligence. Podrobné informace a harmonogram pro aplikaci a API budou brzy zveřejněny.
Evropská směrnice NIS2 přináší nové požadavky v oblasti kybernetické bezpečnosti, které se promítají také do správy doménových jmen. Do českého právního řádu je směrnice implementována prostřednictvím nového zákona o kybernetické bezpečnosti. Jedním z praktických důsledků této legislativní změny je posílení požadavků na dostupnost a správnost kontaktních údajů držitelů domén. Správce registru domény .cz, sdružení CZ.NIC, je v
… 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: