jak se dělal nový skrz.cz na symfony a elasticsearch
TRANSCRIPT
Jak se dělal nový skrz.cz na Symfony
a ElasticsearchPHP<live>Ostrava, 3.12.2015
O mně• Kouzelná Almara
• Skrz.cz
• Liftago
• github.com/jakubkulhan
• twitter.com/jakubkulhan
• medium.com/@jakubkulhan
Co je skrz?
??? - květen 2014
“Zabij všechny SELECTy do májeskjůelky!”
SELECT … JOIN … JOIN … JOIN …
“MySQL spadla… Redis spadnul…”
if (MySQL) { … } else if (Redis) { … }
“Něco blbě v konfigu…”
Service::Config()->application->… Service::Smarty()->set(“…”, …)
“Na mym dev portu ty obrázky jsou… #@^**#@, pustils sync
do špatný složky…”
“Ta změna na letácích rozbila recenze.”
“… snippety …”
“Load 100… to ten server dlouho nevydrží…”
REDESIGN
lib/, getcomposer.org
“Hele, chtělo by to použít ňákej framework…”
Nette, Zend, Symfony, …
Nette, Zend, Symfony
Nette, Zend, Symfony
Nette, Zend, Symfony
MySQL, Redis, Elasticsearch
MySQL, Redis, Elasticsearch
Doctrine, …
Doctrine, …vlastní
github.com/skrz/meta
map.conf +
ControllerRunner
Symfony Kernel až červen 2015
DI container
skrz/autowiring-bundle
autowiring + autoscan PSR-4 + @Autowired + @Value
Twig, …
Twig, …vlastní
skrz/templating-engine +
SkrzTemplatingBundle (not released)
Breadth-first render
SecurityBundle, UserService
SecurityBundle, UserService
Pozor na PHPSESSID!
REDESIGN²
punk, feature branching + code reviews
SVN, Git
Continuous integration + testy:
jakub.skrz.xyz + dev-ABCD.skrz.xyz
devblog.skrz.cz/post/113170144803/jak-nenásilně-začít-testovat
Deployment:
codeascraft.com/2013/07/01/atomic-deploys-at-etsy/
Shrnutí1. Symfony jako fw byla tehdy jediná volba. Od té doby se rozhodnutí
mnohokrát vrátilo.
1. Flexibilnost, rozšiřitelnost přes bundles.
2. Postupný přechod.
2. Elasticsearch je prostě super!
1. https://www.zdrojak.cz/clanky/jak-skrz-cz-radi-20k-nabidek-podle-real-time-analytiky/
2. Znamenal vytvořit skrz/meta. Čas strávený vytvářením téhle knihovny se taky mnohokrát vrátil.
3. Testy a jednoduchý rollback při deploymentu mnohokát zachránily prdel!
Otázky?
github.com/jakubkulhan twitter.com/jakubkulhan
medium.com/@jakubkulhan
github.com/skrz twitter.com/SkrzCzDev
devblog.skrz.cz
facebook.com/SkrzCirkus
Sledujte Skrz Cirkus a přijďte na další!
Díky!
github.com/jakubkulhan twitter.com/jakubkulhan
medium.com/@jakubkulhan
github.com/skrz twitter.com/SkrzCzDev
devblog.skrz.cz
facebook.com/SkrzCirkus
Sledujte Skrz Cirkus a přijďte na další!