Registrácie otvorené, úspech, nový kurz

napísal , 9 Mar 2015

Registrácie do kurzu Webrebel sú znova otvorené. A pravdepodobne naveky. Čiže si to môžete kúpiť kedy chcete, iba ten support je časovo obmedzený do leta. To bol hlavný dôvod, prečo mal kurz v prvom kole obmedzené registrácie a štartovací dátum - aby sme obišli situáciu, že niekto si kurz kúpi o 3 roky a bude chcieť 3 mesačný support. To by som potom poskytoval podporu do konca života a nezostal by mi čas na iné veci.

Ako napríklad na nový kurz.

Začal som s frontendom, chce to nejaký backend. Po konzultácii s facebookom a twitterom voľba padla na PHP a Laravel framework. PHP nie je v posledných rokoch zrovna sexy jazyk, ale absolútna väčšina jobov u nás chce práve PHP programátorov. Entry-level joby sú PHP, preto je to stále solídna voľba pre začiatočníka. A na to netreba zabudnúť - toto bude seriál pre začiatočníkov. PHP možno "nie je budúcnosť", ale ak má ten kurz byť reálne užitočný, zvoliť najpoužívanejšiu technológiu neznie ako blbý nápad.

Ruby už má pokryté learn2code, s ostatnými klasikami nemám veľké skúsenosti a Node.js, React/Flux, Meteor sú zaujímavé skôr pre skúsených programátorov. Nechcem začiatočníkom modzgy mútiť všetkými tými javascriptovými divočinami a navyše pri nových technológiách si treba dať pozor. Taký Angular bol nedávno druhý príchod Krista, dnes sa naň už nadáva. Nechcem dať mesiace života do niečoho, čo na konci už možno bude out:) Takže bude to pre začiatočníkov a bude to overená technológia, ktorá ešte pár rokov nikam neodíde.

Ešte nemáme stanovený žiadny dátum, ale niekedy tento rok. Medzičasom sa môžete nahlásiť do Webrebela, prípadne ho podarujte známym, bude celý veselý z toho:) A tu je môj článok O úspechu. Rozoberám v ňom, či považujem rebela za úspech a čo vlastne to slovo pre mňa znamená. Tam budem dávať také osobnejšie veci, brm zostane na tech stuff.

24. 3. tiež začína ďalší learn2code Webdesigner kurz so mnou ako inštruktorom. To je ten, kde učím naživo, v triede s ľuďmi. Tak sa prihláste, kým je čas! Hlavne, ak ste ženy, pretože come on, hádam nenecháte mužov vyhrať:)

Nové videotutoriály

napísal , 6 Jan 2014

V krátkosti - začal som točiť nové videotutoriály. Chcem prejsť cez základy (HTML, CSS, PHP, MySQL) k ďaľším technológiám, možno jazykom, postupom. Chcem spraviť seriál pre PHP framework Laravel, chcem dokončiť WordPress. Niektoré seriály chcem vydať, až keď budú hotové celé. Čas od času možno vydám video samostatne.

Chcem, aby vychádzali na novej stránke. Začal som na nej pracovať. Neviem, kedy bude hotová. Snáď čoskoro. Neviem, v akom poradí, v akej forme a ako často budú videá a seriály vychádzať. Treba tomu dať čas, treba sa zamyslieť, treba skúsiť, všetko sa uvidí. Niektoré seriály budú možno platené.

Teší ma úspech predošlých seriálov a som veľmi rád, že napriek dlhej odmlke sa stále nájdu ľudia, ktorí chcú viac. Ja tiež chcem. Baví ma to. Zároveň však dúfam, že neutečiete, ak si občas vypýtam nejaký peniaz:) Nie za všetky videá. Za niektoré. Spraviť niečo a spraviť to dobre, stojí naozaj veľa času. A toho voľného moc nazvyš nie je. Snáď sa dohodneme:) Sľubujem, že spravím všetko pre to, aby sa to prípadným platiteľom oplatilo.

Ďakujem za čakanie.
A ďakujem za pozornosť.

Keď budú novinky, podelím sa o ne. Tu alebo na twitteri. Aj keď teda tam budete musieť znášať kopu tutoriálov-sa-netýkajúcich žvástov, takže je to vás:)

Držte palce, nech to ide rýchlo.

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

Najrýchlejší úvod do vytvárania web stránok

napísal , 3 Oct 2010

Tento návod som sa rozhodol napísať, keďže už dosť ľudí po mne chcelo, nech im vysvetlím ako sa dajú tvoriť vlastné web stránky, ako to všetko okolo nich funguje a kde sa to naučiť. Samozrejme, že si môžu nakúpiť knihy, ale tie bývajú spravidla tak rozťahané, že ich veľa ľudí ani nedočíta. Plus zaťažujú množstvom detailov, ktoré na začiatku iba mýlia a zdržujú.

Preto píšem tento návod čo najstručnejšie, aby slúžil ako alternatíva k prehnane ukecaným knihám a aby ste namiesto zbytočného čítania mohli radšej kódiť. :p

Najskôr zbežný prehľad o tom, čo všetko sa deje, keď si v prehliadači otvoríte nejakú stránku. To aby ste vedeli kde sa vlastne používajú všetky tie technológie ako je HTML, CSS, PHP, SQL, JavaScript, jQuery, AJAX a iné.

1) Zadáte URL adresu - to je celý ten text, čo vidíte hore v address bare prehliadača.

2) Na základe názvu stránky (t.j. domény) sa zistí IP adresa servera, na ktorom sa nachádza hľadaná stránka. (Na toto slúži DNS server, ktorého adresu poznáme)

GROUP_CONCAT

napísal , 22 Sep 2010

Jedným z dosť užitočných MySQL príkazov, ktorý nie je až taký známy, ako by sa na užitočnosť takého kalibru patrilo :), je GROUP_CONCAT. Používa sa ako agregujúca funkcia (s GROUP BY), podobne ako napríklad funkcia AVG, akurát že nerobí priemer zo všetkých prvkov stĺpca, ale ich pospája za sebou do jedného stringu.

Ako to funguje a načo je to dobré?

12