Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).
Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.
Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.
Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.
Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.
Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.
Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.
Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
, navíc python zrovna nepoužívám...
if kod == KOD_NEJEDNOZNACNE_KONCOVE_BODY: ...
else: ...
if(podm){} ?
Bloky se odlišují pomocí odsazení... je to šílený.
No, jak se to vezme. Me jako navacka v pythonu a pokrocilyho v bashi, perlu a amatera jinych docela hodne zmatlo, kdyz jsem pripsal jeden radek v python kodu a pri spusteni me to vyfuckovalo, ze mam blby zarovnani. Podival jsem se znovu, zarovnani bylo ok. Pak mi teprve doslo, ze python sice rozpoznava bloky podle odsazeni, ale ne podle vizulaniho odsazeni, ale podle poctu znaku. Takze milej uzivateli, neni whitespace jako whitespace. 8 mezer PROSTE NENI stejne jako 4 taby nastaveni na sirku 2 znaky.
Jinak me to taky docela stve z toho duvodu, ze nemuzu napsat python kod na jeden radek, napr. v cmdline.
No, python je mozna pro zacatecniky, ale ne pro pokrocily. Proto se u me moc nechyt. Ale ne, trosku mi tam vadi i funkce, schovavany za pseudo metody. Na tom se pak zacatecnici uci pekne blbe OOP.
Pocitac to vidi jak je to v tom souboru. To ze ruzne programy interpretuji delku tabu ruzne, je problem s taby, ne Pythonem. Doporucoval bych v Python zdrojacich taby vubec nepouzivat (mit v editoru nastavene nahrad taby mezerami).
else cast tak uz prece neni mozne se v tom rozumne orientovat, kdezto pekne naformatovany kod s pouzitim zavorek je prehledny vzdycky.
Python to prostě takhle má - podmínka končí dvojtečkou, blok kódu pro danou podmínku je odsazený whitespacem (případně je napsaný hned za dvojtečkou, pokud je toho jen na jeden rádek).
a nedari se mi vymyslet srozumitelnejsi reseni s generatory. Jeste jednou diky.
def parsuj_spojeni():
def generator_radku(file):
for line in file:
.. nejake zpracovani vstupni radky line
if pocet_spoju > max_pocet_spoju: break
yield line
return
pocet_spoju=0
gr=generator_radku(file)
for line in gr:
while not re.search("cosi",line): gr.next()
.. zpracovani prvniho stavu
while not re.search("cosi dalsiho",line): gr.next()
.. zpracovani druheho stavu
...
pocet_spoju+=1
Zkratka, zakladni myslenka je, mit vstupy (v tomto pripade radky) ktera chcete prijimat tim stavovym automatem schovane v tom generatoru, a stavy toho automatu implementovat jako normalni body v kodu, ktere si proste vzdy vyzadaji prislusny ocekavany vstup (bud pomoci gr.next() nebo pomoci for cyklu pres gr).
Tak bych to asi delal ja, je to citelnejsi nez studovat prechod mezi stavy a co ktery stav znamena.
Tiskni
Sdílej: