webrebel html css javascript laravel oop php mysql wordpress kurz

"Zbytočné" a "zbytočné pre mňa" je rozdiel

napísal , 25 Apr 2012

Ešte sa mi nepodarilo začať seriál bez toho, aby mi nejaký dobrák povedal, že "Toto je zbytočné", "Toto už všetci vedia" alebo "Načo? Šak to je ľahké a na nete je toho kopa".

Verím tomu, že niektorí z nich to myslia v dobrom a chcú reálne pomôcť. Ale mýlia sa.

Pozri.. že niečo vieš ty, neznamená, že to vedia všetci.
Že je niečo zbytočné pre teba, neznamená, že je to zbytočné pre všetkých.

Ty môžeš byť majster sveta v jQuery, ale za tebou stoji 10 ľudí, ktorí ani netušia, o čom je reč. Môžeš tvrdiť, že jQuery je jednoduché a nikto nepotrebuje tutoriál, aby sa to naučil. A máš pravdu. Existuje ale kopa ľudí, ktorí sa túto jednoduchú vec naučia z tutoriálu radšej. A možno ani nevedia, či jQuery chcú reálne používať a nemajú teda dostatočnú motiváciu hrabať sa v dokumentácii. Ale možno si pozrú jedno video a zistia, že by ich to aj mohlo baviť a začnú sa tomu venovať.

Ak raz začnem seriál nazvaný "Tvorba WordPress pluginov pre pokročilých" a začnem v ňom vysvetľovať rozdiel medzi Posts a Pages, bude "toto už všetci vedia" pádna pripomienka. A bude to konštruktívna kritika.

Dovtedy ale pochop, že "zbytočné" a "zbytočné pre mňa" je rozdiel.

Nikto sa nenarodí so schopnosťou vytvárať pluginy. Jediný rozdiel medzi tými čo to vedia a tými čo nie, je ten, že prví majú viac skúsenosti. To je celé. Nie sú "lepší" a nemajú právo zhadzovať tých druhých, alebo diktovať čo potrebujú a čo nie.

Točím sa tu dokola, furt o tom istom, ale jednoducho ma fascinuje, koľko ľudí tento jednoduchý koncept nechápe.

Robíme WordPress - nový seriál!

napísal , 23 Apr 2012

Hej! Nauč sa jQuery a Nauč sa CodeIgniter majú nového súrodenca! Začal som seriál, nultá epizóda:

Je o WordPresse.
Budeme v ňom robiť stránky a témy a pluginy a widgety a podobné srandy. Bude developersko-dizajnérsky. Nebudem vás teda učiť "písať články vo wordpresse" alebo iný trapas.

Seriál predpokladá základné vedomosti HTML a CSS a PHP a tak vôbec. Ak ich nemáte, počkajte na ďalšie seriály, aj na to príde:)

Volá sa "Robíme WordPress". Predbežne. Asi aj finálne.
"Dizajnovanie pre WordPress" sa mi nepáčilo a "I R WURDPRSS AND SO CAN U" by prešlo, len keby ste všetci šlahnutí jak ja. Takže "Robíme WordPress", lebo je to krátke a výstižné.

So have fun & stay tuned! (It's Bieberific!)

Btw hudba je od @tscorbeaux a dá sa stiahnuť tu. Šikovný chlapec. And ladies? He's totally single.

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é.

...3456789101112...