Přesně před 34 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.
86Box, tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 5.0. S integrovaným správcem VM. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Vláda Spojených států získala desetiprocentní podíl v americkém výrobci čipů Intel. Oznámili to podle agentur americký prezident Donald Trump a ministr obchodu Howard Lutnick. Společnost Intel uvedla, že výměnou za desetiprocentní podíl obdrží státní dotace v hodnotě 8,9 miliardy dolarů (zhruba 186 miliard Kč). Částka podle Intelu zahrnuje dříve přislíbené subvence 5,7 miliardy dolarů z programu CHIPS na podporu výroby čipů v USA,
… více »Organizace Apache Software Foundation (ASF) vydala verzi 27 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.
Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.
Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.
*
a nakonec o topic proměnné $_
a jejím nepsání.
-> $a, @b, :$x, :$y, *@positional, *%named { dd $a, $b, $x, $y, @positional, %named }kde
$a, @b
jsou poziční parametry a @positional
je slurp pole ostatních pozičních parametrů a podobně $x, $y
jsou jmenné parametry a %named
je slurp hash ostatních jmených parametrů.
Tento blok můžeme definovat, ale i pomocí zástupných proměnných
{ dd $^a, @^b, $:x, $:y, @_, %_ } #u pozičních parametrů záleží na lexikografickém uspořádání. Ukažme několik příkladů:
{ dd ($^a, @^b, $:x, $:y, @_, %_) }( 1, (2, 3), 4, :32x, :12z, :1y ); #(1, (2, 3), 32, 1, [4], {:z(12)}) say (^5)».&{ $^a + 1 }; #(1 2 3 4 5) — voláme podpogram jako metodu, pamatujete první kapitolu say (^5).map: { $^a + 1 }; #(1 2 3 4 5) — přibližně totéž co výše for (^6) { #0 2 1 say "$^a $^c $^b"; #3 5 4 }; for (<a b c> Z ^3+1).flat { #(1 a) say ($^number, $^letter) #(2 b) — number je lexikograficky větší než letter }; #(3 c)Všimněte si jak
for
předá počet hodnot, podle toho kolik je v bloku zástupných (pozičních) parametrů.
*
*
.
Příklady:
say ( *.chars + * )("ahoj", 2); #6 my &multiply_three_numbers = * * * * *; #1. 3. a 5. * jsou parametry say multiply_three_numbers 2, 3, 2; #12 #2. a 4. * je binární operátor násobení say (^5)».&( * + 1 ); #(1 2 3 4 5) — kulaté závorky místo hranatých say (^5).map: * + 1 ; #(1 2 3 4 5) — zápis map bez závorek say (^5).&( ** + 1 ); #(1 2 3 4 5) — ** je tzv. hyperwhateverHvězdičku můžeme použít jako zástupný znak i v jiných případech, většinou když chceme něco bez omezení nebo ve významu co možná nejvíc. Některé příklady využití whatever:
my @matrix = ( (1, 2, 3), ('a', 'b', 'c'), ('x', 'y', 'z') ); say @matrix[*]; #((1 2 3) (a b c) (x y z)) say @matrix[*-1;*]; #(x y z) — poslední řádek say @matrix[*;2]; #(3 c z) — druhý sloupec my @e=@matrix[*;*]; say @e[*]; #(1 2 3 a b c x y z) say @e[2 .. *]; #(3 a b c x y z) say @e[0 .. *-4]; #(1 2 3 a b c) say @e.pick(*); #(3 x c y a z 1 b 2) — náhodné pořadí for 21 .. * Z~ '×' xx * Z~ @e { #27×x say $^a if $^a ~~ '27×x' ff *; #28×y } #29×z
$_
$_
. Topic proměnná je zapisovatelná. Používají ji různé příkazy a často není potřeba ani psát. Především pro každou metodu jde zapsat .metoda
jako zkrácený zápis pro $_.metoda
, for
a given
nastavují $_
. Topic proměnnou lze použít jako zástupnou proměnou v bloku. when
porovnává s touto proměnou, s///
resp. m//
implicitně nahrazuje resp. hledá v této proměnné atd. Raději místo dalšího vypisování uvedu pár příkladů:
$_="ahoj"; say .chars; say ( $OUTER::_, $_ for ^2 ); #((ahoj 0) (ahoj 1)) — tady nelze použít $^a před for není blok s/aho/čau /; .say; #čau j my ( $a, $b, $c ) = 0, 1, 2; for $a, $b, $c { #0 say .++; #1 }; #2 say "$a $b $c"; #1 2 3 my @a = < abba kolo oko vede >; say grep { True when .flip }, @a; #(abba oko) for 21 .. * Z~ '×' xx * Z~ @e { #27×x — srovnejte s předešlou kapitolou .say if '27×x' ff *; #28×y } #29×z my @b = < ahoj jak se vede >; say @b.first({ .=chop; .chars > 2 }); #s say @b; #[aho ja s vede]
Tiskni
Sdílej:
vyjádřili přímo v tomto vlákněTo by platilo tak pred rokmi, dnes musíš ľudí dokopať, aby mali jednoduchú možnosť voľby :) Je pravda, že aj ja som migroval kvôli jednoduchosti na PHP, pretože to fungovalo Out of the box a ostatné jazyky mali úplne kulové, teda jediné naozaj použiteľné boli len Perl, PHP a mne ostatné jazyky prídu aj dnes viac náročné na spojazdnenie a správnu konfiguráciu.
my &multiply_three_numbers = * * * * *;
dava uplne nove moznosti pro opravdu poradne obfuscovany kod. Nechapu, kdo mohl neco takoveho vymyslet. Funkcionalita to je zajimava, ale mohli pouzit aspon nejaky jiny znak.
*
opatrně, &multiply_three_numbers
jsem uvedl jako zajímavost. Někde mi, především u jednoduchých map, grep, …
, připadá ten zápis přirozený .grep: * > 3;
, .sort: *.chars;
atd. A nebál bych se ani čitelnosti u něčeho takového .map: * * 1.328;
.
for 21 .. * Z~ '×' xx * Z~ @e { #27×x say $^a if $^a ~~ '27×x' ff *; #28×y }