Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek
… více »Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.
Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.
Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …
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.
a ani nezavádí nějaké složité obskurdnosti do šablon a ani do kódu ... fpodstatě z tou myšlenkou byl navržen(btw na avc.sh.cvut.cz je přednáška). způsob šablonování, co tu uvádíte sem používal a ještě teď vlastně používám, ale rozhodně to chcu celé přepsat ...
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)) ?>
XSLT je jedna z (bohuzel) mala moznosti, jak pri sablonovani zustat u cisteho XML a neztratit jeho flexibilitu. Jinak zkuste PHPTAL, nejlepsi co jsem pro PHP nasel.
.
Jinak ten tvůj způsob jsem chtěl taky dřív používat ( než jsem objevil XSLT
), ale postupně to začíná být dost nepřehledné. 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ý"
.
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!
Ale pokud bych to psal pomocí šablon v PHP (nebo čemkoli jiném), nebo přímo pastnul do kódu, tak můžu začít od nuly vše.
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?
Docela by mě zajímalo, do jaké míry se ty hardwarové akcelerátory XSLT podobají lispovským procesorům. Přinejmenším konceptuelně je to naprosto identická konstrukce: eval+apply natvrdo zadrátovaný.
. Nic ve zlim, ale Lisp je masochismus
.
A jinak, tady byla diskuse o templatovacich systemech v jazycich, takze porovnavani Lisp vs XSLT neni na miste. Hlavne by me zajimalo, jak bych udelal to co jsem rikal.
Mam aplikaci (web) v nejakem jazyku a leze mi z toho XML. Pomoci XSLT prekonvertuju na XHTML a jedu... Pak zmenim jazyk na jinej a porad muzu pouzit jiny objekty, ktery mi taky vygenerujou XML a sablony pouziju znova.
Jak nahradim XSLT Lispem? V PHP jsem zadnej objekt na lisp nenasel.
) lidštější syntaxe vstupu a 2) výsledek bude běhat všude), nebo b) implementace XSLT využívající vysokého výkonu kompilovaného lispovského kódu – něco na způsob CL-PPCRE. (výhoda: 1) interoperabilita se stylesheety třeba veřejně dostupnými na Internetu, 2) možnost aplikovat XSLT nějak na S-výrazy a z toho plynoucí 3) wow faktor.
)
Každopádně je to pěkná výzva.
Budu teď muset pracovat s nějakým XML a přemýšlím, jestli není lepší načíst XML dokument prostě jako S-výraz. Rozhodně mi to je bližší.
V Lispu je to triviální, poněvadž nemá syntaxi, ale psát se s parserem pro Python se mi nechce.