webrebel zaklady programovania a oop objektovo orientované programovanie

Iné prostredie

napísal , 17 Apr 2012

Nainštaloval som Chrome Canary.

Canary je dev build prehliadača, updatovaný takmer denne. V praxi to znamená, že dostaneš prístup k experimentálnym fičúram hneď, ako je to možné. Chrome ich má dosť, väčšinou sú skryté v about:flags (napíš about:flags do adresového riadku).

Pre programátora je najužitočnejšie asi to, že má vždy prístup k najnovšej verzii developer tools (ctrl+shift+i / F12), ale dôvod prečo som to nahodil je, že Canary vie šlapať súčasne s obyčajným Chrómom. Čo som využil na vytvorenie dvoch prostredí - developerského a browsovacieho.

V našej branži k robote stačí internet a počítač a schopnosť potlačiť slzu a sadnúť k nemu ráno zas. A aj napriek tomu, že nemusíme, kopa z nás uteká do kanclov a coworking officov a tak. Preč z domu. Chceme vybudovať odlišný rytmus pre prácu a civil a chceme jasne cítiť, kedy skončilo jedno a začalo druhé. Keď vypadnem officu, chcem cítiť, že robota skončila a s tými paddingami sa budem jebkať zajtra, aj keď by to trvalo len 5 minút.

Rozhodnúť sa prestať sa dá aj doma, ale odolať je ťažké a ľudia sú slabučkí.

I can resist everything except temptation. - Oscar Wilde

Ok thanks, now back to your grave Oscar.

Iný prehliadač je virtuálny odvar kancelárie.

Ako svetový šampión paniky a prokrastinácie, vždy keď sa v robote objaví čelindž, otváram nový tab a klikám na všetky bookmarky. To samozrejme môžem aj Canary, keďže väčšina bookmarkov a nastavení sa synchronizuje, ale tam nie som na stránkach prihlásený;)

A keďže ľudia sú nielen slabučkí ale aj leniví (a keď hovorím "ľudia", myslím "ja"), ono to stačí. Hádam to nebudem manuálne vypĺňať? Sa na to vyprdnem a vrátim sa k robote.

A keď Canary zavriem, viem, že robota skončila. Že má inú ikonku a že v ňom mám iné Extensions a vôbec fakt, že vyzerá inak, je tiež bonus. A že mi v ňom nikde nesvieti počet neprečítaných mailov je ešte lepší bonus;)

Pred časom som písal o prechode z Opery na Chrome. Je tam zoznam extensions, ktorý sa odvtedy zmenil. Navyše sa rozdelil, pretože developerské v browsovacom prostredí nepotrebujem a naopak. Takto nejak to vyzerá teraz:

Ako na responsive design

napísal , 10 Apr 2012

Responsive design je v poslednej dobe je tak omieľaný trend, že o ňom hovorí pomaly aj moja babka. V zásade ide o fajn koncept. Namiesto kódenia a udržiavania niekoľkých samostatných verzií stránky (normálnej desktopovej verzie a mobilnej verzie) sa spraví jedna s pár dodatočnými informáciami, vďaka ktorým sa stránka prispôsobí akémukoľvek (rozumnému) rozlíšeniu. Od mobilu až po FullHD display.

Otvorte si demo, pohrajte sa so šírkou prehliadača a hneď pochopíte.

Skôr, ako prejdem ku konkrétnemu kódu, by bolo vhodné povedať, prečo uprednostniť responsive design pred starším trendom mobilných verzií.

Nuž. V ideálnom prípade stačí responsive design vytvoriť pridaním pár riadkov CSSka, v horšom aj pár riadkami JavaScriptu (tj. robota na pár hodín). Mobilná verzia je proste iná verzia generovaná serverom. Čiže má samostatné HTML, CSS a zrejme aj JavaScripty. Ak chcete niečo pridať, musíte prepisovať obe verzie.

SXSW a Silicon Valley, smutno je mi z vás

napísal , 22 Mar 2012

Čítam si zápisky zo SXSW a Silicon Valley a hovorím si džízs, dúfam, že sa to dá aj inak. Že toto nie je to, o čom všetci snívate. Že toto nie je to, o čom sníva chlapec, čo spravil "Dostaňte ma do Silicon Valley" stránku.

"Ak startup nema v popise medzi prvymi slovami mobile, nikoho nezaujima. Ak vsak ma social, vsetkych odpudzuje"

Hňeď prvá veta a už je to na facku.

Predpokladám, že pár mesiacov dozadu nikoho nezaujímal, ak tam nemal 'social'. A to aktuálne 'mobile' bude pozajtra rovnako pasé. Fráza nahradená frázou a takto donekonečna. Žiadna nemá váhu. Ak sú všetky zameniteľné a za týždeň zamenené budú, sú zbytočné.

"Vas projekt musi mat potencial byt za par rokov predatelny za minimalne 10-tky milionov dolarov, ale najlepsie za 100m. To su tu startupy." ... "Ak nemate aspon 20% rast mesacne, ste nezaujimavi."

Nikoho vlastne nezaujíma čo robíte, ak mu zarobíte. Veľa.

"Gamification je povazovany za cervenu zastavu. Pomaly sa potlaca gamification a nahradza sa geoknowledge informaciami. Viral, social, web je out."

A čo je in? Wait, nič mi nehovor.

Všetky tieto buzzwords sú nahraditeľné a nahradené budú. Nemajú žiaden reálny dopad na produkt, nehovoria nič o jeho kvalite a teda by nikoho nemali zaujímať. "Aká návnada funguje na investorov tento týždeň?" To je celé..

yablko.sk

napísal , 9 Mar 2012

yablkosk logo

Zbúchal som stránku: yablko.sk

Za posledný rok a pol som v rámci seriálov Nauč sa jQuery, Nauč sa CodeIgniter a
Yablkov TurboTip nahral viac ako 60 videocastov. Plus nejaké na tejto stránke, prístupné tiež cez YouTube. Dokopy to dáva približne veľa hodín materiálu.

Za ten čas zopár ľudí prejavilo záujem podporiť ma.

Videá robím, pretože ma to baví. Pretože z toho mám dobrý pocit. Pocit, že pomáham. Že môj web-dizajnérsko-developerský skill pochybnej hodnoty používam k niečomu menej pochybnému, ako je hrabanie peniazov. Avšak človek sa predsa len potrebuje najesť. Čas od času. A je pravda, že zbúchať také video trvá niekoľkonásobne dlhšie, ako video samotné. A veľa hodín × niekoľkonásobne viac hodín = uff času.

Takže pre každého, kto mi chce pomôcť konečne našporiť na nový sáčik cestovín: yablko.sk - paypal donate button, číslo účtu alebo odkaz na amazon whishlist :)

Ak to teda nájdete vo svojom srdci (a keď hovorím srdce, myslím peňaženku), hoďte po mne zopár grajciarov a ja možno vaším smerom vypľujem ešte zopár videí:)

Vďaka:)

Update 1:

Bez vás by som to nedokázal.
A teraz poďme ďalej, treska a 3 rožky!

Ignorantské INSERTy

napísal , 29 Feb 2012

INSERT? Fuck that!
3 malé tipy, s ktorými si ušetríte pár riadkov kódu a budete takí ťažkí frajeri, že sa už nezbavíte ženských (chlapov, v prípade, že to číta nejaká programátorka (do they even exist?:)).

Predstavte si, že vaša životná púť dospeje do situácie, kedy chcete niečo zapísať do MySQL tabuľky, ale nechcete sa zapodievať kontrolami, či daný záznam už existuje. Čo s tým..

1) Chcem vložiť riadok do tabuľky. Ak už existuje, nič sa nebude zapisovať.

INSERT IGNORE INTO vajcia (id, nazov, kaliber)
VALUES(NULL, 'Vajčisko', 'masívny')

Úplne normálny INSERT s tým rozdielom, že keď ak by sa bili primárne kľúče alebo unikátne kľúče (čiže záznam už existuje), query sa odignoruje. Vloženie sa odignoruje alebo riadok sa uloží neočakávaným spôsobom aj ak bude obsahovať iné chyby, na čo si treba dávať pozor.

2) Chcem vložiť riadok do tabuľky. Ak už existuje, chcem update-núť jeho údaje

INSERT INTO checkins (id, id_user, id_venue, count, last_checkin)
VALUES (NULL, 230, 6434, 1, NOW())
ON DUPLICATE KEY UPDATE count = count + 1, last_checkin = NOW()

Príklad ukazuje niečo ako "check in" na 4square. Pri prvom raze sa vloží záznam, že som na nejakom mieste vôbec bol, pri ostatných razoch sa zvýši počítadlo návštev a čas posledného check-in-u sa aktualizuje. Je to v podstate INSERT a UPDATE spojený do jednej query.

3) To isté čo druhý prípad, s malým rozdielom
Ak by som vkladal nejaký dlhý text, musel by som ho v predchádzajúcom spôsobe zopakovať 2x (raz v INSERTE a raz v UPDATE časti). Pri extrémne dlhých textoch by nám to teoreticky mohlo vadiť. Situáciu zachráni REPLACE.

REPLACE INTO poznamka (id, id_projekt, datum, text)
VALUES (NULL, 42, '2012-12-12', 'Všetko som vybavil, môžme spustiť tú apokalypsu... [1MB dalsich kecov]')

Je tu však jedna zradafeature. Ak záznam existuje, vymaže sa a vloží sa nový, čiže sa zmení aj primárny kľúč (ak je AUTO_INCREMENTovací).

Bonus
Prvý prípad s INSERT IGNORE sa dá riešiť trocha lepším, ale divnejším spôsobom, použitím ON DUPLICATE KEY UPDATE, takto:

INSERT INTO vajcia (id, nazov, kaliber)
VALUES(NULL, 'Vajčisko', 'masívny')
ON DUPLICATE KEY UPDATE id = id

Výhoda je, že sa neignorujú žiadne chyby, iba duplicitné kľúče. Nevýhodou je trocha mätúca syntax.

Teraz si už len treba dávať pozor na tie ženské.

Bookmark party!

napísal , 23 Feb 2012

Zopár webových tools, čo mám v bookmarkoch:

Snippety
html-ipsum.com - predvyplnené HTML listy a formy a tak
wp-snippets.com - WordPress snippets
baconipsum.com - BACON!

Text
google.com/webfonts#ChoosePlace:select - Google Web Fonts
fontsquirrel.com/fontface/generator - @font-face generátor
network-science.de/ascii - ASCII generátor
copypastecharacter.com - keď potrebuješ spešl znak

CSS
matthewlein.com/ceaser - pomoc s CSS transitions
border-radius.com
prefixr.com - doplní vendor prefixes ( -moz- -webkit- atď. )
css3please.com - niečo podobné, kind of
necolas.github.com/normalize.css - dobrý štartovný bod pre CSS

Grafika a obrázky
0to255.com - odtiene farieb, pre border a hover a tak
subtlepatterns - patterny pre background
placehold.it - image placeholders
spriteme.org - vytvorí sprite z obrázkov.. hádam
ajaxload.info - generátor AJAX loading gifov

Javascript
picnet.com.au/picnet_table_filter.html - jQuery plugin na filtrovanie HTML tabuliek
fgnass.github.com/spin.js - AJAX loading "obrázky"
rickharrison.github.com/validate.js - form validácia
github.com/bartaz/impress.js - framework na prezentácie

Pieskoviská
jsbin.com
jsfiddle.net
tinkerbin.com
cssdesk.com
css3.mikeplate.com

Feature Detection & Polyfills
modernizr.com - skript zistí, čo prehliadač podporuje
html5please.com - navrhne čo použiť, ak prehliadač danú feature nepodporuje
github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

Ostatné
dochub.io - instantná dokumentácia pre CSS, jQuery a tak vôbec
chopapp.com - keď chcete zdieľať kód
html5boilerplate.com - v kóde sa dá nájsť kopa fajn trikov
initializr.com - nastav čo chceš od boilerplate
htmlemailboilerplate.com

Niektoré používam často, niektoré občas a niektoré mám odložené na horšie časy. Možno niekomu pomôžu.

Závislosti na iOS

napísal , 1 Feb 2012


Hovoríte, že máte príliš veľa voľného času? Že RSSká pri sraní už nie sú to pravé? Že by sa zišla nejaká poriadna závislosť? Tak to ste na správnom mieste. Nechajte si poradiť od odborníkov na zabíjanie času.

Aby som nespomínal to, čo už všetci poznáme (Angry Birds), pozrieme sa na pár menej známych tipov.

Super Crate Box

Ešte dobre, že táto hra nevyšla v ére arkádových automatov lebo by zbavila svet všetkých drobných. Čo by bolo vlastne fajn, aj tak sú mince otravné. Anyway. Základom je otrepaná myšlienka zbierať krabice, z čoho si robí srandu už samotný názov. Čo robí tento koncept čerstvým, je náhodná zbraň v každej zobranej krabici. Vďaka tomu odpadá potreba sledovať množstvo nábojov a rozýšlanie nad tým ktorú zbraň použiť v danej situácii. Musíte sa brániť stále niečím iným proti zástupom nepriateľov, ktorí sa donekonečna spawnujú z hora.

Ako správna arkádová plošinovka, je aj SCB ťažké jak sviňa a ide hlavne o najvyšší počet bodov. Kráča však s modernými trendami a rôzne úlohy a počty nazbieraných krabíc odomykajú ďalšie levely, postavy a herné módy. Najzávisláckejší komponent je jednoznačne systém používania zbraní a solídne ovládanie. To poskytuje kopec priestoru na zdokonaľovanie sa. Dáte viac ako 101? ;)

Stiahnete z App store (1.60€) alebo dokonca zadarmo na PC a Mac

...45678910111213...