Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.
Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.
Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.
Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.
Valkey (Wikipedie) byl vydán v nové major verzi 9.0. Valkey je fork Redisu.
Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.
AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.
Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.
package Test::Crawler; use Moose; use WWW::Mechanize; has client => ( is => 'ro', isa => 'WWW::Mechanize', default => sub { WWW::Mechanize->new }, ); has handler => ( is => 'ro', isa => 'CodeRef', default => sub {}, ); sub crawl { my ($self, $url, $visited) = (@_, {}); # Already seen that. return if $visited->{$url}++; # Not seen yet, get. $self->client->get($url); $self->handler->($url, $self->client); # Follow all links. my @uris = map { $_->URI } $self->client->links; for my $uri (@uris) { # Skip mailtos, ftp and such. next if $uri->scheme; # Skip external links. next if $uri->host; $self->crawl($uri->rel, $visited); } } 1;Pak už stačí crawler pustit v rámci testu a do handleru napsat kód pro validaci HTML a cokoliv dalšího. Pro začátek kontroluju visící odkazy:
use Test::More; use Test::Crawler; use Test::WWW::Mechanize::Catalyst; sub handle_link { my ($url, $mech) = @_; ok $mech->response->is_success, "failed to fetch: $url"; } my $mech = Test::WWW::Mechanize::Catalyst->new(catalyst_app => 'Foo'); Test::Crawler->new(client => $mech, handler => \&handle_link)->crawl('/'); done_testing;Už během psaní crawleru jsem našel pár chybných URL (dobře schovaných v dynamicky generovaném RSS feedu), takže podobný test se jistě užije. Jen pro tu validaci by asi doopravdy bylo dobré začít používat místní validátor, abych nespamoval online služby.
Tiskni
Sdílej: