FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…
Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.
Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.
Dnes jsem sice již jeden zápisek publikoval, ale momentálně stav maximálního vytočení mne nutí sepsat ještě jeden. Možná proto, abych se podělil, zároveň možná i z didaktického hlediska, abych někoho poučil, ale hlavně proto, abych tu sprostě nenadával jen do zdi. A o co se jedná? Jedná se o rozdíl v použití GET nebo POST.
Bohužel jsem se s tím nesetkal poprvé, a vím dokonce i to, že ne naposled. Ale přijde mi už jen z názvů těchto dvou metod logické, k čemu slouží. Prvně POST, z anglického poslat, odeslat, apod. Tedy nějaká data někam odesílám, např. formulář - provádím s databází INSERT, UPDATE nebo DELETE. Naopak GET, z anglického získat, apod. Se snažím nějaká data s databáze vydolovat - provádím SELECT. U toho POSTu to je logicky dokonce ošetřeno i na úrovni prohlížeče, když se snažíte znovu načíst stránku s formulářem, který zpracovává POSTem, tak se Vás prohlížeč slušně optá, zda-li chcete data opravdu odeslat znovu - aby nedošlo k duplicitnímu vložení apod. (prohlížeč nemůže o tom, zda-li vývojář udělal nějaké zabezpečení vkládání duplicit vědět. proto se alespoň optá, zda-li to opravdu chceme udělat - znovu odeslat celý formulář).
Proto nedokáži pochopit, jak někdo, kdo se snaží udělat filtrování výpisu dat z formuláře přes několik selectů, může formulář odeslat POSTem a uložit obsah do SESSION. Pak když si chcete stránku načíst znovu, např. z důvodu, že víte, že v DB jsou již nová data, a chcete je vypsat, tak pokaždé musíte potvrdit OK - ano opravdu chci nastavení filtru odeslat znovu.
Vždy jsem si myslel, že to je jasné - nechci tím ze sebe dělat nějakého extra znalce a z ostatních neznalce, ale vždyť se již chování metod a dokonce i jejich názvy jasně nabízejí k tomu, k čemu jsou určeny. Navíc ještě POSTem odešleme více dat, než jen GETem. POST je v těle požadavku, GET je v hlavičce - ověřte si např. rozšířením Firebug pro FF.
Tiskni
Sdílej:
Taky neni obvykle moc hezky, kdyz je URL dlouhy jak svine se spoustou ruznyho bordelu. Tam se pak hodi POST i pro odesilani filtru pro cteni dat z DB.Tam samozřejmě nemá POST co dělat a ten "bordel" je v adrese proto, abys mohl někomu poslat odkaz, nebo si ho uložit do záložek a nastavení se uchovalo. Tohle uvažování (dělá to bordel v adrese, tak tam frknu POST) je přesně příklad toho, proti čemu se zápisek ohrazuje.
303 See Other. Vyhnete se tak opakovanému odeslání formuláře, přetečení url a zachováte url hezkou (jestli doteď byla).
/vyrobci/vyrobce-X. Zkuste na chvíli zapomenout na databáze a dynamické generování stránek a představit si, že web generujete jednorázově do statických stránek – myslím, že hned budete vědět, jak by vypadala jednotlivá URL.
/vyrobci/vyrobce-X. Časem přibývali dodavatelé (a další možnosti hledání) a nakonec vše skončilo u IE tím, že URl byla delší než 2083 znaků.
Ja myslim, ze ten problem je, ze jaksi tvurci HTTP nepredpokladali, ze lidi do nej budou chtit balit vsechna ta hejblatka, blikatka a jine interaktvni kokotiny co se dnes na webu objevuji.
BTW: jak je myslena ta idempotence. To jako, ze si treba muzu vybrat zobrazit data za poslednich 5/10/15 minut. Je to idmepotentni, protoze furt dostanu data za stejny casovy interval, nebo to neni idempotentni, protoze ty data samotna jsou jina? Pokud to je druha moznost, tak si nedokazu predstavit jaka data by to mohla splnovat.
javascript:__doPostBack()...
href=) ti vrátí stránku s aktuálním stavem všech komponent, pokud máš zapnutý ajax a povolený javascript (tzn. onclick), tak se vrátí json objekt s obsahem změněných komponent a ty se překreslí javascriptem. Ajax nikdy nebyl jednodušší (v podstatě $presenter->isAjax=true;) a přístupnější (Žádný prasárny typu <a href="javascript:..." nebo <a href="#" onclick="..."). Pokud máš vypnutý javascript, nebo klikneš prostředním tlačítkem ve firefoxu, tak se ti otevře stejná stránka jako by byl výsledek ajaxu, akorát s refreshem.
Změny stavu se provádí jednoduchým getem, ve kterém je jenom změnění proměnná (následně refresh), nebo pomocí post-redirect-get (podle účelu), vybrané proměnné si můžeš vytáhnout do url.