Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.
Wayland byl vydán ve verzi 1.24.0. Jde o menší vydání po více než roce. Více funkcionality bývá přidáváno v průběžných vydáních Wayland Protocols.
Textový editor Geany byl vydán ve verzi 2.1. Jde o udržovací vydání po bezmála dvou letech. Obsahuje drobná vylepšení vyhledávání, aktualizace podpory zvýrazňování syntaxe a dále převážně opravy chyb.
Byly zveřejněny videozáznamy, dostupné také s prezentacemi přímo z programu, a také fotogalerie z open source komunitní konference DevConf.CZ 2025 konané od 12. do 14. června v Brně.
Navigace se soukromím CoMaps postavena nad OpenStreetMap je nově k dispozici v Google Play, App Store i F-Droid. Jedná se o komunitní fork aplikace Organic Maps.
asyncio.create_task()
? Protože v obou případech je časový výsledek týž (viz kód níže). Jde říct, že pomocí create_task()
lze pracovat s výjimkami tak, že mi nespadne během chyby běh komplet celého seznamu?
Totálně primitivní příklad:
async def fetch_url(url): print(f"Getting {url}...") await asyncio.sleep(0.5) return "Response OK. Done"Verze pouze s prostým listem:
async def main(): start_time = time.time() tasks = [fetch_url(url) for url in URLS] results = await asyncio.gather(*tasks) end_time = time.time() elapsed = end_time - start_time print(f"Fetching took {elapsed:.2f} seconds.") return resultsVerze s asyncio taskem:
async def main(): start_time = time.time() tasks = [asyncio.create_task(fetch_url(url)) for url in URLS] results = await asyncio.gather(*tasks) end_time = time.time() elapsed = end_time - start_time print(f"Fetching took {elapsed:.2f} seconds.") return resultsV obou případech je čas běhu stejný, tj. 0,5 s, na rozdíl od synchronního kódu, kde pro 15 URL to trvá, jak by člověk čekal, 7,5 sekundy.
asyncio.gather()
dělá seznam tasků, takže kombinace s create_task()
je zcela zbytečná.
Tiskni
Sdílej: