Jediný doctype, ktorý potrebujete

napísal , 5 Oct 2010

je tento <!doctype html>. Štruktúra HTML dokumentu potom vyzerá takto:

<!doctype html>
<html>
  <head>  
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>

  </body>
</html> 

Keď píšete stránku, chcete písať stránku a nie nezmyselné riadky plné divných znakov, u ktorých možno ani neviete, čo znamenajú (a ktoré prehliadače často aj tak ignorujú). Tento doctype je pekný, funkčný, jednoduchý a keď ho použijete, môžete pri <script> a <link> kľudne vynechať style="" atribút, whee! :)
 

Funny thing - prehliadačom je totálne jedno, aký doctype im podhodíte. Ten je tam aj tak len preto, aby sa neaktivoval quirks mode, čo je zloba, takže <!doctype html> a sme v pohode.

Že sa zbavujeme dodatočných atribútov nás tiež trápiť nemusí, browser to robí na pozadí tak či tak sám. Z <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> ho zaujíma iba <meta charset="utf-8"> tak prečo písať viac? Nový doctype je v mnohom len o priblížení sa k tomu, ako prehliadače skutočne fungujú.

 

pro tip: <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> prinúti IE vždy použiť najnovší renderovací engine alebo Chrome Frame.

Hviezdičkové hodnotenie cez jQuery [video]

napísal , 1 Oct 2010

Kód, resp. jeho tvorba sa zvykne blbo vysvetľovať v textovej podobe, preto sa o to občas pokúsime formou videa. A keďže opakovanie je matka múdrosti, na začiatku videa si vypočujete to, čo ste práve prečítali :)

V tomto prvom brm.sk video tutoriále krok za krokom ukážem, ako pomocou jQuery spraviť hviezdičkové hodnotenie, ktoré sa používa v našich recenziách.

"Pre najlepšiu kvalitu zvoľte fullscreen HD.", odkázal Captain Obvious.
...

Shutter Island (2010)

napísal , 1 Oct 2010

shutter island review header
by Martin Scorsese

"He can't honor his child without remembering, he can't love his wife without forgetting."

sú slová scenáristky Laety Kalogridis, ktoré vystihujú podstatu tohto psychologického thrilleru s Leonardom DiCapriom v hlavnej úlohe. Leo hrá vyšetrovateľa Teddyho Danielsa, ktorý prichádza na "ostrov" vyriešiť prípad zmiznutej pacientky psychiatrickej liečebne.
...

Click.. me?

napísal , 28 Sep 2010

good vs evil

Je iritujúce keď neviem, na čo môžem na stránke kliknúť. A je mega iritujúce, keď to neviem ani keď som po tom práve prešiel myšou. Looks like a job for Captain Obvious!

Ikonka "ruky" je vcelku jednoznačný indikátor kliknuteľnosti a jedno z riešení ako zabrániť konfúzii je pridať patričným elementom class="click" a potom:

.click { cursor: pointer; }

The Vicious Kind (2009)

napísal , 27 Sep 2010

the vicious kind review header
by Lee Toland Krieger

The Vicious Kind má všetko, čo by ste čakali od komornej indie drámy - pochmúrnu atmosféru, peknú kinematografiu, melancholickú muziku (pripomínajúcu kľudnejších Sigur Rós) a disfunkčné medziľudské snahy. Má však aj Adama Scotta.
...

JavaScript - bodkočiarky a iné zrady

napísal , 27 Sep 2010

Ktorý spôsob indentácie (zarovnávania? uhm..) používate?

function meow ($meows) {
  // oh noes, god just killed a kitten :(
}
function meow ($meows) 
{
  // happy kitty, whee
}

Asi je zrejmé, ktorý preferujeme my ;) Douglas Crockford by nám ale jednu vylepil, keby to vidí. Prečo? Hah.. funny story..

Problém s cache pri uploade obrázkov

napísal , 25 Sep 2010

Ak vaša stránka podporuje (vlastnú implementáciu) ikoniek/avatarov je možné, že ste sa stretli s týmto - po uploade nového obrázku sa stále zobrazuje obrázok starý. Ak sa nový zobrazí po refreshi, samotný upload funguje. Obrázok sa však musí zobraziť hneď, nemôžte od ľudí očakávať zbytočný refresh, navyše je to confusing.

Problém je, že obrázku zrejme zostal rovnaký názov súboru, na čo si prehliadač povie "Heeej, toto som už raz sťahoval! To aby som to radšej vytiahol z cache! Mwahahahaa..", podhodí starú verziu a cíti sa múdro.

Jednoduchý spôsob ako ho oklamať je pridať na koniec názvu náhodne vygenerovaný reťazec znakov. Napr.:

<?php 
  $randstr = base_convert(crc32(mt_rand()), 10, 36);
  $nazov = "$subor-$randstr.jpg";
?>

Riešení je kopa, dobré je začať s náhodným číslom (alebo použiť uniqid(), čo vygeneruje reťazec na základe aktuálneho času v mikrosekundách), prehnať to cez nejakú tú hashovaciu funkciu (md5(), sha1()) a na koniec z toho vystrihnúť zopár znakov.

Takže - pridajte niekoľko náhodných znakov do názvu súboru a prinútite browser vyhnúť sa cache pamäti. *lusk*