Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Microsoft Defender nově podporuje linuxové desktopy.
Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.
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.
P.S.: Ano, aplikace je v Catalystu
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.