Schrödingerův web
Během FTP uploadu je váš web současně funkční i rozbitý a vy nevíte, co z toho právě vidí návštěvník. Prázdný soubor s tabulkou práv? Fatal error? Poškozená data? Atomický upload existuje, ale kolik z vás prostě spoléhá na štěstí?
Během FTP uploadu je váš web současně funkční i rozbitý a vy nevíte, co z toho právě vidí návštěvník. Prázdný soubor s tabulkou práv? Fatal error? Poškozená data? Atomický upload existuje, ale kolik z vás prostě spoléhá na štěstí?
Primitivní náhrada znaků, říkáte? Dokud nepřijde Richard Müller se svým ü. Správné převodní tabulky pro tři kódování, bleskový strtr() a zrádný iconv, který na jednom hostingu funguje a na druhém vrací otazníky.
Funkce iconv je královna převodů kódování. Ale co když ji nemáte? Připravil jsem převodní tabulky pro strtr(), které zvládnou přechody mezi WINDOWS-1250, ISO-8859–2 a UTF-8. Některé jsou paradoxně rychlejší než samotný iconv.
Spousta programátorů se pokoušela automaticky detekovat kódování českého textu. Nikomu to pořádně nefungovalo. Mně ano: pár řádků PHP, chytrý trik s preg_match v unicode režimu a 100% úspěšnost ověřená na stovkách tisíc vzorků.
Výjimky vs. návratové kódy? Volba mezi rychlou smrtí a postupným vykrvácením. Rozbírám slavnou přestřelku Spolsky vs. Batchelder, ukazuju, proč mají oba pravdu i nepravdu zároveň, a začínám hledat řešení, které neskončí ani jedním.
Výjimky vypadají elegantně, ale co když je to jen líbivá fasáda? Rozebírám, proč by chyba měla umřít společně s funkcí, zatímco výjimky mají zlozvyk přežívat a šířit se dál. Odpověď si nechávám na příště, protože taky umím být zrádně elegantní.
Místo podnětné diskuse mi přišly desítky žádostí o zdrojáky. Tak prosím: databázový layer postavený na filosofii „raději jeden geniální nápad než 10 000 hloupých řádků kódu“. Návykový zápis SQL, chytré modifikátory a ActiveRecords nehrozí.
Nejlepší důvod mít validní web? Obrana proti bláznům, co projíždějí validátorem cizí stránky. A já zvažuju, jestli už dozrála doba napsat, proč XHTML není žádná výhra. Riskuji ukamenování. Nebo sežrání zaživa. Bez chleba.
Všichni věděli, že „downlevel-revealed“ podmíněné komentáře nejsou validní HTML. Tak jsem je přepsal, aby byly. Stačí chytře přerušit a znovu otevřít HTML komentář, a máte plně validní zápis, který IE nevidí, i kdyby se rozkrájel.
Macromedia vám doporučí kód, který je nevalidní, proprietární a na alternativní obsah kašle. Po rozboru všech tehdy známých přístupů jsem našel řešení přes podmíněné komentáře. Není oslnivě elegantní, ale jako jediné skutečně funguje.
To je vše. Další články se teprve rodí.