Ondsel, tj. vylepšený FreeCAD, po dvou letech skončil. Cílem Ondselu bylo vylepšit UX/UI FreeCADu a nabízet jej komerčně. Od začátku věděli, že konkurovat komerčním CADům bude těžké. Bylo to ale těžší, než si mysleli. Proprietární CADy se vyučují na školách a jsou hluboce zakořeněny v průmyslu. Většina vylepšení od Ondselu se dostane do FreeCADu.
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.1.0. Přehled novinek v poznámkách k vydání.
Aplikace LocalSend, tj. multiplatformní open source alternativa k AirDropu, tj. bezpečné sdílení souborů a zpráv s okolními zařízeními přes lokální síť, bez potřeby připojení k internetu, byla vydána ve verzi 1.16, aktuálně 1.16.1. Instalovat lze také z Flathubu a Snapcraftu.
Nejnovější publikace v knižní edici správce české národní domény nese název ESP32 prakticky a jejím autorem je Martin Malý. Kniha je průvodcem ve světě výkonných a velmi bohatě vybavených mikrokontrolérů společnosti Espressif. V knize se naučíte, jak využít tento čip pro různé projekty, od základního nastavení a programování ESP32 v Arduino IDE, přes připojení k Wi-Fi a Bluetooth, až po pokročilé techniky, jako je realtime operační systém FreeRTOS, příjem signálu z družic nebo programování v ESP-IDF.
Byl představen nový oficiální 7palcový Raspberry Pi Touch Display 2. Rozlišení 720 × 1280 pixelů. Cena 60 dolarů.
Na čem aktuálně pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).
Byla vydána verze 0.4.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Z novinek lze vypíchnout počáteční podporu Rustls, tj. implementaci TLS v Rustu. Společnost Cloudflare uvolnila framework Pingora letos v únoru pod licencí Apache 2.0.
Byla vydána první pre-release verze desktopového prostředí Xfce (Wikipedie). Vydání ostré verze je plánováno na 15. prosince. Současně byla vyhlášena soutěž o výchozí wallpaper pro Xfce 4.20. Uzávěrka přihlášek je 15. listopadu.
Přímý přenos z konference OpenAlt 2024, jež probíhá tento víkend v prostorách FIT VUT v Brně. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
V Coloradu unikla hesla k volebním počítačům. Více než 2 měsíce byla tabulka se stovkami hesel do BIOSu volně na webových stránkách. Dle úřadu je potřeba ještě druhé heslo, takže se o žádnou bezprostřední bezpečnostní hrozbu pro volby nejedná [Ars Technica].
`cat *.txt >all`;(samozrejme existuje milion jinejch zpusobu)
; @g = (); @b = (); $map{"g"} = \@g; $map{"b"} = \@b; open(F, "file.txt"); while (<F>) { if (m/(.*):(.*)/) { push @{ $map{$1} }, $2; } } close(F); print "G:\n"; for $i (@g) { print "\t$i\n"; } print "B:\n"; for $i (@b) { print "\t$i\n"; }ocekava se ze file.txt bude ve formatu:
g:nick1 g:nick2 b:nick3 b:nick4 g:nick5 ...
Nebo to rozdel do sekci a identifikator dej pouze pred prvni zaznam dane sekce (neco na zpusob *.ini souboru ve Windows). Zpusob zapisu oddelovace si zvol jaky ti vyhovuje - napriklad
[nazev sekce] data data
nebo
::nazev sekce data data
nebo
nazev sekce: data data
atd.
Spojeni do jednoho souboru muzes udelat napriklad takto
for X in *.txt; do echo "[${X%.txt}]">>all.txt; cat $X >>all.txt; done
Puvodni jmena souboru (bez pripony) jsou pouzity jako oddelovace/nazvy sekci. Vysledny soubor s daty tedy muze vypadat takto
[kluci] mnick1 # komentar mnick2 mnick3 [holky] fnick1 fnick2 fnick3
Pokud vylozene nepotrebujes extra promenne tak bych to pak nacital do HASHe - treba nasledujicim zpusobem
my %data; my $line; my $sekce = 'neznama'; my $config = 'all.dat'; # nacteme data/konfiguraci if (open(DATAIN, $config)) { while ($line = <DATAIN>) { chomp($line); next if ($line =~ /^\s*$/); next if ($line =~ /^\s*#/); if ($line =~ /^\s*\[([^\]]+)]\s*$/) { # nalezena nova sekce dat $sekce = $1; $sekce =~ s/^\s*//; $sekce =~ s/\s*$//; } else { # cteme data push @{$data{$sekce}}, $line; } } # data nactena - zavreme soubor close(DATAIN); } else { die("Nelze otevrit soubor '$config'"); } # pokracuje vlastni kod programu # ...
Jednotlive kategorie/seznamy jsou pristupne jako @{$data{'jmeno seznamu'}}
(napr.: @{$data{holky}}
a polozky pak $data{'jmeno seznamu'}[index]
(napr.: $data{'holky'}[1]
. Seznam vsech nactenych kategorii/seznamu ziskas pomoci keys %data
.
Diky za doporuceni a odkaz na CPAN. Pro vasi informaci na CPANu mam nekolik modulu a vyvoj v PERLu mne i pred lety zivil. Pri pouzivani CPAN modulu jsem bohuzel casto narazil na velmi promenlivou kvalitu kodu a dokumentace. Velmi casto je k dispozici nekolik modulu pro stejny ukol a zadny z nich to nedela poradne… To je ale namet na uplne jinou a poradne dlouhou diskusi.
Po precteni tazatelova prispevku jsem mu chtel ukazat kousek PERLoveho kodu a silu PERlu. Tazatel zrejme prechazi z C ci neceho podobneho. Pri pouhem uvedeni odkazu na CPAN ci konkretni modul tak tazatel zrejme zustane u psani ceckoveho kodu v PERLu a nevyuzije silu a prednosti tohoto jazyka.
Napriklad pokud pouze plnim pole, nepotrebuji si udrzovat index posledniho prvku, tedy namisto
$holky[$a] = $radek; $a++;
lze jednoduse pouzit
push @holky, $radek;
Pokud potrebuji pocet prvku, ziskam jej z @holky
ve skalarnim kontextu, jenz si lze vynutit pomoci scalar(@holky)
. Index posledniho prvku pak je $#holky
. Tazatel take jeste prilis nezna kouzlo regularnich vyrazu umoznujici volnost v psani zaznamu ve vstupnim souboru (napriklad volitelne mezery jenz nekdy text udelaji pro cloveka prehlednejsim) namisto pouziti substr()
kde musim mit zaznam presnou strukturu.
open(my $input, ...)
místo open(INPUT, ...)
. Vypadá to jako nuance ale má to dalekosáhlé dopady (k lepšímu). A také není potřeba mít if...else otevření selhalo
, ale stačí použít autodie
.
Tiskni Sdílej: