Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Přehled kybernetických incidentů za září 2024 (pdf). Evidováno bylo 21 kyberbezpečnostních incidentů. Na účastníky mezinárodní bezpečnostní konference IISS Prague Defence Summit cílila phishingová kampaň.
Minetest (Wikipedie), tj. multiplatformní open source voxelový herní engine a hra inspirovaná Minecraftem, se přejmenovává na Luanti.
Minulý týden byl představen (YouTube) Rocky Linux from CIQ (RLC) aneb Rocky Linux s komerční podporou od společnosti CIQ. Cena podpory je 25 000 dolarů ročně bez ohledu na počet jader CPU, serverů nebo virtuálních počítačů.
Byla aktualizována časová osa podpory Manifest V2 v Chrome, tj. verze API rozšíření webových prohlížečů. V průběhu týdnů budou rozšíření Chrome používající tuto verzi deaktivována a uživatelům budou doporučeny alternativy používající Manifest V3. Uživatelé Chrome si mohou pomocí "chrome://extensions/" zjistit, kterých rozšíření se to týká. Například také uBlock Origin. Podporu Manifest V2 v Chrome bude možné dočasně prodloužit nastavením ExtensionManifestV2Availability.
Sada nástrojů Distrobox pro spouštění libovolných linuxových distribucí v terminálu pomocí kontejnerů byla vydána ve verzi 1.8.0.
Byly zpracovány a zveřejněny videozáznamy z konference LinuxDays 2024. Přistupovat k nim lze přímo z programu, kde jsou také odkazy na prezentace, nebo z YouTube.
Byla vydána nová verze 1.4 svobodného multiplatformního vektorového grafického editoru Inkscape. Podrobný přehled novinek i s náhledy a animovanými gify v poznámkách k vydání.
Softwarový KVM Input Leap (dříve Barrier) byl vydán ve verzi 3.0.0 (a následně pár opravných). Přidává podporu Waylandu a Qt6. Jde o první vydání od přesunu z projektu Barrier v roce 2021. Barrier vznikl jako fork Synergy, jehož verze 2 byla částečně proprietární a její bezplatná open-source verze měla umělá omezení.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Přímý přenos (YouTube) z konference LinuxDays 2024, jež probíhá tento víkend v Praze v prostorách Fakulty informačních technologií Českého vysokého učení v Praze (FIT ČVUT). Na programu je spousta zajímavých přednášek.
for $no ( 1 .. (počet znaků v proměnný $_) ) { push @sopts, $_; # ale $_ donutit tisknout jen $no-tej znak }Nebo že by se to dalo udělat pomocí regexpu? To ale nevím, nic mě nenapadlo...
No, není to žádný zázrak, ale mělo by to fungovat:
#!/usr/bin/perl -w my @attrib = (); my $i = 0; $attributy = $ARGV[0]; $attributy =~ s/^\-//; $length = length($attributy); while ($i < $length){ $attrib[$i] = "-" . substr($attributy, $i++, 1); print "attrib $i = $attrib[$i]\n"; }
Odborníky na PERL prosím o shovívavost ...
$aaa="-abc"; while ($aaa) { push (@uuu, chop $aaa); }a v poli
@uuu
mas vsechny znaky z $aaa
vcetne podtrzitka v opacnem poradi.
length(řetězec)
. Získání podřetězce z řetězce dělá funkce substr(řetězec, start, kolik)
. Pomocí regexpu by to šlo také, ale zbytečně složitě a neefektivně.
Nevím, jestli je dobré učit se programovat zrovna na Perlu…Líbí se mi
Funkce vracející délku řetezce je length(řetězec)
.
A já vůl zkoušel lenght. Furt se mi to plete
Všem: díky za odpovědi
Zkoušel a Perl už IMHO vůbec nejde dohromady Nechci nikoho podceňovat, ale myslím, že nejde metodou pokus–omyl přijít na to, žeNevím, jestli je dobré učit se programovat zrovna na Perlu…Líbí se mi … A já zkoušel lenght. Furt se mi to plete
$_
je implicitní prostor pro vstup, výstup a vyhledávání, $,
je výstupní oddělovač polí, @_
jsou parametry podprogramu, %ENV
jsou proměnné prostředí atd. atp. Aspoň referenční manuál by to chtělo Taky můžu doporučit knížku Perl pro zelenáče od Pavla Satrapy (a to nejenom pro zelenáče ).
Mně se Perl taky líbil, ale když jsem se po nějaké době k nějakému skriptu vrátil, zjistil jsem, že Perl je write-only Pak jsem napsal skoroprogram, který obsahoval třeba toto:
foreach $prom (sort(keys(%{$zdroje{$jmeno}}))) { if ((substr($prom,0,1) eq '') || (substr($prom,0,1) !~ /^\w/i)) { print SPECIALNI "<h3 class='promenna'>$prom</h3>\n"; $text = $zdroje{$jmeno}{$prom}; do { $REcount = ($text =~ s/\?\{([^}:]*)\}/&_nahraditGlobals($1)/ge); $REcount += ($text =~ s/\?\{([^}:]*):([^{}]*(?:(?:\$|\*)\{[^{}]*(?:\*\{[^}]*\}[^{}]*)*[^{}]*\}[^{}]*)*[^{}]*)\}/&_nahraditGlobalsParametr($1,$2,$blok)/ge); } while ($REcount > 0); $text =~ s/(\$\{[^}:]*\})/<span class='vypisPromenne'>$1<\/span>/g; $text =~ s/(\$\{[^}:]*:[^{}]*(?:\*\{[^}]*\}[^}]*)*\})/<span class='vypisPromenne'>$1<\/span>/g; print SPECIALNI $text; } else …A to byla poslední věc, kterou jsem v Perlu napsal
[ivok@zero ~]$ perl -e 'print join " -", split //, "-abc"; print "\n"' - -a -b -c
split
na to, abych dostal celý řetězec, by byla blbost
Teď už zbývá jen nějak logicky zdůvodnit, proč v Javě, která IMHO vede naopak k tomu psát čitelné programy (ale někteří se úspěšně brání ) se String.split("")
chová úplně stejně, a to bez jakékoliv zmínky v dokumentaci. Asi to bude tím, že programátor v Javě neuvidí žádnou výhodu v tom, že může cyklus přepsat do jednoho řádku programu a nenapadne ho zkoušet, jak se rozdělí řetězec, když se má dělit v místě, kde je nic
Pro Davida: to, co předvedl ivok, je myslím to správné perlovské řešení (přestože Perl se chlubí tím, že každá věc jde napsat mnoha způsoby). Takže pokud se chcete naučet přemýšlet o tom, jak sestavovat algoritmy, Perlu bych se zatím vyhnul. Pokud se naopak chcete naučit přemýšlet jako hacker (v původním smyslu slova), s minimem nástrojů dosahovat maximálních výsledků a nástroje používat ne zrovna obvyklým způsobem (ale přesto elegantně), je Perl ta pravá volba.
Pokud se naopak chcete naučit přemýšlet jako hacker (v původním smyslu slova), s minimem nástrojů dosahovat maximálních výsledků a nástroje používat ne zrovna obvyklým způsobem (ale přesto elegantně), je Perl ta pravá volba.That's what I'm talkin' about, yo
['-'+x for x in '-abc'[1:]]
Tiskni Sdílej: