Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.
Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.
Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.
Byla vydána nová verze 1.54.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Jan Václav.
Knižní edice správce české národní domény přináší novou knihu zkušeného programátora Pavla Tišnovského s názvem Programovací jazyk Go. Publikace nabízí srozumitelný a prakticky zaměřený pohled na programování v tomto moderním jazyce. Nejedná se však o klasickou učebnici, ale spíše o průvodce pro vývojáře, kteří s Go začínají, nebo pro ty, kdo hledají odpovědi na konkrétní otázky či inspiraci k dalšímu objevování. Tištěná i digitální verze knihy je již nyní k dispozici u většiny knihkupců.
OpenAI zpřístupnila (en) nové nenáročné otevřené jazykové modely gpt-oss (gpt-oss-120b a gpt-oss-20b). Přístupné jsou pod licencí Apache 2.0.
Byla vydána RC verze openSUSE Leap 16. S novým instalátorem Agama, Xfce nad Waylandem a SELinuxem.
Google Chrome 139 byl prohlášen za stabilní. Nejnovější stabilní verze 139.0.7258.66 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 12 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře. S verzí 139 přestal být podporován Android 8.0 (Oreo) a Android 9.0 (Pie).
<?php // force download dialog header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Disposition: attachment; filename="test.mp3"'); header('Content-Type: audio/mpeg'); header('Content-Length: ' . filesize('/path/to/test.mp3')); header('Content-Transfer-Encoding: binary'); readfile('/path/to/test.mp3'); ?>Skript volám přes běžný prohlížeč (Firefox) a odchytávám si hlavičky, abych poznal výsledek. Konfigurace Apache je pomocí .htaccess upravena pro kompresi POUZE požadovaných typů souborů, které chci určit na základě mime type. V .htaccess mám:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/x-javascript </IfModule>Výsledkem tohoto by měla být komprese pouze html, plain, xml, css a js souborů. V PHP si vygeneruji ke stažení mp3 soubor a odešlu správné hlavičky. Tento mp3 soubor NESMÍ být pro mé účely komprimován pomocí mod_deflate. Bohužel právě to se mi děje. Toto chování jsem odzkoušel na distribicích Red Hat, CentOS 5.5, ale i ve Windows (Xampp 1.7.3). Je zajímavé, že v Debianu i Arch Linuxu mi se stejným nastavením vše funguje požadovaným způsobem. Problém bude určitě v konfiguraci Apache, v PHP problém nebude (php.ini je stejné). Změnit definici Apache přes přípony pomocí "AddOutputFilter" není pro mě řešením. Pokud odeberu řádek:
AddOutputFilterByType DEFLATE text/htmlpak se mp3 nabídne ke stažení bez komprese, což je přesně co potřebuji. Skoro to vypadá, že mime type výsledku volaného skriptu je text/html, což mi přijde jako nesmysl, ale přesně tak se to chová. HTML soubory i PHP skripty samozřejmě komprimovat chci. Co může v nastavení Apache toto způsobovat?
<IfModule filter_module> # nepovinne, ak nechceme nejaky "advanced" typ spracovania FilterDeclare gzip # tu je kriterium, kedy sa ma filter spustit #FilterProvider gzip deflate Content-Type $text/html #FilterProvider gzip deflate Content-Type $text/plain #FilterProvider gzip deflate Content-Type $text/xml #FilterProvider gzip deflate Content-Type $text/css #FilterProvider gzip deflate Content-Type $text/javascript #FilterProvider gzip deflate Content-Type $text/rtf #FilterProvider gzip deflate Content-Type $text/url # toto pravidlo nahradza vsetky tie zakomentovane vyssie FilterProvider gzip deflate Content-Type /^text/ FilterProvider gzip deflate Content-Type $application/x-javascript # tu je kam chceme tento filter zaradit ak ich je viac - default = na koniec chainu FilterChain gzip </IfModule>
<IfModule mod_filter.c> <IfModule mod_deflate.c> FilterDeclare COMPRESS FilterProvider COMPRESS DEFLATE Content-Type text/html FilterProvider COMPRESS DEFLATE Content-Type text/plain FilterProvider COMPRESS DEFLATE Content-Type text/xml FilterProvider COMPRESS DEFLATE Content-Type text/css FilterProvider COMPRESS DEFLATE Content-Type application/x-javascript FilterChain COMPRESS </IfModule> </IfModule>http://httpd.apache.org/docs/current/mod/mod_filter.html Podle dokumentace jde o vhodnější cestu, i když možná méně přehlednout. Důležité je, že takto to funguje!
Tiskni
Sdílej: