V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.
Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.
Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.
Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny
… více »D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.
CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.
Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.
Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.
isset($_REQUEST['submit_name'])?
Ad 2. Místo typu checkboxu použijte typ radiobutton se stejnou hodnotou atributu name a různou hodnotou atributu value. Nevyplnění testuje přes empty($_REQUEST['radio_name']).
Ad 3. Netuším, co přesně myslíte. Každopádně při jakémkoliv zápisu do souboru pozor na race-conditions.
Takhle ošklivý kód v PHP jsem už dlouho neviděl. Již chápu, proč si někteří o programátorech v PHP myslí nepěkné věci. Přitom v PHP se dá programovat čistě a objektově, na straně databáze si vytvořit ORM a v prezenční vrstvě využívat XML spolu s DOM a XSL.
Sám používám pro zpracování formulářů v PHP vlastní (zatím nedokončenou) třídu, která se velmi inspirovala syntaxí XForms. Vytvoření formuláře včetně kontroly vstupních dat je pak záležitost editace jednoho XML souboru.
<?php echo '<br />'?> <b>Kontakt:</b> <?php echo '<br />'>by stacilo
<br /> <b>Kontakt:</b> <br />a este takovej trik kterej sem taky nedavno objevil:
I have <?=$foo?> foo. == I have <? echo $foo?> foo. viz man echo
Obcas se to hodi.. neco zprehledni...
PHPčkáři jsou schopni vyplodit takové prasečiny, že to překoná fantazii všeho co si dokážete představit.
Ono to souvisí s tím, že práce okolo webů, tedy i PHP patří obecně k těm nejhůře placeným v IT sektoru a prakticky každý, kdo má na něco víc, než je psaní v PHP jakožto hlavní náplň, odchází jinam dělat něco jiného. Takže logicky zbývají jakožto "profesionální programátoři v PHP" pouze Ti, kteří nic jiného nezvládnou, tedy kvalita tomu odpovídá. Samozřejmě nechci zobecňovat a najdou se i velmi dobří lidé.
Já bych hlavně předeslal, že při používání souboru jakožto "emulace databáze" je potřeba si uvědomit, že za jistých okolností dojde k paralelnímu zápisu od několika zapisujících a je třeba to v PHP řešit.Coz je velmi problematicke, pokud se to ma udelat prenositelne. Osobne jsem to resil jen jednou - u celkem jednoduche ankety. V ostatnich pripadech jsem problem vysvetlil problem zakaznikovy a ten si vzdy radeji priplatil za databazi. A v tom prvnim pripade jsem vyuzil toho, ze operace prejmenovani souboru je na unixech atomicka, takze nemuze dojit k tomu, aby soubor zustal v nejakem nedefinovanem stavu. Jedine jednoduche reseni je ukladat data ko samostatnych souboru, pak staci zajistit jen unikatni jmeno. Nebo je mozne nechat osetreni paralelniho zapisu na necem jinem, napr. poslat vyslednky na lokalni mailovou schranku.
flock() je IMHO dost přenositelné řešení. (Kdo provozuje server s FAT souborovym systémem nic jinýho než ztrátu dat stejně nemůže očekávat a NFS u webserverů taky neni zrovna obvyklé řešení...)
Neexistuje žádná bezpečná a neproblematická cesta pro paralelní práci se soubory pomocí PHP. Jediná neproblematická a plně přenositelná cesta je použití databáze.
To ano, ale pokuď už se se soubory pracuje, je to nejlepší z možných "špatných" řešení. Rozhodně mnohem lepší, než všechny ty zde navrhované "řešení". Já používám většinou něco takového:
$fp = fopen($soubor, 'a');
ignore_user_abort(1);
for($i=0; $i<3; $i++) {
if (flock($fp, LOCK_EX)) {
fwrite($fp, $data);
flock($fp, LOCK_UN);
break;
}
usleep(100);
}
fclose($fp);
ignore_user_abort(0);
O moc bezpečnější "univerzální" řešení v PHP nevymyslíte, tak proč vymejšlet ptákoviny...
error_log("Obsah, co se zapise do souboru", 3, "jmeno_souboru.pripona");
Jak vidíte, v PHP jde leccos a je tam daleko více možností, škoda že za PHP tak málo platí, takže v PHP už moc nedělám. Jak vidíte, lepší a bezpečnější řešení v PHP vymyslím docela snadno
Jak vidíte, lepší a bezpečnější řešení v PHP vymyslím docela snadno
Já ale mluvím o "univerzálním" řešení, tedy takovém, kde můžu zapisovat od začátku souboru nebo v něm dokonce seekovat...
Celou dobu se tu snažím ukázat, že než tyhle "hacky", který fungují pouze ve speciálních případech a spoléhají na vlastosti funkcí, které nikde nejsou zdokumentovány (zdá se logické, že funkce pro zápis do logu by měla být "odolná" proti vícenásobnému současnému zápisu, ale je tomu skutečně tak?!) to radši "standartní" (PHP funkce sloužící právě k tomuto účelu) flock() i s jeho nedostatky. Protože o "vnitřnostech" PHP (na všech možných OS/souborových systémech!) a tudíž i atomičnosti operací víme ve skutečnosti kuloví (pokuď u snídaně běžně louskáte zdrojáky PHP tak se omlouvám...
).
) -- absolutne bez ohledu na to, jaky jsi zacatecnik a bez ohledu na to jak mala by ta aplikace mela byt. Je to vec cistoty navrhu a kdyz se to naucis u prkotin, bude to pak pro tebe samozrejmost i u vetsich veci.
A jaké nástroje jsou pro paralelní zápis do XML tak, aby byla zachována konzistence? Neútočím, jenom se ptám, byla by to príma.Priznam se, ze nevim. Na flat XML jsem stavel vzdy jen aplikace, u kterych jsem vedel, ze je prakticky nemozne, aby k takovemu scenari doslo. Coz priznavam -- je u guestbooku blbost. A i celkove je to dost divne, hlavne proto, ze by musel zamykat kvuli zapisu jednoho zaznamu cely soubor. Pri pouziti TXT ale moc techto problemu nevyresi. Nejlepsi asi bude precejen zvolit nejakou databazi, treba jen SQLite. Vzdyt nejakou tu relacni DB clovek dneska najde snad na kazdem hostingu. A i pak se to XSLT da pouzit (treba s Query2XML, celkem schopna knihovna).
Panebože ty jsi magor :D Takovouhle píčovinu jsem už dlouho nevyděl! Nejde ti to blbečku.
Tiskni
Sdílej: