Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.
Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.
Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.
Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.
Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.
Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.
Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).
Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].
Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Dnes jsem řešil zdánlivě nezajímavou věc. Uchování obsahu formuláře, který je na webu stále vidět a jeho obsah by se neměl měnit, dokud nedojde ze strany uživatele ke změně a znovuodeslání. Zároveň je nemožné provést uložení například do SESSION, či jinak, a naplnění formuláře ze strany serveru - např. PHP - při vykreslování.
Výše uvedená fakta mne vedla k jednoznačné volbě - COOKIES. Pravda, pokud je bude mít klient zakázané, řešení je k ničemu. Bude tedy využito JS, jQuery a několik rozšíření. První rozšířením bude skript pro čtení a nastavování hodnot ve formuláři (v ukázce uloženo do samostatného souboru - jquery.formvalues.js), dále budeme potřebovat jquery.json.js a jquery.cookie.js.
A nyní je již vše jednoduché.
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script src="jquery.cookie.js"></script>
<script src="jquery.json-2.2.min.js"></script>
<script src="jquery.formvalues.js"></script>
<title>Form</title>
<script>
/* <![CDATA[ */
function storeForm() {
var date = new Date();
date.setTime(date.getTime() + (24 * 60 * 60 * 1000)); // 24 hours
$.cookie('cookie-form', $.compactJSON($('#form').values()), { path: '/', expires: date });
}
$(document).ready(function() {
if($.cookie('cookie-form') != null) {
$('#form').values($.secureEvalJSON($.cookie('cookie-form')));
}
});
/* ]]> */
</script>
...
<form id="form" method="post" action="...">
<input type="text" name="firstname" value="" /><br />
<input type="text" name="lastname" value="" /><br />
<input type="submit" value="Odeslat" onclick="storeForm()" />
</form>
Není to nic extra, ale třeba to někomu pomůže.
Inspirováno komentáři - v případě využití local storage je řešení následující. Navíc bude potřeba jquery.jstorage.js a úprava:
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script src="jquery.cookie.js"></script>
<script src="jquery.json-2.2.min.js"></script>
<script src="jquery.formvalues.js"></script>
<script src="jquery.jstorage.js"></script>
<title>Form</title>
<script>
/* <![CDATA[ */
function storeForm() {
if($.jStorage.storageAvailable()) {
$.jStorage.set('cookie-form', $('#form').values());
} else {
var date = new Date();
date.setTime(date.getTime() + (24 * 60 * 60 * 1000)); // 24 hours
$.cookie('cookie-form', $.compactJSON($('#form').values()), { path: '/', expires: date });
}
}
$(document).ready(function() {
if($.jStorage.storageAvailable()) {
if($.jStorage.get('cookie-form', null) != null) {
$('#form').values($.jStorage.get('cookie-form'));
}
} else {
if($.cookie('cookie-form') != null) {
$('#form').values($.secureEvalJSON($.cookie('cookie-form')));
}
}
});
/* ]]> */
</script>
...
<form id="form" method="post" action="...">
<input type="text" name="firstname" value="" /><br />
<input type="text" name="lastname" value="" /><br />
<input type="submit" value="Odeslat" onclick="storeForm()" />
</form>
Díky za nápad na zlepšení. O local storage jsem věděl, ale omezení COOKIES mne nenapadlo. Ještě jednou díky.
Tiskni
Sdílej:
Takže formulář, který je stále vidět.
A jaký smysl teda má držení hodnot jinde než v něm?
A nemůžeš ho naplnit na straně serveru.
Pokud ho nemůžeš plnit, tak ho nemůžeš ani zpracovávat, tak k čemu tam je?