Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
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: