SlideShare a Scribd company logo
1 of 115
Download to read offline
4. sraz přátel Symfony - Novoroční posezení
Moje první aplikace v Symfony 3
Praha, 28. 1. 2016, Etnetera a.s.
● muž
● 24 let
● workoholik
● 9+ let se zajímám o vývoj
webových aplikací
● 5+ let makám v oboru
● nejsem grafik!!!
Kdo jsem?
Martin Zeman @zemistr
Dřívější a aktuální pozice
● Babka: Programátor webových aplikací - puzzle
červenec 2011 - červen 2012 (1 rok)
● OSVČ: Web developer
červenec 2012 - x
● Cresco Group: Web developer
červenec 2012 - srpen 2012 (2 měsíce)
● Cresco Group: Web developer
červen 2014 - listopad 2014 (6 měsíců)
● OSVČ: Web developer
Tohle je nedůležité … Prostě už mám něco za sebou. :)
Zajímavé
Znáš Symfony?
Jo, Symfony znám!
Používám ho skoro měsíc!
Kde Symfony 3 seženu?
Začal bych u zdroje.
Ale já jsem vývojář!
Neexistuje nějaká línější metoda?
Jo, existuje.
Symfony installer
x
Composer
Composer zní sexy!
composer create-project
symfony/framework-standard-edition
my_project_name
Co to udělá?
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
composer create-project
symfony/framework-standard-edition
my_project_name
Hej composer vytvoř projekt
do této složky
z tohoto balíčku
Some parameters are missing.
Please provide them.
database_host (127.0.0.1):
database_port (null):
database_name (symfony):
database_user (root):
database_password (null):
mailer_transport (smtp):
mailer_host (127.0.0.1):
mailer_user (null):
mailer_password (null):
secret (ThisTokenIsNotSoSecretChangeIt):
Při instalaci to bude chtít pár údajů.
No a hotovo …
Vaše první aplikace je na světě. :-)
^.^/
Juchůů
Díky za pozornost!
Otázky?Ale teď vážně. Co budeme tvořit?
Jednoduchý “e-shop”
(hodně jednoduchý …)
Jednoduchý “e-shop”
(opravdu hodně jednoduchý …)
Máme málo času.
● Vejce - 4 ks
● Cukr - 200 g
● Polohrubá mouka - 200 g
● Jablka
● strouhané - 200 g
● Vanilkový cukr - 1 balení
● Prášek do pečiva - 1 balení
Co budeme potřebovat?
http://www.recepty.cz/recept/jablkova-babovka-3871
Dělám si prdel ;)
1. Katalog produktů
2. Košík / Dokončení objednávky
3. Zabezpečení
4. Přehled objednávek
Co budeme potřebovat?
1. Katalog produktů = “/”
2. Košík / Dokončení objednávky
○ "/cart"
○ "/cart/{sku}/{size}/remove"
3. Zabezpečení
○ "/login"
○ "/login-check"
○ "/logout"
4. Přehled objednávek
○ "/admin/{status}"
○ "/admin/{status}/change/{id}/to/{new_status}"
Routy
● 2 produkty (trička M/F)
○ název
○ obrázek
○ cena
○ velikosti
○ množství
○ a šup do košíku
● košík v sessions
Katalog produktů
● náhled košíku
○ název
○ velikost
○ počet kusů
○ cena
○ cena celkem
○ info o přidání do
košíku
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
But women are always right!
Formulář “male”Formulář “female”
Ano, ale tady budou nalevo.
Obyčejný výpis
Odkaz na routu
do košíku
Flash message
● výpis produktů
○ název
○ velikost
○ množství
○ cena
○ smazání z košíku
Košík / Dokončení objednávky
● dokončení objednávky
○ jméno
○ email
○ nějaká ta poznámka
○ možnost objednat :)
● po dokončení
○ zapsat do db
○ odeslat maily
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Odkaz na routu
pro vymazání
položky z košíku
Odkaz na routu
do katalogu
Formulář
Text ...
Obyčejný výpis
● bezpečnost
○ přihlášení
○ odhlášení
Přehled objednávek
● objednávky
○ kontakt
○ poznámka
○ cena
○ produkty
○ stav + změna stavu
● filtr
○ dle stavu
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Ručně sestavený login form
Flash message
Admin je jen pro vyvolené!
Takže může vypadat hnusně. :D
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
No fuuuuuuuuj!!!
Proklik na logout
Odkazy na tento výpis s
parametrem v adrese
Výpis z DB
Můžete změnit stav!!! :O
Wait …
Ještě maily!!!
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Pro smrtelníky
Pro nemrtvé
Nevypadá to zle.
Co? :)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
parameters:
locale: cs
framework:
translator: { fallbacks: ["%locale%"] }
twig:
form-theme: "bootstrap_3_horizontal_layout.html.twig"
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
parameters:
admin_password: abcd1234
Extrémní zabezpečení!
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
security:
providers:
in_memory:
memory:
users:
admin:
password: "%admin_password%"
roles: "ROLE_ADMIN"
encoders:
SymfonyComponentSecurityCoreUserUser: plaintext
Uživatelé jsou brány z configu a jsou jen jako čistý text.
security:
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
Pamatují si všichni routy?
1. Katalog produktů = “/”
2. Košík / Dokončení objednávky
○ "/cart"
○ "/cart/{sku}/{size}/remove"
3. Zabezpečení
○ "/login"
○ "/login-check"
○ "/logout"
4. Přehled objednávek
○ "/admin/{status}"
○ "/admin/{status}/change/{id}/to/{new_status}"
Routy
security:
firewalls:
main:
anonymous: ~
form_login:
login_path: /login
check_path: /login-check
logout:
path: /logout
target: /login
A teď něco, co souvisí s e-shopem.
Nadefinujeme si velikosti triček.
Už by to chtělo nějaký formulář ...
Ok, ale neopičte se! Udělejte si továrničku. ;)
AppBundleFactoryFormFactory
AppBundleFactoryFormFactory
__construct(
FormFactoryInterface $form_factory,
RequestStack $request_stack
)
createAndHandle($name, $type, IEntity $entity)
AppBundleEntityIEntity
Továrničku máme hotovou.
Dáme si jí do services,
ať se nám s ní hezky pracuje. :)
services:
app.factory.form_factory:
class: AppBundleFactoryFormFactory
autowire: true
Jdeme tvořit formulář!!!
^.^/
AppBundleFormProductFormType
AppBundleFormProductFormType
__construct(array $sizes)
AppBundleFormProductFormType
$builder->add('size', ChoiceType::class, ...);
$builder->add('quantity', NumberType::class, ...);
$builder->add('submit', SubmitType::class, ...);
A šup do DI
services:
app.form.product_form_type:
class: AppBundleFormProductFormType
arguments: [ "%sizes%" ]
tags:
- { name: form.type }
Formulář je hotov. Protože do něj dáváme hodnoty z DI, je potřeba do DI přidat i formulář.
Na formulář je navázána
CartItemEntity
Takže si jí teď vytvoříme. :)
AppBundleEntityCartItemEntity
AppBundleEntityCartItemEntity
Důležité proměnné, které se nemají měnit,
předáme v constructoru a dovolíme k nim
přístup jen přes gettery.
A další formulář!!!
^.^/
AppBundleFormOrderFormType
AppBundleFormOrderFormType
$builder->add('name', TextType::class, ...);
$builder->add('email', EmailType::class, ...);
$builder->add('note', TextareaType::class, ...);
$builder->add('submit', SubmitType::class, ...);
I na tento formulář je navázána entita.
Tentokrát OrderEntity
Takže si jí taky vytvoříme.
AppBundleEntityOrderEntity
AppBundleEntityOrderEntity
/**
* @DoctrineORMMappingEntity
* @DoctrineORMMappingTable(name="s_order")
*/
Info pro Doctrine, že se jedná o její entitu, která
má být v tabulce "s_order".
AppBundleEntityOrderEntity
/**
* @DoctrineORMMappingId
* @DoctrineORMMappingColumn(type="integer")
* @DoctrineORMMappingGeneratedValue(strategy="AUTO")
*/
Info pro Doctrine, že proměnná $id bude použita jako sloupeček
s číselnou hodnotou a že se do ní bude generovat unikátní ID.
Strategie generování unikátního ID se rozhodne dle typu DB.
AppBundleEntityOrderEntity
/** @DoctrineORMMappingColumn(type="string") */
/** @DoctrineORMMappingColumn(type="text", nullable=true) */
Ostatní hodnoty mají jen definovaný typ hodnoty.
AppBundleEntityOrderEntity
/** @DoctrineORMMappingColumn(type="object") */
Je tu ale jedna extra, do které se bude ukládat složitější struktura.
Konkrétně obsah košíku tak, jak se používá i na webu.
AppBundleEntityOrderEntity
/**
* @DoctrineORMMappingColumn(type="string")
* @SymfonyComponentValidatorConstraintsEmail()
*/
No a pak je tu ještě jedna věc a to je validační pravidlo pro email. :)
Protože se držíme pravidla “code first”,
tak si teď necháme dle entity
vygenerovat tabulku “s_order”.
Slouží k tomu moc fajn příkaz. :)
php bin/console
doctrine:schema:create
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Už je ale na čase, začít
pracovat s nějakými daty.
Pracovat s daty v controlleru je
Prasárna
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Proto si na to vytvoříme
nějakou fajn service.
Co by měla umět?
● pracovat s košíkem
● pracovat s objednávkou
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Začneme tvořit controllery.
Třeba katalogem. :)
AppBundleControllerCatalogController
Ještě nespíte?
Tak budeme pokračovat košíkem. ;)
AppBundleControllerCartController
Poslední a závěrečný controller!
Admin!
AppBundleControllerAdminController
Slouží pro předání
chyby do šablony
Mrtvá metoda, slouží jen
jako placeholder.
Mrtvá metoda, slouží jen
jako placeholder.
AppBundleControllerAdminController
Jen zavolá metodu na service
a výsledek předá šabloně. Jen zavolá
metodu na
service
a udělá
redirect.
security:
firewalls:
main:
anonymous: ~
form_login:
login_path: /login
check_path: /login-check
logout:
path: /logout
target: /login
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Co si z toho odnést?
Méně je více! Nepište zbytečnosti.
Anotace jsou, byly, a budou. Používejte je!
3.
Frameworky pomáhají! Používejte je.
● Controllery: 3
● Entity: 2 + 1 interface
● Factory: 1
● Form: 2
● View: 4 + 2 mail + 1 layout
● Service: 1
Výsledek
Mimochodem …
Kdo z vás dával pozor a všiml si
několika spojitostí s dějem tady v
místnosti a s tím, co jsem vám ukazoval?
Toto bylo zde v ukázkách.
Toto již nyní najdete na webu http://www.symfony.cz
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)
https://thewackywordsmith.wordpress.com/
Otázky?

