V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.
Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.
Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.
Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.
Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.
Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.
mam totiz takove divne mrazeni, ze to bude pomaleTakze je to pomale, alebo nie? Ak je vykonnost dostatocna, riesis neexistujuci problem. Prepisovat 50 riadkov zdrojoveho kodu (t.j. excelentne strucne riesenie) do 500 riadkov potencialne rychlejsieho C kodu bez realneho dovodu je dobre iba ak z akademickych dovodov. Treba si uvedomit, ze N-nasobok poctu riadkov zdrojoveho kodu zo sebou nesie N-nasobne riziko chyby v kode. Nepozeral som co vlastne ten skript robi, ale v zasade vidim dve mozne priciny "pomalosti": 1) IO operacie. V tomto pripade je rychlost vykonavania samotnej riadiacej rutiny, t.j. post-commit hooku irelevantna, a zrychlit treba IO operacie samotne. 2) Neefektivny algoritmus riadiacej rutiny, napr. viacnasobne ziskavanie nejakej informacie ci suboru. V tomto pripade treba vylepsit algoritmus, napr. vyhnut sa opatovnemu ziskavaniu udajov. V tomto pripade opat nezalezi na implementujucom jazyku; opat vitazi program s jednoduchsim (kratsim) zapisom. Jedna moznost, kedy by mohol byt shellovy skript na tom zle, je spustanie velkeho poctu procesov; napr. ked bude pre kazdy z tych 11k suborov spustat nejaky externy program, aby ho spracoval. V tomto pripade ale s vysokou pravdepodobnostou pojde problem riesit davkovym spracovanim, t.j. v zasade spustenim externeho programu naraz pre viacero suborov; vacsina unixovych toolov toto umoznuje,
find
a xargs
su dobri pomocnici.
Nakoniec -- alebo skor na zaciatok -- aky "biznis" problem vlastne riesis? Existuje viacero hotovych rieseni na publikovanie SVN repozitarov cez web. I ked na druhej strane, Tvoj problem moze byt unikatny a teda moze vyzadovat unikatne riesenie. Sam som pomocou post-commit hookov naprogramoval v shelli uz dve continuous integration riesenia; a boli to stovky az tisice riadkov shellovych skriptov.
s post-commit hookem prichazim do styku prvne, tak jsem se chtel jen zeptat co toTakze par mojich rad: - Pozor na nastavenie prostredia. Odporucam vsetko dolezite si nastavit v skripte, vratane takych "nepodstatnych drobnosti" ako je
PATH
ci pracovny adresar, ktory je defaultne /
. Pozor na pristupove prava, post-commit hook je samozrejme spustany obsluhujucim Apacom.
- Nepisat ziadne skripty priamo do suboru post-commit. Lepsie je vytvorit samostatny skript, a ten len z post commit hooku volat. Tak je jeden skript pouzitelny pre viacero repozitarov, ak sa vhodne parametrizuje.
- Prikaz 'svn commit' nevrati, pokial sa post-commit hook nevykona, co je vacsinou silne neziaduce. Preto treba 1) volat externy skript z post-commit hooku na pozadi, a zaroven 2) presmerovat stdout
aj stderr
"niekde"; mozno do /dev/null
, lepsie do nejakeho vlastneho logovacieho suboru.
- Tym prichadzame k problemu, co sa stane, ak dojde druhy commit a teda aj druhe spustnie post-commit hooku este predtym, ako skoncila obsluha toho predchadzajuceho. Zabezpecenie reentrantnosti skriptu vratane spravneho pouzitia externych zdrojov ako su docastne subory ci pripadna vhodnu serializacia uloh su celkom zaujimave programatorske cvicenia.
>Zabezpecenie reentrantnosti skriptu
je mozne to vyresit pomoci zamku? docasne soubory vytvaret nechci (nemam ted potrebu). pokud bys to mohl rozvest budu vdecny.
Tiskni Sdílej: