SlideShare a Scribd company logo
Jak se dělal nový
skrz.cz na Symfony
a Elasticsearch
PHP<live>Ostrava, 3.12.2015
O mně
• Kouzelná Almara
• Skrz.cz
• Liftago
• github.com/jakubkulhan
• twitter.com/jakubkulhan
• medium.com/@jakubkulhan
Co je skrz?
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
??? - květen 2014
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
“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
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
Nette, Zend, Symfony
MySQL, Redis,
Elasticsearch
MySQL, Redis,
Elasticsearch
Doctrine, …
Doctrine, …vlastní
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
github.com/skrz/meta
map.conf
+
ControllerRunner
Symfony Kernel až
červen 2015
DI container
Autowiring!
kutny/autowiring-bundle
skrz/autowiring-bundle
autowiring + autoscan PSR-4 +
@Autowired + @Value
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
Twig, …
Twig, …vlastní
skrz/templating-engine
+
SkrzTemplatingBundle
(not released)
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
Breadth-first render
SecurityBundle,
UserService
SecurityBundle, UserService
Pozor na PHPSESSID!
Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
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ší!

More Related Content

PDF
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
PDF
Jakub Kulhan - Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
PDF
Composer / Posobota
PDF
WebSockets - how to do real-time applications in PHP
PDF
Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)
PDF
Elasticsearch po slovensky
PDF
Search Analytics with ELK (Elastic Stack)
PDF
node.js: zápisky z fronty (Battle guide to node.js)
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
Jakub Kulhan - Jak se dělal nový Skrz.cz na Symfony a Elasticsearch
Composer / Posobota
WebSockets - how to do real-time applications in PHP
Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)
Elasticsearch po slovensky
Search Analytics with ELK (Elastic Stack)
node.js: zápisky z fronty (Battle guide to node.js)

Similar to Jak se dělal nový Skrz.cz na Symfony a Elasticsearch (8)

PDF
Použití Next.js a Reactí UI khinihovny v aplikaci
PDF
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
ODP
XSS PHP CSP ETC OMG WTF BBQ
PDF
CQRS v rohlik.cz
PDF
App Engine Kick Start
PDF
RocDevs/PHPPrague - Proč by sakra někdo měl chtít dělat eshop?
PDF
Infrastruktura památníku českého webu a zkušenosti s Heritrixem
PPTX
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Použití Next.js a Reactí UI khinihovny v aplikaci
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
XSS PHP CSP ETC OMG WTF BBQ
CQRS v rohlik.cz
App Engine Kick Start
RocDevs/PHPPrague - Proč by sakra někdo měl chtít dělat eshop?
Infrastruktura památníku českého webu a zkušenosti s Heritrixem
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Ad

Jak se dělal nový Skrz.cz na Symfony a Elasticsearch