Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.
Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …
Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.
Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).
DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.
Skriptovací programovací jazyk PHP (PHP: Hypertext Preprocessor, původně Personal Home Page) dnes slaví 30 let. Přesně před třiceti lety, 8. června 1995, oznámil Rasmus Lerdorf vydání PHP Tools (Personal Home Page Tools) verze 1.0.
Ve středu v 17:00 byl ve Francii zablokován přístup k PornHubu a dalším webům pro dospělé. K 17:30 došlo k nárůstu počtu registrací Proton VPN o 1 000 % [𝕏]. Dle nového francouzského zákona jsou provozovatelé těchto webů povinni ověřovat věk uživatelů prostřednictvím průkazu totožnosti nebo platební karty.
Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.
Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.
use utf8; use Test::Slow; use Test::More; use Catalyst::Test 'Foo'; use LWP::UserAgent; sub is_valid { my $code = shift; my $ua = LWP::UserAgent->new; my $url = 'http://validator.nu/?out=gnu'; my $response = $ua->post($url, Content_Type => 'text/html', Content => $code); return $response->as_string !~ /error/; } sub check_url { my $url = shift; my $content = get($url); return is_valid($content); } # TODO: Fails on redirected URLs ok check_url($_), "Page is valid: $_" for qw{ / /foo/ /foo/bar/ }; done_testing;Funguje to krásně.
Test::Slow
je můj vlastní výmysl, kterým odděluju „jednotkové“ (čti „rychlé“) testy od ostatních, abych mohl rychlejší testy spouštět častěji:
package Test::Slow; use strict; use Test::More; BEGIN { plan(skip_all => 'Slow test.') if $ENV{QUICK_TEST}; } 1;
Tiskni
Sdílej:
$response->as_string !~ /…/
), ale výhledově bych chtěl, aby test mohl rovnou poukázat na chybu.
V době překladu těžko, protože jedna z podmínek validity HTML je, že element a nesmí být vnořený. Jakmile budete mít v programu smyčku, neexistuje způsob, jak bez spuštění programu rozhodnout, zda program vloží odkaz do odkazu. To je problém principiální, nikoliv neschopnost programátorů.
Pokud jde o knihovnu, tak za běhu je možné docílit toho, že se to nikdy nestane. Ale to už je za běhu. Jak jsem psal, třeba dom4j to umí. Objektu, přes který se buduje dokument se na počátku vrazí DTD a když aplikace zkusí porušit pravidla, tak dané volání knihovny selže.
Já myslím, že by toho šlo dosáhnout i v běžných jazycích jako je třeba Java. Akorát bych potřeboval docela dost typů -- v podstatě bych do typů zakódoval stavový automat, tj, typy by byly stavy a funkce/metody přechody a jejich návratový typ by určoval cílový stav.
create_div(obsah_divu)
a ona mi vygeneruje jak otevírací, tak i uzavírací tag.
Máte pravdu, že jedinečnost id do typového systému budu kódovat dost těžko. Pokud bych chtěl zajít do extrému, tak mohu využít toho, že všechna slova lze očíslovat a čísla už v typovém systému reprezentovat mohu, takže by součástí typu muselo být i jaká id byla použita. Nicméně má to dost problémů.
Další řešení je, že se id budou generovat automaticky -- nicméně, to už je podvod, protože to řeším za běhu.
A třetím řešením je využít možnosti spouštět vlastní kód při běhu kompilátoru (pokud to jazyk podporuje), pak lze ověřit, zda-li id už nebylo použito.
Přesněji mám na mysli něco jako WASH -- ten sice nezaručuje úplnou validitu nicméně s troškou snahy by se i to mohlo podařit.
že element a nesmí být vnořený. Jakmile budete mít v programu smyčku, neexistuje způsob, jak bez spuštění programu rozhodnout
Takový kód by se neměl vůbec přeložit. (Samozřejmě nevylučuji, že nastane situace, kdy program generuje validní kód a kompilátor ho odmítne, protože si tím není jistý. To je obecně nerozhodnutelné -- redukcí na halting problém.)
Pro tento účel může být zajímavý jazyk OCamlDuce viz příklad.