Webrebel 2 - PHP, MySQL, Laravel 5

napísal , 30 Apr 2015

Nový kurz WordPress pre programátora

V kurze Webrebel som spomenul, že vývoj (pompézne slovo pre "robenie") webových aplikácií (pompézne slovo pre "stránky") sa delí na front-end a back-end. Webrebel je o front-ende. Čiže vieme spraviť to, čo používateľ vidí, na čo kliká, čo používa. Ale ak nám ten poskytne nejaké údaje, nevieme ich spracovať.

Na to treba back-end. To, čo beží na serveri. Čo presne to znamená? Ja vám poviem, čo presne to znamená. A čo sa s tým robí. A ako sa to robí. A prečo sa to robí.

V novom kurze Webrebel PHP - Mysql - Laravel ;)

Kto pozná HTML a CSS, vie spraviť tzv. statické stránky. HTML kód sa vezme taký, aký je, a vyprdne sa na obrazovku. Kto pozná back-endové jazyky (PHP, Ruby, Python, ...) vie robiť tzv. dynamické stránky. Kde človek príde na adresu stránky a server zoberie alebo vygeneruje kúsky HTMLka a poskladá ich do výslednej stránky.

Jednak nám to umožní nejakú tú automatizáciu (napr. môžem vyrobiť jeden header a footer a nechať ho vložiť do každej podstránky) a jednak počas skladania stránky do nej môžem nahádzať veci vytiahnuté z databázy - články, produkty, whatever. A môžem mať používateľov. A registrácie a prihlasovanie a napojenia na facebooky a kade tade a odosielanie emailov a spracúvanie údajov z formulára, ...

Všetko toto a kopu ďalšieho sa naučíte v tomto novom kurze. Budú sa "dynamizovať" stránky a vytvárať rôzne mini aplikácie a možno aj nejaké tie maxi aplikácie a todo listy a blogy a fóra a skutočnejšie firemné stránky a API rozhrania a všetko možné. Úplne že naozajstné stránky, také že naozajstné, so všetkým!

Budeme sa učiť PHP a MySQL a Laravel.
A ľudia sa budú pýtať, že prečo tieto veci a prečo nie iné veci.
Pre nich som spravil videá.

:: Webrebel PHP: Čo sú backend jazyky a prečo PHP?
:: Webrebel PHP: Čo sú frameworky a prečo Laravel?

Teraz si môžete hovoriť, že o tom rozprávam akosi vágne. A nekonkrétne. Pretože, PRETOŽE! A tu príde tá zaujímavá časť - kurz ešte nie je dokončený:) (edit: už je, viď dole) A napriek tomu si ho môžete kúpiť! A učiť sa PHP! Už dnes! Pretože už existujú videá! Zopár.

Rozhodol som sa ho spraviť v Early Access štýle. To je to, kde si na Steame môžete kúpiť hru, kým ešte nie je dokončená a sledovať celý progres až do finišu. Prípadne ho ovplyvňovať. Ide to o to, že si seriál môžete kúpiť hneď, aj keď esťe nie je hotový a pozerať nové videá okamžite, ako ich dokončím. Budete to dostávať postupne. Namiesto čakania na hotový produkt.

Tieto veci trvajú. Niekoľko mesiacov. A v poho môžete počkať, nebudem nikoho nútiť, aby išiel do nedokončeného seriálu. V pohode môžete počkať a keď bude všetko hotové, naraz kúpiť balík desiatok a desiatok (a ďalších desiatok?) videí. Kto sa však chce učiť hneď, má tú možnosť. Byť pri tom od začiatku. Zapájať sa do diskusie, dávať návrhy a pripomienky a sťažnosti a tým pádom korigovať vývoj seriálu.

Kurz bude koncipovaný tak, aby z neho všetci niečo mali. Podobne ako Webrebel. Čiže prejdeme aj cez úplné základy všetkého a budú tam aj videa s absolútnymi základmi programovania. Tak začneme a postupne prejdeme k pokročilým veciam. Je to však kurz primárne určený začiatočníkom. Možno s výnimkou Laravel časti, ktorá predpokladám, že bude na konci zakúpiteľná samostatne.

Bude sa robiť množstvo stránok. Budú sa robiť v čistom PHP, pridá sa k tomu MySQL, budeme sa venovať aj MySQL samostatne, neskôr sa budú robiť v Laraveli. Nie je to iba Laravel kurz. Je to kurz o troch technológiách (PHP, MySQL, Laravel) podobne ako Webrebel bol o troch technológiách (HTML, CSS, JavaScript). Je to kurz pre začiatočníkov a teda nebudeme hneď skákať do frameworkov.

