Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
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.