saltPHPSESSID, protože chytré vyhledávače (např. Google) hodnotu tohoto parametru ignorují.kontakt.php/index.php a uvedenou kontrolu tím obalamutí.$_GET["var"]), který nebyl v době volání nastaven, bude mít po zavolání funkce hodnotu null. Myslím, že když o těchto nedostatcích člověk ví, dá se s nimi žít.chr_utf8 potom vrací reprezentaci těchto znaků v kódování UTF-8substr($_POST["jmeno"], 0, 10) totiž s touto direktivou např. pro řetězec František' vrátí František\ a bezpečnostní problém je na světě.include "./file.php" místo include "file.php". Já bych to spíš doporučil kvůli zamezení kolizí se soubory v ostatních adresářích include_path.\0./ nebo<a href="|"> kurzor na místě znaku | a má se doplnit atribut title="", většina lidí nejprve přejde o znak doprava a atribut doplní. Já místo toho přímo vložím " title=". Tento trik se dá použít i u běžných textů – začíná-li věta slovem Souhlas a má se nahradit za Samozřejmý souhlas, není nutné dopsat Samozřejmý a nahradit velké S za malé, stačí na správné místo dopsat amozřejmý s. Zdá se to jako hloupost, ale při rutinním používání to trochu vzácného času ušetří.id musí mít příznak AUTO_INCREMENT"?" . SID. V konstantě SID je uložen řetězec potřebný pro předání session identifikátoru, v případě existence session cookie je prázdný.(), {}, [] nebo <>. Jejich výhoda spočívá v tom, že je uvnitř výrazu můžeme použít bez jakéhokoliv ošetřování, nevýhoda zase v tom, že jako oddělovač nejsou moc výrazné.pack("H*", md5($s)) lze v PHP 5 použít md5($s, true).Vaše školení mělo velmi dobrou úroveň a doporučil bych ho všem, kteří nemají velké povědomí o možnostech útoků na PHP aplikace. Sám jsem o mnoha útocích již věděl (také hlavně díky Vašemu blogu), nicméně jsem se dozvěděl i nové informace z této oblasti. Velké plus školení jako takových je možnost rozboru konkrétních problémů/útoků. Zkrátka jsem rád, že jsem ho absolvoval.
Chtěl bych Vám moc poděkovat za Vaše školení. Rozhodně nemůžu opomenout užitečnost školení MySQL, které mi trošku rozšířilo obzory v nových možnostech verze 5.0 a zároveň bylo i vhodným doplňkem bezpečnostního školení.
Chtěl bych Vám moc poděkovat za Vaše školení. Zejména pak školení Bezpečnost PHP aplikací pro mě bylo velmi přínosné a chvílemi mě jímala hrůza, co jsem kde zanedbal (Cross-site Request Forgery a Response Splitting), ale alespoň o těchto možných útocích vím a budu pracovat na řešení problému (a pro příště na ně budu myslet dopředu a nebudu pak muset pracně zpětně upravovat aplikace). Navíc jsem se dozvěděl i několik dalších zajímavých „drobností“, které jsem ještě nemusel řešit, ale na které je dobré pamatovat již při vytváření aplikací, čímž mi školení jistě do budoucna ušetřilo spoustu času.
Ráda bych Vám ještě jednou jménem svým i jménem mých kolegů poděkovala za Váš skvělý výklad, který nám přinesl nové poznatky a pohledy, které určitě využijeme ve své další práci.
DELETE tab FROM tab, tab2 WHERE tab.id = tab2.id.search.ini, neexistuje funkce K vyhledávání přiřadit klíčové slovoid musí být setříděn ve stejném pořadí jako publikovano – pokud bychom použili publikovano DESC, id, tak se index (publikovano DESC, id) nepoužije, protože MySQL ho vytvoří jako (publikovano, id) a s rozdílem v řazení si neporadí)?> a volitelným koncem řádku.[Master_Log_File a Exec_Master_Log_Pos rozhodnout o tom, zda se následující SELECT má provést na slave nebo na master serveru.Pokud jde o shrnutí dojmů ze školení, tak jsem spokojen. Dozvěděl jsem se řadu užitečných informací, o které jsem měl zájem. Jen mi přišlo, že probrat všechna zvolená témata v jednom dni vyvolalo zejména ke konci určitou časovou tíseň, kvůli které se posledním tématům nedostalo pozornosti, jakou by si možná zasloužila, a i prostor pro diskusi mohl být trochu větší.
array_diff_assoc($_GET, array("page" => $_GET["page"])).\z místo $<% naopak bude spolu s direktivou asp_tags odstraněna,imagecreatefromico můžeme třeba funkcí imagepng uložit do souboru nebo poslat prohlížeči.-1 limit odstraní zcela, ale v dokumentaci jsem tuto informaci nenašel.# a v JavaScriptu přes 27× delší document.getElementById('').I já bych Vám chtěl poděkovat. Školení bylo opět velmi kvalitní. Zajímalo mě především používání a navrhování indexů a to bylo vysvětleno velmi hezky a pochopitelně. Další velmi dobře vysvětlené téma byly transakce. Co se týče dalších témat, hodně jsem se těšil na řešení jazykových mutací, i když zřejmě nebudu postupovat stejně jako vy, byl jsem rád, že jste mi schválil můj způsob. Obecně bylo školení velmi dobře pojato. Já osobně bych v něm nemusel mít probírání klasických věcí jako INSERT, UPDATE, myslím tím takové ty jednoduché dotazy, které asi většina lidí běžně používá. Ale to je čistě můj subjektivní pohled.
Každopádně moc děkuji, jsem velmi rád, že jsem se tohoto školení mohl zúčastnit.
Jako pedagog dokážu skutečně ocenit náročnost takového kurzu.
I vzhledem k nízké časové dotaci školení proběhlo v avizovaném rozsahu a pro mě bylo jistě přínosem. Také po stránce didaktické jsem byl velmi velmi spokojen a kurz naprosto splnil moje očekávání. Jenom si neodpustím drobnou připomínku, která již, mám dojem, byla v některé z diskuzí avizována. Spíše by mi vyhovovalo opustit základy návrhu databáze a základní SQL příkazy a soustředit se více na druhou část školení (replikace, knihovna MySQLi, PDO, atd.). Případně by mi přišlo vhodnější rozdělit školení na dvě samostatná.
Jinak ještě jednou děkuji a těším se na další Vaše školení.
Školení bylo velmi dobře připravené. Každá „hackerská“ technika byla probírána samostatně, u každé byl vysvětlený princip fungování následovaný výkladem, jak aplikaci proti takovému útoku ochránit. Některé techniky jsou notoricky známé, ale dozvěděli jsme se i o takových, nad kterými mnozí kroutili hlavami, protože je vůbec neznali. Vše jsme si vyzkoušeli i na připravených příkladech. Školení předčilo mé očekávání a hodnotím ho pro svou další práci jako opravdu hodně přínosné.
Srozumitelný výklad s přestávkami „tak akorát“. Pěkné. Výborné bylo i to malé cvičení na závěr, člověk si to tak nějak urovná v hlavě. Dále bych velmi pochválil pořadí jednotlivých témat. Osobně dávám hodnocení asi 90%, byl jsem velmi spokojen.
I přes to, že má člověk v oblasti mnoho znalostí a zkušeností, školení mi umožnilo ta nejdůležitější témata znovu otevřít a s odborníkem je rozvést do důsledků. S ohledem na naši současnou práci jsem si tak ujasnil, co děláme dobře a kde je prostor pro zlepšení. Z vydařených školení vždy odcházím plný inspirace a motivace do další práce. Obě školení Jakuba Vrány jednoznačně patřila mezi ně.
I přes to, že má člověk v oblasti mnoho znalostí a zkušeností, školení mi umožnilo ta nejdůležitější témata znovu otevřít a s odborníkem je rozvést do důsledků. S ohledem na naši současnou práci jsem si tak ujasnil, co děláme dobře a kde je prostor pro zlepšení. Z vydařených školení vždy odcházím plný inspirace a motivace do další práce. Obě školení Jakuba Vrány jednoznačně patřila mezi ně.
Za školení bych měl děkovat já. Děkuji za materiály. Školení bylo fajn a přínosné. Pokud mám napsat nějaké shrnutí, tak mohu určitě říct: Vaše školení o MySQL, které je prezentované člověkem z praxe, bylo hodně kvalitní. Nešlo ani tak o prezentaci jako o to, že jsem měl možnost poslechnout si člověka z praxe a tak jsem pochopil spoustu věcí mnohem lépe. Školení nebyl jen výklad z nastudované knížky a to bylo rozhodně to, co mě na školení hodně potěšilo. Pokud mám něco kritizovat, tak asi cestu autem do Prahy a zpět do Brna :). Možná je trošku škoda, že jste se hodně věnoval zálohování a provozování vlastního serveru, když většina lidí využívá webhosting, třeba na úkor skládání dotazů.
Velmi Vám děkuji za zaslané materiály i školení. Jako drobnému uživateli mi to uštetřilo mnoho času, který bych jinak strávil metodou pokus omyl a možná by mi některé zajímavé postřehy z Vašeho školení i tak zůstaly skryty.
Školení na Javascript a AJAX bylo velmi dobré pro toho, kdo Javascript neznal nebo měl o něm základní znalosti a chtěl si je rozšířit. Problematika JS a Ajaxu je natolik široká, že ji nelze uspokojivě dát do jednoho dne. Moje znalosti JS jsou celkem dobré, ale zápasím s jednotlivými rozdíly v prohlížečích, proto se mi líbila část o tom, jak JS debugovat, to rozšířilo moje znalosti. Na Ajax nezbylo podle mě dost času a také nebyl čas si problematiku trochu více na vlastní kůži na semináři ošahat.
I přesto, že se v oblasti už nějaký ten pátek pohybuji, bylo pro mě toto školení přínosem hlavně kvůli čas/informační hodnota. Výborné shrnutí potřebných informací a osvěžení dřívejších znalostí + mnoho informací nových. Za těch pár korun je den skutečně plný užitečných informací. Škoda jen těch příšerných myší ve školící místostí...
S Vaším školením jsem byl velice spokojen. O většině typů útoků jsem již něco věděl, nicméně Vámi připravený výklad mi pomohl utřídit si své dosavadní znalosti a rozšířit obzor zejména v optimálním způsobu řešení předváděných problémů. Příjemnou věcí byla také sleva, kterou poskytujete studentům. Pokud budu moci, určitě se rád zúčastním dalších školení.
Školení bylo perfektně připraveno. Ukázky jednotlivých možností útoku byly velmi dobře popsány a na jednoduchých a přehledných příkladech demonstrovány, samozřejmě včetně popsání možností, jak se těmto útokům bránit. Školení mohu určitě doporučit.
Jsem velmi rád, že jsem se nakonec rozhodl navštívit právě vaše školení. Přesvědčil jste mne nejen že jste v oboru opravdový odborník, ale především své znalosti dokážete velmi poutavou a srozumitelnou formou prodat. Není k ničemu přednáška od odborníka, na jejímž konci zjistíte, že jste vlastně vůbec ničemu nerozuměl. U vás tomu bylo přesně naopak, výklad jste měl odborný, přesto jste mu dokázal dát lidštější formu a to mi přesně sedělo. Za výbornou přednášku a nové znalosti mnohokrát děkuji. Jednu výtku bych tu přeci jen měl. Máte vůbec představu, jaké to je přijíždět k vám na kurz v blažené nevědomosti a odjíždět s pocitem hrůzy, kolik chyb po sobě budu muset opravit?
Problematika „Bezpečnost PHP aplikací“ je velmi aktuální a tvoří nezbytnou součást firemní IT strategie. Váš výklad byl založen především na praktických ukázkách chování systému při napadení útočníkem, což je u daného tématu nezbytné ke správnému pochopení postupů a snadnějšímu zapracování ochranných opatření při zabránění neoprávněným přístupům k citlivým informacím. Absolvoval jsem nespočetně kurzů, seminářů a školení, ale Váš přístup byl opravdu příkladný. Je zřejmé, že výuka je Vaší „profesí“, protože umíte informace podat. Seznámil jsem se i s Vaším blogem, který je velmi inspirativní a reaguje pružně na aktuální problémy LAMP. Budu i nadále sledovat nabídky Vašich kurzů a dožadovat se účasti, když už ne pro sebe, tak pro své kolegy.
LC_CTYPE funkcí setlocale na kódování UTF-8, např. tedy cs_CZ.utf-8.I když se programováním databází neživým a je to jen můj koníček, bylo pro mě vaše školení velkým přínosem, ujasnil jsem si spoustu věcí, které jsem buď nepoužíval, protože jsem jim moc nerozuměl, a nebo jsem je používal špatně. Vše bylo srozumitelným způspobem vysvětleno.
array_key_exists("a", get_defined_vars()).Školení „Bezpečnost PHP aplikací“ v podání Jakuba Vrány je výborným shrnutím dané problematiky. Pojetí výkladu podléhá striktnímu rozvrhu – vysvětlení problému, vysvětlení ochrany, příklad. Jakubova jistota pramení z perfektních znalostí oboru, kvalita lektorské části je pak dána jeho zkušenostmi s pořádáním těchto školení i z akademické půdy. Ve spojení s diskusí na každé téma, s vyměňováním zkušeností jednotlivých přítomných vývojářů, se jedná o neocenitelně strávený den.
Školení bylo koncipováno přesně, jak jsem si představoval, že by mělo vypadat. Výklad byl podaný velice profesionálně, přesto naprosto srozumitelně. Rozdělení jednotlivých částí výkladu na „první teorie a v zápětí příklad“ bylo velice příjemné. Člověk nemusel pátrat v paměti, o čem jsme se to vlastně bavili před třemi hodinami. Počet účastníků (9) je akorát. Spousta času na dotazy a „rodinná atmosféra“. Celkový dojem je tedy více než kladný. Navíc se mi podařilo to, s čím jsem tam šel. Ucelení a prohloubení znalostí o bezpečnostních rizikách a k tomu postupy, jak jim předejít a jak je potlačit. Mohu tedy každému jedině doporučit.
Vzhľadom na to, že som už mal s Javascriptom predtým isté krátke skúsenosti, časť informácií, hlavne tých v prvej polovici školenia mi už bola známa. Ale na druhej strane tam bolo vysvetlených veľa princípov, ktoré mi chýbali k pochopeniu niektorých javascriptových konštrukcií (vytváranie tried, rozdiely medzi poľom a objektom). Druhá polovica zameraná na AJAX bola veľmi náučná. V podstate som pochopil princípy spracovávania AJAXových dotazov a už som toho aj plne využil. Celkovo som so školením spokojný a teším sa na školenie o frameworkoch Javascriptu.
POST a přesto je pole $_FILES prázdné, tak nutně došlo k překročení velikosti odesílaných dat.$hloubka inicializovat na 0 a na závěr k ní nepřičítat jedinčku./dev/null document.body.className += ' javascript'; a styl definovat jako .javascript .hidden-js spolu s ostatními styly.Se školením jsem byl maximálně spokojen, bylo to pěkně seřazené a vykládané srozumitelně. Přestože jsem neměl s JavaScriptem žádné zkušenosti, tak byl výklad srozumitelný.
Školení mne zprvu překvapilo prvním tématem „HTTP protokol“. Ve školení výkonnosti PHP aplikací mne to poměrně zarazilo, čekal jsem spíše popis samotného PHP a optimalizaci kódu. Byl jsem ale mile překvapen širokým záběrem výkladu v souvislostech (klientská cache prohlížeče, specifické vlastnosti některých browserů, něco ke konfiguraci webserveru, atd.), které by měl vývojář při návrhu aplikace uvažovat. Přednášející je přístupný diskusi i otázkám (i na obědě :-)). Program je rozdělen do dvou částí, dopolední a odpolední, přičemž i ty jsou dále děleny do bloků oddělených přestávkami. Velmi bych vyzdvihl názorné demonstrování na přípravených příkladech, naopak za mě osobně se musím přiznat, že poslední téma jsem už příliš nevnímal.
Školení bylo výborné, o JavaScriptu jsem se dozvěděl pár věci o kterých jsem předtím jen tušil. A to jsem na školení nešel kvůli JavaScriptu, ale AJAXu. Odpolední část týkající se AJAXu byl pro mne zlatý hřeb celého školení. Co bych ale doporučil pro příště, je udělat školení dvoudenní a věnovat trochu více času příkladům, které by si účastníci dělali sami. Celkově školení hodnotím jako velmi dobré.
Se školením jsem byl velice spokojen. Splnilo přesně to, co jsem od něj čekal. Líbil se mi nejen obsah školení, ale i jeho podání. Nejvíce oceňuji praktický příklad.
Školení Bezpečnost PHP aplikací bylo bezvadně připravené. Model vysvětlení problematiky, způsob obrany a praktický příklad je přesně to, jak by podobná školení měla vypadat. Výklad by podán profesionální formou a přesto pro všechny srozumitelně. Mnohokrát děkuji za množství nápadů, tipů a triků, jak udělat PHP aplikace bezpečnější.
Školení bylo dobře připravené a profesionálně vedené. Velmi oceňuji, že jste byl ochoten domluvit se s námi mimo standardní vypisované termíny, přijet na naše pracoviště v důležitý státní svátek a zůstat o hodinu déle oproti původnímu plánu. Ačkoliv už jsem o tématu (bezpečnost PHP skriptů) něco málo předtím věděl, zklamán jsem rozhodně nebyl, protože jsem si plno věcí ujasnil a mnohé další se dověděl. Kromě toho bylo moc fajn tu a tam (třeba o přestávkách) zabrousit i do jiných oblastí. Myslím, že se nám to všem dost hodilo. Moc se mi líbilo, že jste na konec zařadil test a podrobně jej s námi prošel. Dokonale to korespondovalo s praktickým pojetím celého školení.
Školení bylo pro mne hodně inspirativní. O většině druhů bezpečnostních rizik jsem sice v „teoretické rovině“ věděl, třeba proto, že se snažím příležitostně číst populárnější články zabývající se touto tématikou na českém webu (Lupa.cz, Zdroják), nicméně některé způsoby, jak je zneužít – a samozřejmě jak se bránit – by mne skutečně nenapadly. Školení má velmi uspořádanou, přehlednou a promyšlenou strukturu a témata, kterých se dotýká, ilustruje na příkladech včetně řešení problémů, což je velice užitečné. Osobně jsem si odnesl ze školení i spoustu nápadů typu „jak něco udělat“ či „jak navrhovat koncepci webu“. Bylo velmi příjemné, že školitel se orientuje v problematice doširoka a ne jen u bezpečnosti a umí (a nebrání se) odpovědět na většinu dotazů, které jdou nad rámec školení.
@table dokázal seznam vlastností načíst ze struktury tabulky.[Packer] ručně nastavenou volbu ExpertMode=1, která umožňuje bez potvrzení spouštět a editovat soubory v archivu.auto_increment (aniž by se někde použil).Školení splnilo mé očekávání. Myslím, že tento kurz v jednodenním bloku ani nelze jinak postavit. Z větší části se jedná o zpočátku trochu hodně sušší teorie, kdy je skutečně nezbytné nejdříve probrat řídící konstrukce jazyka. Bez toho by to ani nešlo. Objektivně, pro člověka, který již v nečem programoval to není problém a jde spíše o naučení správné syntaxe. Pro úplného začátečníka to ale může být poměrně náročné na strávení. Nicméně v rámci jednodenního školení to opravdu jinak nejde. Také předpokládám, že na takovéto školení se nepřihlásí nikdo programátorsky úplně nedotčený ;-) Naštěstí i v této části lektor doplňuje velice důležité informace a připomínky vycházející z hluboké znalosti problematiky, které jednak výklad oživují a jednak jsou to velmi cenné praktické poznatky zejména s ohledem na korektnost, efektivnost, přehlednost a čistotu vytvářeného programového kódu. V druhé části školení jsou probírány už zajímavější pasáže s praktickými ukázkami a cvičeními zejména na propojení s databázemi s využitím nabytých znalostí z předchozí části. Pochopení celé problematiky si každý samostatně otestuje na samostatném jednoduchém úkolu. Po konzultaci vypracovaného řešení lektor naznačí další postup na vylepšení, ošetření dalších důležitých aspektů a směr dalšího studia dané problematiky.
Na školení Úvod do PHP jsem se přihlásil s velkým očekáváním a popravdě jsem byl zvědav, jak se do jednoho dne vejde tak široká problematika. A opravdu, informace tekly ve velkém tempu od začátku až do konce. Rozhodně nemá smysl, aby na tento kurz šel člověk, který nemá s programováním rozsáhlejší zkušenosti a domnívá se, že se to zde naučí. Také díky tomu, že jsem se před kurzem samostudiem seznámil se základními pojmy a syntaxí, neměl jsem s pochopením obsahu kurzu žádný zásadní problém a dal mi přesně to, co jsem dle mého názoru potřeboval. Proložení výkladu názornými příklady vedlo velmi efektivně k rychlému pochopení. Prostě perfektní. Jsem opravdu spokojen a čas, který jsem školením strávil určitě stálo za to vynaložit. Po celou dobu školení jste se držel připravené osnovy a přitom reagoval na individuální schopnosti studentů. Určitě Vás jako školitele a Vaše kurzy doporučím ve svém okolí.
Následný kurz Programování v PHP 5 jsem absolvoval proto, abych nahlédl do současných objektově orientovaných programátorských technik a nástrojů v PHP 5. Jsem rád, že jsem neváhal a absolvoval oba kurzy za sebou. Bylo zřejmé, že ihned po skončení nebudu schopen celou problematiku vstřebat tak, abych mohl hned začít v PHP 5 objektově programovat, ale to jsem ani neočekával. Doporučuji všem, kdo se chtějí v hutné formě v dobrém slova smyslu dozvědět o nejnovějších nástrojích, postupech a novinkách v posledních verzích PHP, aby neváhali a školení absolvovali.
]]>(%+-)Školení bylo nad mé očekávání! Bylo okořeněno spoustou příkladů, které mě u jiných školení chybělo. Výklad byl podán velice srozumitelně. Individuální přístup ke každému. Závěrečný testík byl velice přínosný pro pochopení probírané problematiky z celého dne..
Děkuji za materiály a vlastní školení, ze kterého jsem byl nadšený. Hltal jsem každé slovo, dokonce i po obědě, kdy si většinou musím dávat sirky do očí, abych vydržel. Na internetu je sice spousta informací o této problematice, ale nikde jsem je neviděl takto komplexně pohromadě a hlavně s reálnými příklady, které dají mnohem více než sáhodlouhý popis. Určitě jsme se neviděli naposled, můžete se mnou počítat na školení Výkonnost webových aplikací.
"SELECT * FROM clanky ORDER BY nadpis, id LIMIT 1 OFFSET " . ($poradi - 2).?username= parameter. A user can use this feature in a secure environment where he authenticates by some other mean (e.g. on localhost without a remote access or with HTTP authentication). However, it is not possible to pass the password in a GET parameter which would be very insecure. Adminer uses the value of mysql.default_password configuration directive in this case. The demo application uses this approach to automatically log in the users.JavaScript a AJAX, to byl perfektně vysvětlený vstup do Ajaxu na pořádným příkladu, kde opět upozorňujete na bezpečnostní rizika. Nemůžu říct, že to umím, ale že to chápu a to mě absolutně stačí na to, abych se to dál učil a rozvíjel, to byl taky účel, proč jsem na školení šel, stejně jako na minulá školení.
Co se týká školení, já prostě nemám, co bych mohl záporně zkritizovat. Na bezpečnosti mě ale překvapilo, že jsem se nesetkal s lidmi ze školení z Úvodu do PHP. Já se učím pomalu, ale když už se něco učím, tak mám rád, když vím, že to je správný a to pro mě znamená i bezpečný. Nevím, jak ostatní, ale mě dá největší práci zbavit se špatných návyků. I když je pravda, že na Úvodu se základy bezpečnosti taky probíraly. Myslím si, že to je velice důležitý pro profesionály, protože si moc dobře pamatuji, kolik rukou se zvedlo, když jste se zeptal, jestli to někdo používá. Ne vždy se zvedly všechny ruce.
moveStart nás přesune na začátek celého dokumentu, nejen vstupního políčka, takže kód funguje jen pokud je vstupní políčko na začátku dokumentu.innodb_rollback_on_timeout, která dovolí zapnout původní chování. Skript jsem upravil tak, aby s touto proměnnou počítal.FULLTEXT (nadpis, clanek). MATCH(nadpis, clanek) AGAINST ('$search' IN BOOLEAN MODE), v tom případě by se ale index vůbec nepoužil a dotaz by tak byl výrazně pomalejší.text-overflow: ellipsis.new stdClass).login (platí i v případě nastavených výchozích přihlašovacích údajů pro MySQL), nebo používat verzi pouze pro MySQL.X-XSS-Protection: 0 jako obranu před modifikací stránky v IE8 a bezpečnostními problémy ve starších vydáních tohoto prohlížeče.n: atributy, které zjednodušují práci a zpřehledňují kód.NULL sloupců vytvoření podmínky IS NULL, operátor >= zase IS NOT NULL.localhost:3456.serial, případně bigserial.kontanty/ má být kontakty/eregI("") má být preg_match("()i")$this->link = http://www.google.com/s2/favicons?domain= běží webová služba pro získávání ikon ve formátu PNG.computeSalesTax(Address $address, $amount, $tax) a volající kód upravil tak, aby nevolal computeSalesTax($address, $invoice->getSubTotal()), ale místo toho prošel všechny položky na faktuře a celkovou daň si sám nasčítal. Podle mě to dobře ilustruje hlavní nevýhody „dobře testovatelného kódu“: interní změna, která by měla být ve výhradní zodpovědnosti třídy SalesTaxCalculator, se projeví změnou API a část logiky (sečtení jednotlivých daní) musíme přesunout do volajícího kódu (což může vést k nekonzistenci a chybám).$_GET["id"] a$_POST si při komunikaci se serverem ukládá do session proměnnéŠkolení nadmíru splnilo mé očekávání začátečníka v PHP. Velice se mi líbilo rozdělení kurzu na dopolední teoretickou část, kdy jsme si mohli vyzkoušet přednášenou teorii na drobných příkladech a odpolední část, kdy jsme pod vedením lektora naprogramovali malou aplikaci. Musím říct, že to chvílemi připomínalo kurz rychlopsaní, protože narozdíl od lektora jsme neznali zkratky v programu a hodně funkcí jsme museli vypisovat ručeně, což nám trochu zdržovalo. Závěrem školení jsme si mohli nabyté zkušenosti otestovat v závěrečném testu. Při kontrole nás lektor upozornil na chyby nebo ukázal jiné, elegantnější řešení.
Já bych chtěl poděkovat za školení, bylo přesně podle mých představ a bylo pro mne velmi přínosné. Účastnil jsem se především kvůli objektovému programování v PHP, což byla hlavní část školení, ostatní části jsem víceméně již znal, ale i tam bylo několik postřehů pro mne podnětných. Velmi oceňuji názorné ukázky na příkladech, na kterých jsem danou problematiku snadněji pochopil. Tempo školení bylo svižnější, což mi plně vyhovovalo, díky němu se toho stihlo probrat hodně. Uvažuji ještě také o účasti na školení o bezpečnosti PHP aplikací v příštím týdnu.
Děkuji Vám za materiály a školení, od kterého jsem očekávala tři věci. V první řadě, že si poslechnu základ od odborníka a udělám si pořádek v dříve získaných znalostech tak, abych na nich mohla dále stavět. Dále že se konečně dozvím, jak JS pořádně ladit, neboť do této doby jsem to dělala dosti pokoutně. A na závěr, že se zbavím pocitu, že JS je nutné zlo, které na mě odevšud vyskakuje. Školení bylo velmi srozumitelné a odcházela jsem s pocitem, že se nakonec s tímto skriptovacím jazykem přece jen asi skamarádím :-). Shrnutí: Školení splnilo všechna moje očekávání, nemám, co bych vytkla.
Michal Špaček se PHP profesionálně věnuje od roku 2000, v současnosti působí v pražské vývojové kanceláři Skype jako vedoucí vývojář webových aplikací. Má zkušenosti s platebními systémy i aplikacemi s vysokou návštěvností. Michala jste mohli několikrát vidět přednášet na WebExpu, případně se s ním setkat jako s pořadatelem IPO48 v Praze.
Michal Špaček se PHP profesionálně věnuje od roku 2000, v současnosti působí v pražské vývojové kanceláři Skype jako vedoucí vývojář webových aplikací. Má zkušenosti s platebními systémy i aplikacemi s vysokou návštěvností. Michala jste mohli několikrát vidět přednášet na WebExpu, případně se s ním setkat jako s pořadatelem IPO48 v Praze.
Michal Špaček se PHP profesionálně věnuje od roku 2000, v současnosti působí v pražské vývojové kanceláři Skype jako vedoucí vývojář webových aplikací. Má zkušenosti s platebními systémy i aplikacemi s vysokou návštěvností. Michala jste mohli několikrát vidět přednášet na WebExpu, případně se s ním setkat jako s pořadatelem IPO48 v Praze.
Kristýna Knapová absolvovala MFF UK a pracuje jako analytička a programátorka webových informačních systémů (např. GOSys). Kromě toho také působí jako lektorka kurzů a autorka vzdělávacích materiálů.