Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.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 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
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.