Kurz bude v podobnom rozsahu ako Webrebel, ktorý má cez 120 videotutoriálov, okolo 22 hodín videa a množstvo kontrolovaných domácich úloh (edit 28.6.2015: ok, momentálne je tam cez 50 videí a som možno v štvrtine, takže rozsah bude určite väčší, ako v prvom kurze).

A kto si ho zakúpi v "Skorom štarte", čiže teraz, bude prakticky na úrovni Revolucionárov. Kupujete si to isté, čo mali Revolucionári a tí to mali za 199. Toto stojí 129. Uvidíme, ako sa cena zmení za konci, ale kým kurz nie je dokončený, máte to za zľavnených 129€.

Edit: cena 129 platí do konca mája, potom do konca júna 149, po dokončení bude kurz stáť 199eur. Takže kto má záujem, ponáhľajte:) Samostatný Laravel sa zatiaľ objednať nedá. To potom, keď budú hotové všetky videá.

Edit (2. júl): zmena, odsunul sa dátum "Ostrého štartu" PHP kurzu na 31. augusta. Takže máte zľavnenú cenu o mesiac dlhšie, wheeee! Prečo? Pretože nestíham. Prečo nestíham? Pretože kurz sa rozrastá - bude toho viac, ako som zamýšľal. Každá časť (PHP + MySQL, OOP + Laravel) bude takmer v rozsahu prvého Webrebela, bude toho kopa. Takže odsúvame dátum finišu na neskôr a tiež sa zvyšuje finálna cena. Čo vám ale nemusí vadiť, pretože vy ste šikovní a kupujete kurz teraz, kým je vo vývoji a v akciovej cene:) Samozrejme kto si kurz už kúpil, toho sa zmeny cien netýkajú.

To je myslím pre začiatok dosť infa:) Kurz už beží. Momentálne, ako píšem tento článok, existuje 8 videí (nižšie v článku je neustále rastúci zoznam videí, ktorých je výrazne viac, než 8). A okamžite ako dokončím nové, pribudne tam. A takto sa budú zbierať. Jedno za druhým. Až k finišu. Takže kto pri tom chce byť od začiatku, nech sa páči:) Kto sa chce učiť už dnes, nech sa páči. Registrácie sú otvorené, kurz beží, ideme do toho! Poď aj ty:)

edit: Pôvodne som v článku napísal, že Webrebel má 8 hodín videa. Neviem, odkiaľ som vyhrabal to číslo, možno HTML časť má toľko, Webrebel má dokopy okolo 22 hodín videa a k podobnému číslu chceme smerovať aj v novom kurze.

edit 2: aktuálny (stále rastúci) zoznam epizód ( 4. august 2015 )

edit 3 (4. august 2015): týmto dňom považujem výrobu PHP + MySQL časti za ukončenú. Pôvodne som písal, že PHP + MySQL + Laravel bude trvať okolo 20 hodín. Toľko trvá iba samotné PHP + MySQL. Kurz sa teda rozdeľuje na 2 kurzy, druhý sa bude venovať OOP a frameworku Laravel, bude podobného rozsahu. Kto si kurz kúpi teraz v Skorom štarte, dostane oba (PHP + MySQL aj OOP + Laravel). Neskôr bude možné zakúpiť každú časť samostatne.

  1. Úvod do kurzu, statické vs dynamické stránky
  2. Čo sú backend jazyky a prečo PHP?
  3. Čo sú frameworky a prečo Laravel?
  4. Rozbitie stránky na kúsky + programátor má byť lenivý

