Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)
-
Upload
tomas-votruba -
Category
Software
-
view
809 -
download
2
Transcript of Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)
![Page 1: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/1.jpg)
![Page 2: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/2.jpg)
Jako Vinnetou a Old Shatterhand
Refaktoruj nenávistv přátelství!
Tomáš Votruba, @votrubaTwww.tomasvotruba.cz
PHPLive11.-12. května 2016
![Page 3: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/3.jpg)
Ahoj, já su Tomáš Votruba
● Používám Nette, Symfony a Doctrine
● Konzultuju, radím, školím
● Buduju Symfony komunitu u nás
● Rád sbližuju
![Page 4: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/4.jpg)
Co vám dneska povím
● Jak správně hejtovat?
● Jak využít něco, čemu nerozumím?
● Jak si užívat na plno a nevázat se
● Kam to může jít s Nette a Symfony dál?
![Page 5: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/5.jpg)
Co tady kdo používáte?
● P
● N
● S
● L
● ?
![Page 6: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/6.jpg)
1. Hejtování 101
Jak vypadá správný hejt?
● Cílený na člověka, ne na kód/feature
● Nekonstruktivní
● Nejednoznačný a matoucí
● Srovnávejte, vytvořte nevraživost
tl;dr: Najdetě si hůl a bijte psa.
![Page 7: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/7.jpg)
1. Hejtování 101
“Framework … vůbec neumí. Autoři jsou za
opicema. Tenhle je lepší a dělá to už dlouho
správně.”
“Těchto 10 řádků opravdu nechápu. Celý framework
... je špatný a nepřehledný.”
“Laravel je statické peklo. #blesmrt Nepoužívejte
ho.”
![Page 8: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/8.jpg)
1. Hejtování 101 - trollení
![Page 9: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/9.jpg)
1. Hejtování 101 - proč hejtujeme
● Frustrace
● Nepochopení konceptu
● Strach
● Práce nás nebaví, ale šéf by nás vyhodil,
kdybychom hejtovali jeho
![Page 10: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/10.jpg)
1. Hejtování 101 - positivní dopad
● Nám se konečně uleví - WIN!
● Stres opadne, našli jsme viníka.
● Za všechno stejně můžou uprchlíci.
● Je to přece strašná sranda.
![Page 11: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/11.jpg)
1. Hejtování 101 - negativní dopad
● Bolí to (“ty máš zase menstruaci, viď”)
● Žádný konstruktivní feedback
● Není prostor pro změnu nebo zlepšení
● Demotivace, cokoliv změnit
● Hejtování a trollení zpátky
● Vytváří k vám negativní očekávání
![Page 12: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/12.jpg)
1. Hejtování 101 - opravdový cíl
● Něco změnit!
● Vyřešit problém
● Pochopit, jak to dělat líp a snáz
● Naučit se něco
● Někomu to vrátit za minule
![Page 13: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/13.jpg)
1. Hejtování 101 - vytěžit dobro
● Častá situace v open-source: issue/bug => fix
● “Stačí si uvědomit, že ten správce je někdo, koho
bys měl motivovat k tomu, aby to opravil."
![Page 14: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/14.jpg)
1. Hejtování 101 - vytěžit dobro
![Page 15: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/15.jpg)
1. Hejtování 101 - vytěžit dobro
![Page 16: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/16.jpg)
1. Hejtování 101 - vytěžit dobro
![Page 17: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/17.jpg)
1. A co sranda?
![Page 18: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/18.jpg)
1. Positivní trolení - WTF?
![Page 19: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/19.jpg)
2. Seberozvojem k poznání
● Jak poznat jiné technologie?
● Nejlíp v práci.
● Když to jde, super!
![Page 20: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/20.jpg)
2. Seberozvojem k poznání
![Page 21: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/21.jpg)
2. Zkuste open-source
![Page 22: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/22.jpg)
2. Proč open-source?
● 0 Kč
● Positivní extranalita => x Kč
● Můžete vyzkoušet cokoliv
● Žádný deadline
● Volná pracovní doba
● Chuť bleeding edge
● Experimentování - Learn fast, drop fast
![Page 23: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/23.jpg)
2. Můj první větší open-source
● 2014
![Page 24: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/24.jpg)
2. Berserkr mód open-source
![Page 25: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/25.jpg)
2. Co mi dalo za 0 Kč?
● Před ApiGenem: fulltime Symfony hater
● A po?
○ Symfony komponenty + Nette\DI
○ Trvalá udržitetnost sofwtare
○ CI/testy/coverage
○ Github a jeho open-source ekosystém
○ Jméno v komunitě, sebevědomí...
![Page 26: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/26.jpg)
2. Co jsem pochopil - podobnosti?
● DependencyInjnection ⇔ DI
● EventDispacher ⇔ Events
● Controller ⇔ Presenter
● Twig ⇔ Latte
● HttpKernel ⇔ Application
● HttpFoundation ⇔ Http
● SwiftMailer ⇔ Mail
![Page 27: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/27.jpg)
2. Nette a Symfony se obohacují
● práce s Requstem
● Console
● práci s processy (rm -rf *)
● Security
● OptionsResolver (např. ApiGen s 20 CLI
argumenty)
![Page 28: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/28.jpg)
2. Nette a Symfony se obohacují
Nejen kódem, ale i komunitně
● Konference
● Srazy
● Knížky
● Architektura
● LIDI!
![Page 29: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/29.jpg)
2. Nemáte rok času na OS?
![Page 30: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/30.jpg)
![Page 31: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/31.jpg)
2. Přijďte na PHP konferenci
![Page 32: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/32.jpg)
![Page 34: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/34.jpg)
2. Běžte na sraz toho, co neznáte
● Nette PoSoboty po celé ČR
● Symfony srazy po celé ČR
● Často se ani o Nette/Symfony nemluví
![Page 35: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/35.jpg)
![Page 36: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/36.jpg)
![Page 37: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/37.jpg)
2. U mě nic není :(
“If there is no php group in the town, you are the
leader of it.”
● Tak vlastně vznikla Symfony komunita
● A Python komunita - Pyvo.cz
Jak na to? Ozvěte se mi, rád vám s tím pomůžu.
![Page 38: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/38.jpg)
2. Sejděte s tím, koho obdivujete
![Page 39: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/39.jpg)
2. Tak informace u máme
![Page 40: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/40.jpg)
3. Užívejte na plno a nevažte se
● IT je permanetní hype
○ používá se to, o čem se mluví,
○ ne tolik to, co je objektivně kvalitní nebo
nejlepší
● To že je Vinnetou cool dnes, neznamená,
že za 5 let si ho bude někdo pamatovat
● Jeden z nejrychlejších oborů, které se mění
![Page 41: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/41.jpg)
3. Sexy technologie na 1. pohled?
![Page 42: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/42.jpg)
2015-2017 - Symfony HYPE!?
![Page 43: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/43.jpg)
3. Pozor na vendor lock
![Page 44: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/44.jpg)
3. Každá jednou umře
![Page 45: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/45.jpg)
3. Jak si užít naplno? Adaptér!
class MyFileSystem
{
public function delete($file)
{
// Nette\Utils, Symfony\FileSystem…?
}
}
![Page 46: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/46.jpg)
3. Bezpečnost především
● Všude v aplikace použiješ třídu
MyFileSystem
● Její vnitřnosti si můžeš libovolně změnit
● Umře knihovna? Nevyvíjí se, jak potřebuješ?
Vyměníš ji na 1 místě a ještě dál
![Page 47: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/47.jpg)
3. Nezávazný protip: Delegator!
● Pattern tříd, které jsou jen entry pointem
● Třídy typu...
○ Controller/Presenter
○ Command (do Console)
○ EventSubscriber
● ...jenom volají služby/model
![Page 48: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/48.jpg)
3. Užívej si to, co už je
● Už je tu open-source, který Nette a Symfony
vzájemně integruje
○ Nebo aspoň jejich features
● Vyzkoušejte ho ve svém oblíbeném
frameworku, a uvidíte
![Page 49: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/49.jpg)
3. Integrace Symfony do Nette● https://github.com/kdyby
○ Console
○ Translation
○ Validator
● https://github.com/symnedi
○ Security
○ EventDispatcher
○ SymfonyBundlesExtension - bundle => DI
![Page 50: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/50.jpg)
3. Integrace Nette do Symfony
● https://github.com/symfonette
○ Neon do Symfony\DependencyInjection
○ TBA: HttpBridge
● https://github.com/kutny/tracy-bundle
○ Tracy (Laděnka)
● http://gtihub.com/symplify/controller-autowire
○ Autowiring pro Controllery
![Page 51: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/51.jpg)
4. Podporujte zdravou rivalitu
● Nenechme je usnout na vavřínech!
● Není nic horšího než monopolní projekt
● Když není konkurence, tak:
○ roste technický dluh
○ vznikají mrtvá issues a PR (Doctrine)
○ opadá adrenalin u maintainerů
● A chlapi rádi soutěží :)
![Page 52: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/52.jpg)
![Page 53: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/53.jpg)
4. Hybridní balíčky
- Moje vize: hybrid balicky s DI lepidly do frameworku
![Page 54: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/54.jpg)
Takže co jsem vám chtěl sdělit?
● Hejtovat jde i hezky a dokonce z toho i něco
vytěžit
● Je spousta cest, jak se zadarmo vzdělávat a
využít Nette i Symfony ve svůj prospěch
● Zbytečně se na ně nevažte (pamatujte Nšo-či)
● Podporujte zdravou rivalitu, ta žene vývoj!
![Page 55: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/55.jpg)
Je to na nás!
![Page 56: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/56.jpg)
![Page 57: Vinettou a Old Shatterhand (PhpLive.cz, jaro 2016)](https://reader031.fdocument.pub/reader031/viewer/2022020203/58ed1d9f1a28ab0b7a8b461b/html5/thumbnails/57.jpg)