More Related Content

Similar to Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)

Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...
Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...
Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...Targito
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidechseznamVyvojari
 
Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015Jakub Kašparů
 
Entitní SEO pro eshopy | RobertNemec.com
Entitní SEO pro eshopy | RobertNemec.comEntitní SEO pro eshopy | RobertNemec.com
Entitní SEO pro eshopy | RobertNemec.comRobertNemec.com
 
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)Jakub Kulhan
 
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčWordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčBrilo Team
 
Malware Houdiny
Malware HoudinyMalware Houdiny
Malware HoudinyCESNET
 
Automatizace jednodušše (6. sraz přátel Symfony v Praze)
Automatizace jednodušše (6. sraz přátel Symfony v Praze)Automatizace jednodušše (6. sraz přátel Symfony v Praze)
Automatizace jednodušše (6. sraz přátel Symfony v Praze)Martin Zeman
 
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)Péhápkaři
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Péhápkaři
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devuVašek Purchart
 
Data Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQuery
Data Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQueryData Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQuery
Data Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQueryTaste
 
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzoryWebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzoryMartin Michálek
 
JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017Michal Blažek
 
Usnadněte si soužití s Doctrine
Usnadněte si soužití s DoctrineUsnadněte si soužití s Doctrine
Usnadněte si soužití s DoctrineFilip Procházka
 

Similar to Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze) (17)

Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...
Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...
Janek Žežula, Lukáš Balek, Michal Řehák | Targito | Novinky ze světa platform...
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidech
 
Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015Analýza klíčových slov - Plzeňský Barcamp 2015
Analýza klíčových slov - Plzeňský Barcamp 2015
 
Entitní SEO pro eshopy | RobertNemec.com
Entitní SEO pro eshopy | RobertNemec.comEntitní SEO pro eshopy | RobertNemec.com
Entitní SEO pro eshopy | RobertNemec.com
 
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
 
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčWordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
 
Malware Houdiny
Malware HoudinyMalware Houdiny
Malware Houdiny
 
Automatizace jednodušše (6. sraz přátel Symfony v Praze)
Automatizace jednodušše (6. sraz přátel Symfony v Praze)Automatizace jednodušše (6. sraz přátel Symfony v Praze)
Automatizace jednodušše (6. sraz přátel Symfony v Praze)
 
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 
Data Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQuery
Data Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQueryData Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQuery
Data Restart 2023: Václav Ráš - 10 tipů, jak pracovat s BigQuery
 
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzoryWebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
WebExpo 2017 - Přístupnost v kódu: ukázky a návrhové vzory
 
openMagazin 1/2009
openMagazin 1/2009openMagazin 1/2009
openMagazin 1/2009
 
Příručka Aimtečáka 1.01
Příručka Aimtečáka 1.01Příručka Aimtečáka 1.01
Příručka Aimtečáka 1.01
 
JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017JavaScript v GTM - Measure Camp Brno 2017
JavaScript v GTM - Measure Camp Brno 2017
 
Usnadněte si soužití s Doctrine
Usnadněte si soužití s DoctrineUsnadněte si soužití s Doctrine
Usnadněte si soužití s Doctrine
 

More from Péhápkaři

Startup vs korporace vs Previo
Startup vs korporace vs PrevioStartup vs korporace vs Previo
Startup vs korporace vs PrevioPéhápkaři
 
RabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuRabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuPéhápkaři
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Péhápkaři
 
Čtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundČtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundPéhápkaři
 
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Péhápkaři
 
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Péhápkaři
 
PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]Péhápkaři
 
PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]Péhápkaři
 
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Péhápkaři
 
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Péhápkaři
 
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Péhápkaři
 
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...Péhápkaři
 
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Péhápkaři
 
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Péhápkaři
 
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Péhápkaři
 
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Péhápkaři
 
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Péhápkaři
 
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)Péhápkaři
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Péhápkaři
 
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)Péhápkaři
 

More from Péhápkaři (20)

Startup vs korporace vs Previo
Startup vs korporace vs PrevioStartup vs korporace vs Previo
Startup vs korporace vs Previo
 
RabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v PreviuRabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v Previu
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
 
Čtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán ZikmundČtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán Zikmund
 
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
Václav Makeš - Infrastructure as code - Jak nahazovat stroje a nic moc nevědě...
 
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
Tomáš Klíma - Implementace BitCoinut v praxi (13. sraz přátel PHP v Praze)
 
PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]PHP Evening #1 - Automatizace [Jan Klat]
PHP Evening #1 - Automatizace [Jan Klat]
 
PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]PHP Evening #1 - Propel ORM [Martin Sojka]
PHP Evening #1 - Propel ORM [Martin Sojka]
 
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
Tomáš Kazatel - Jsme přece vývojáři, ne textaři (12. sraz přátel PHP v P...
 
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
Jakub Kratina - Když si dva vývojáři založí s.r.o. (12. sraz přátel PHP v Pra...
 
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
Petr Pavel - Co musí programátor umět kromě programování (12. sraz přátel PHP...
 
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy  (11. sraz přátel ...
Tomáš Strejček - Velikost týmu vs. monolith a mikroservicy (11. sraz přátel ...
 
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
Jindřich Kubát - Microservice – Post Monolith Architecture (11. sraz přátel P...
 
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
Jakub Kratina - Jak testovat aplikace s radostí díky Codeception (11. sraz př...
 
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
Ako nespáliť server - Monit [Jozef Lami] (7. sraz, Praha)
 
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
Doctrine - Co dělat když entity nestačí [Filip Procházka] (7. sraz, Praha)
 
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
Blackfire.io - Fire up your php app performance [Jan Kopp] (7. sraz, Praha)
 
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
MicroKernel aneb spatny nazev pro Helper (5. sraz pratel Symfony)
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
 
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
 

Martin Zeman - Moje první aplikace v Symfony 3 (4. sraz přátel Symfony v Praze)