rozbaliť zvyšných epizód

  1. Ako zistíme, na ktorej podstránke sme
  2. Navigácia, menu stránky cez PHP + keď neviem, gúgľujem
  3. Automatizujeme navigáciu + nájdeme súbory cez PHP
  4. Automatizujeme navigáciu, part 2
  5. Úvod do tvorby webových aplikácií - Klient / Server princíp
  6. Úvod do tvorby webových aplikácií - Request / Response princíp
  7. Localhost, PHP server na počítači, AMP Stack (Apache, MySQL, PHP)
  8. Nastavíme Mac pre web development - Skryté súbory, plné cesty k súborom, klávesnica
  9. Nastavíme Mac - Rýchle animácie, lepšia konzola, command line devtools
  10. Nastavíme Mac - PHP, Environment Variables, PATH
  11. Nastavíme Mac - Hombrew package manager
  12. Nastavíme Mac - Node, npm, bower, composer, xdebug, brew tap
  13. Nastavíme Mac - Princíp package managerov a PHP Composer
  14. Nastavíme Mac - Inštalujeme Laravel, Xdebug, Dash
  15. Nastavíme Windows pre web development - Nastavenia systému, Windows admin práva
  16. Nastavíme Windows - Klávesnice, Cmder git cygwin konzola
  17. Nastavíme Windows - MAMP, systémové premenné
  18. Nastavíme Windows - Nastavenia php.ini, package / dependency manager
  19. Nastavíme Windows - Environment variables, PATH
  20. Nastavíme Windows - Composer, node.js, npm, bower
  21. Nastavíme Windows - PHP xdebug
  22. [BONUS] - Chyba "CLI prestal fungovať" vo Windows konzole
  23. TODO appka - Úvod a proces výučby
  24. TODO appka - PHPStorm a HTML kód aplikácie
  25. Spracovanie dát z formuláru, GET request, POST request, query string
  26. Na čo sú nám databázy a zobrazovanie PHP chýb?
  27. Zobrazenie PHP errorov a zmena php.ini nastavení
  28. Ako pridať package cez composer require
  29. PHP include vs require vs require_once a spojenie s databázou
  30. Databáza - DB SELECT, načítanie údajov z databázy
  31. Databáza - DB INSERT, vloženie údajov do databázy
  32. Composer update, PHP Error, Whoops a užitočnejšie výpisy chýb
  33. Databáza - Ako vytvoriť databázu a rozchodiť appku u vás doma, SQL import
  34. AJAX - jQuery cez bower, exclude adresárov v PHPStorme
  35. AJAX - Uloženie novej položky do databázy cez AJAX
  36. AJAX - Zobrazenie AJAXom vloženého prvku cez fajnú animáciu
  37. AJAX - Ovládanie klávesnicou a rozmýšľanie nad prioritami
  38. Editačný formulár a vlastná 404 not found stránka
  39. Tvorba kódu, konzistentnosť, refactoring, prepisovanie a hrdosť na kód
  40. Databáza - DB UPDATE, upravenie hodnoty v databáze na novú
  41. Edit a Delete linky na editačný formulár
  42. Dizajn aplikácií, rozmýšľanie nad prioritou a pointou každej feature
  43. Databáza - DB DELETE, vymazanie záznamu z databázy, crawlers & robots
  44. Ako prepojiť HTML element s DB riadkom cez IDčko + globálne premenovanie
  45. Nech PHP aj AJAX používajú ten istý HTML kód, AJAX edit / delete linky
  46. Adresa stránky v Javascripte, ako v JS čítať hodnoty a nastavenia z PHP a CSS
  47. JSON, json_encode, json_decode, preposielanie dát medzi PHP a Javascriptom
  48. PHP funkcie isset, empty, global, vlastné PHP funkcie show_404 a get_item
  49. PHP is_ajax, ako v PHP zistiť, či request je AJAX, učesanie TODO appky
  50. Programovanie - Základy programovania
  51. Programovanie - Filozofovanie o programovaní
  52. Nastavenie Live Edit v PHPStorme, automatický resfresh stránky
  53. Programovanie - Premenné
  54. Programovanie - PHP premenné v praxi, správne názvy premenných
  55. Programovanie - Dátové typy, čísla, integer, float, modulus, type casting
  56. Programovanie - Boolean, if else elseif, ako PHP vyhodnocuje hodnoty a typy
  57. Programovanie - PSR-2 coding style, Content Type header
  58. Programovanie - Stringy, apostrofy vs. úvodzovky, zalamovanie textu
  59. Programovanie - Skryté znaky, new line, line feed LF, carriage return CR
  60. Programovanie - Polia, PHP Array, unset count sort push pop shift unshift
  61. Prechádzanie cez polia, cykly, PHP Loops, foreach while
  62. For loop, vyskočenie z cyklu, continue break, array_filter array_values
  63. Multi-dimenzionálne, asociatívne polia (for real, skutočný názov)
  64. Explode implode map trim, skrátený zápis pre PHP echo
  65. Objekty, PHP Object, kedy asociatívne pole a kedy object, a konverzie medzi nimi
  66. PHP dokumentáciia kedy použiť PHP kedy Ruby, užitočné array a string funkcie
  67. Matice, cyklenie v cykloch, ako zisťovať a overovať dátové typy premenných
  68. Funkcie 1 - Kedy ich vytvárať, ternárny operátor, parametre a argumenty funkcií
  69. Funkcie 2 - Správne názvy funkcií, premenné vo vnútri a mimo funkcie
  70. Funkcie 3 - Funkcií pre lepšiu čitateľnosť kódu, formátovanie čísel v PHP
  71. Funckie 4 - Default hodnoty, variabilný počet argumentov, DocBlock komentáre
  72. Funkcie 5 - Local global premenné, PHP $_SERVER a $GLOBALS
  73. Funkcie 6 - $_SERVER, HTTP_REFERER, redirect status code, func_get_args
  74. Zápisník - Zapisovnie do súboru, timestamp, JSON na ukladanie dát
  75. Zápisník - Čítanie zo súboru, default ?: operátor, formátovanie textu a dátumu
  76. Zápisník - JSON vs PHP serialize, == vs ===, ošetrenie vstupov a prihlásenie
  77. XSS Cross-site scripting, spracovanie viacerých inputov s rovnakým name
  78. MySQL úvod, syntax, databázové debug funkcie
  79. COOKIES, SESSIONS
  80. Session flash message, alerty o úspechu a neúspechu
  81. MySQL - SELECT, MySQL funkcie, formátovanie dátumu, textu a peňázov
  82. MySQL - SELECT 2, usporiadanie, limity, štatistické funkcie
  83. MySQL - INSERT, NULL, DEFAULT, IS NULL, NULLIF
  84. MySQL - UPDATE, DELETE, CREATE, TRUNCATE, DROP
  85. MySQL - SELECT 3, LIKE, COUNT(*) vs COUNT(1), úvod do JOIN
  86. MySQL - INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN, UNION, MULTI DELETE
  87. GROUP BY, HAVING vs WHERE, JOIN vs SUBQUERY, DISTINCT, poradie MySQL príkazov
  88. MySQL - Vytvorenie databázy pre Blog, CREATE TABLE a CREATE TRIGGER
  89. MySQL - Vzťahy 1:N, 1:1, M:N, PIVOT tabuľky, funkcia GROUP_CONCAT
  90. Blog - Magic konštanty __DIR__ a __FILE__, realpath cesty, filtrovanie dát, filter_var
  91. Blog - Čisté URL adresy, odstrániť index.php z adresy, .htaccess
  92. Blog - Čisté adresy, URI segmenty, Routing PART 1
  93. Blog - Čisté adresy, URI segmenty, Routing PART 2
  94. Blog - Pripojenie na databázu, PHP Data Objects, PDO Error modes
  95. PHP try catch, Exceptions, logovanie errorov do súboru
  96. Blog - Získanie, naformátovanie, očistenie a zobrazovanie príspevkov
  97. Blog - Automatická príprava postu na výpis, SQL Injection
  98. SQL Injection, PDO Prepared Statements
  99. Blog - Zoznam príspevkov patriacich tagu, Refactoring
  100. Blog - Editačný formulár, predvyplnenie hodnôt, predvyznačenie tagov
  101. Blog - Editácia, sanitácia, validácia, UPDATE príspevku
  102. Blog - Pridanie nového príspevku, INSERT post, validácia
  103. Blog - Mazanie, DELETE post, znovu-vyplnenie inputov ak neprejde validácia
  104. Login, PHP autentifikácia, autorizácia, HASH funkcie
  105. Autorizačné, Autentifikačné pekidže
  106. Nastavenie PHPAuth, PART 1
  107. Nastavenie PHPAuth, PART 2
  108. Registrácia používateľa, odosielanie emailov cez PHP
  109. Login, prihlásenie používateľa
  110. Login, logout, get_user, pomocné funkcie, skrytie obsahu za loginom
  111. Autorizácia, posty patria userom, majú autorov, KONIEC
  112. Záver PHP a MySQL kurzu

Keďže PHP + MySQL časť ja ukončená, pridal som ďalší článok, Webrebel 2 - OOP a Laravel, kde budem zdieľať info o tom, ako postupuje tvorba OOP + Laravel časti. Vrátane rastúceho zoznamu epizód.

---

Btw, prvý Webrebel stále existuje a funguje, tie videá sa dajú stále zakúpiť a zostanú vám naveky, takže môžete pozerať koľko chcete, kedy chcete, ako chcete, neexistuje žiaden "termín ukončenia", každý ukončí kurz kedy chce. Rovnako to bude pri tomto novom. Pointa je, že kto nemá zmáknuté HTML a CSS alebo Javascript, môže sa kedykoľvek doučiť;)

Webrebel žije!

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