Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
bohuzel, jsem se ted musel venovat trosku bezne rutinni praci, takze scheme ma na chvilku pauzu, ale zaujal me jiz treti dil serialu o smarty a prislo me to docela mastodontni.
jedna vec mne na templatovacich enginech docela vadi, ze se snazi vytvorit si vlastni jazyk - at uz jsou to smarty, ultratemplates, cokoliv dalsiho nebo treba xslt, pricemz tyto jazyky nedosahuji kvalit beznych jazyku, protoze jejich syntaxe je desna nebo chybi standardni knihovny.
osobne pouzivam tutu hezkou hracku:class Sitcom { private $values = array(); public function set($name, $value) { $this->values[$name] = $value; } public function render($template) { foreach ($this->values as $___name => $___value) $$___name = $___value; ob_start(); include($template); $___content = ob_get_contents(); ob_end_clean(); return $___content; } }
neni to nic duchaplneho, jenom do prostredi vykreslovaci funkce se nactou promenne a vyvola se php-kod (sablona), ktery k temto promennym muze pristupovat. navic je to odchycene do bufferu... aby slo s touto hodnotou pracovat.
sablona pak vypada takto:Hello <?= $name ?> What's the time? <?= $time ?>kod v aplikaci pak:
$tpl = new Sitcom(); $tpl->set("name", "Tim Taylor"); $tpl->set("time", "It's Tool Time!"); echo $tpl->render("sample.tpl");
nazvat to templatovacim enginem je silne slovo, ale umoznuje to docela efektivne oddelit logiku od prezentace a hlavne neklade to nejake extra naroky na nove uceni (zadne nestandardni funkce a konstrukce), jenom to cloveka nuti vic premyslet nad tim, co si jeste podrzi ve funkci a co posle do sablony.
na zaver, male rypnuti -- php je dobry textovy preprocesor, tak proc jeho funkci nevyuzit a snazit se v nem psat dalsi jazyky, ktere delaji de facto to same?
Tiskni
Sdílej:
<? include("page/header.php"); echo "<h2>Nadpis</h2>\n"; $d["form"]->render(); include("page/footer.php"); ?>Způsobí to, že šablon je potřeba trošku víc (pro každý typ stránky jedna), ale zas se s nima nemusím skládat v kódu a přijde mi to tak přehlednější i jednodušší.
The ultimate goals of template engines shouldn't really be to remove all logic from HTML. It should be to separate presentation logic from business logic.Prostě jde o to, aby tenhle bordel, který převádí datové struktury na HTML nestrašil, kde nemá. Mít v šabloně kus kódu, který jen vypisuje a případně i konvertuje data z nějakého pole do HTML není vůbec špatné, ba naopak, k tomu ta šablona je.
function html_table_row($cells) { $result = "<tr>\n"; foreach ($cells as $cell) $result .= "<td>$cell</td>\n"; $result .= "</tr>\n"; return $result; }to si v kazde sablone staci inkludnout soubor s danyma standardnima funkcema (jeste mam nekolik variant pro praci - s ul, ol, li) a zacit je pouzivat. <?= html_table_row(array(1, 2, 3, 4)) ?>
Ber to takhle, co když ti najednou na serveru zakážou "short_open_tag". Můžeš to začít přepisovat a pak se podívej na ten kód, jak je "přehledný"
.
sed -i 's/<\?=/<?php echo/g' *.php
Neptej se mě proč by si to měl dělat, ale jestli si dobře vzpomínám, tak například Abíčko taky nebylo vždycky v JavěNo pokud vim, tak vsechny tyhle nase komentare jsou XML ulozeny v DB. Jestli to Leos zene ke klientovi pres XSLT nevim, ale nedivil bych se.
Teď jak to tady pročítám, tak mně napadla další výhoda XSLT. Co když začnu psát aplikaci např. v PHP a po čase bych ji chtěl přepsat např. do Javy? Sablony zůstanou!Mně zase napadla další výhoda Lispu. Co když začnu psát aplikaci např. v PHP a po čase bych ji chtěl přepsat např. do Javy? Sablony zůstanou!
Ještě jsem zapomněl dodat: XSLT přímo vzniklo z Lispu a je to na něm dost vidět (konkrétně DSSSL), takže prohlášení „XSLT je o něčem jiném než Lisp“ je asi tak informované jako „C# je o něčem jiném než Java.“ Podobnosti jsou až zarážející a je jich podstatně více, než rozdílů.
Nějaká pěkná čtení:
http://www.topxml.com/xsl/articles/fp/fp.zip
Dynamicky typovaný funkcionální programovací jazyk, jehož základní datovou strukturou je hierarchický seznam prvků. V této struktuře jsou psány samotné jeho programy, takže mj. může transformovat i sám sebe, pokud je to zapotřebí. Safra, to je nějaké povědomé, kde já tohle už slyšel?