Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
[flat(0 xx $n, @a)]
by si asi zasloužilo rozepsat na více řádků (možná pomocí prepend
).1 2 2 1
a 3
0 0 0 1 2 2 1 0 0 1 2 2 1 0 0 1 2 2 1 0 0 1 2 2 1 0 0 0 ----------------- 1 3 5 6 5 3 1vrátí
1 3 5 6 5 3 1
.
Teď ke kódu:
[flat(0 xx $n, @a)]
nultý prvek bude pole @a a před ním $n nul,{ .rotate }
další prvek získáme tak, že předešlí prvek rotujeme,{ .[0] != 0 }
získávej nové prvky (pole) dokud nebude na začátku nula,[Z+]
sečti pole po prvcích.for
, tak by to podle mě kód prodloužilo a čitelnost nezlepšilo. Doufám, že jsem tento kód alespoň částečně vysvětlil.
...
, tak je to věc, na kterou je potřeba si zvyknout. Mně nečitelný nepřipadá. Já na něj nahlížím jako na jakýsi druh koncové rekurze, kde se zaznamenávají i mezivýsledky. Ale je pro mě snadnější a přirozenější myslet pomocí operátoru ...
, než používat přímo podprogramy s koncovou rekurzí.
rotate_sum
. Snad je to teď čitelnější.
say 0, 1, * + * ...^ * > 1000Takze jestli to spravne chapu: Vyraz s hvezdickou vytvori lambda funkci. Takze treba
* + *
se prelozi na:
def f1(a, b): return a + bPrvni hvezdicka je prvni parametr, druha druhy, ... Druhy vyraz s hvezdickou je druha lambda funkce:
def f2(a): return a > 1000Potom pri pouziti:
say 0, 1, f1 ...^ f2runtime nejak dynamicky zjisti ze jsou tam funkce misto hodnot a zavola je k vygenerovani hodnot. A jde nejak zapsat pomoci hvezdicek treba
b - a
?
{ $^b - $^a }
nebo v případě s infix operátor jako je -
lze použít i hyper operátor R
, který operátor obrací * R- *
.
say ( 0, 1, {$^b - $^a} ...^ * ).[^10]; say ( 0, 1, * R- * ...^ * ).[^10];
Tiskni
Sdílej: