Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Potřebuji takovýto příkaz z pythonu přepsat do bashe.
db.execute("CREATE TABLE tiles (x int, y int, z int, s int, image blob, PRIMARY KEY (x,y,z,s));")
db.execute('INSERT INTO "tiles" VALUES(?,?,?,?,?);',(int(x),int(y.split('.')[0]),17-int(z),0,buffer(file("%s/%s/%s/%s" % (sys.argv[2],z,x,y)).read())))
Tedy ten druhý řádek, první jsem svedl, jde o sqlite. Je to vůbec možné?
Řešení dotazu:
NAME sqlite3 - A command line interface for SQLite version 3 SYNOPSIS sqlite3 [options] [databasefile] [SQL] SUMMARY sqlite3 is a terminal-based front-end to the SQLite library that can evaluate queries interactively and display the results in multiple for‐ mats. sqlite3 can also be used within shell scripts and other applica‐ tions to provide batch processing features.
A co jako?
Mně jde o to, že mám v shellu proměnné x,y,z a ve filesystému soubor, který potřebuji dostat do té databáze tak, jak je to napsáno v tom pythonu. Jde mi spíš o syntaxi s uvozovkami, apostrofy, složenými závorkami a pod., aby to příkaz sqlite pobral. Takže asi tak...
Mám něco takového (ten sys.argv[2] je jen název adresáře), ale nefachčí.
sqlite "$NAME" "INSERT INTO tiles VALUES ('${x}','${y}','${z}',0,'/zaloha/x/${file}')"
Zkusil jsem to z toho emailu přepsat do jednoho řádku, ale někde je chyba.
d=test.db3 rm -f $d; echo "CREATE TABLE Files (name TEXT PRIMARY KEY,contents BLOB);" | sqlite3 $d ; echo "INSERT INTO Files (name,contents) VALUES ('a.png',X'$(od -A n -t x1 'a.png'|tr -d '\r\n\t ')');" | sqlite3 $d ; echo "select contents from Files where name='a.png';" | sqlite3 $d >b.png
d=test.db3
chýba ; (bez nej sa to d berie ako premenná, ktorá platí len pre nasledujúci príkaz rm).
Pri tom príkaze od je názov súboru v apostrofoch a keďže sú tam už apostrofy použité, nerobí to to, čo to robiť má (a nechce sa mi hľadať, čo by na tom mieste vlastne fungovalo).
Potom to ten súbor do DB uloží v binárnom tvare, problém ale je, že program sqlite3 to, pri vypisovaní, spracuje len po prvý bajt 0 (takže sa do b.png uloží len časť toho súboru). Pri tom select sa môže použiť hex(contents) a tak sa to vypíše celé, bude to ale hexadecimálny reťazec, ktorý sa bude musieť nejako skonvertovať na binárne dáta (takže najjednoduchšie je to nechať v Python). :)
Ta chybějící ; byl překlep.
S tím pythonem chceš říct, že to nejde napsat v bash shellu?
Mně šlo právě o to, zda jde napsat to pythonovské
buffer(file("%s/%s/%s/%s" % (sys.argv[2],z,x,y)).read())
nějak v bash...
tohle
cat /zaloha/x/${file} | sed "s/'/\\\'/g")
změní bajty v souboru
Tiskni
Sdílej: