Enviar pesquisa
Carregar
Jakub Kulhán - ReactPHP + Symfony = PROFIT (1. sraz přátel Symfony v Praze)
•
2 gostaram
•
370 visualizações
Péhápkaři
Seguir
Jak v Symfony zpracovávat 1000 requestů za sekundu? Využijeme RabbitMQ a ReactPHP.
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 16
Baixar agora
Baixar para ler offline
Recomendados
Python meetup: coroutines, event loops, and non-blocking I/O
Python meetup: coroutines, event loops, and non-blocking I/O
Buzzcapture
PyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornado
emptysquare
PHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP Limoges
✅ William Pinaud
Asyncio
Asyncio
Andrew Svetlov
Пишем для asyncio - Андрей Светлов, PyCon RU 2014
Пишем для asyncio - Андрей Светлов, PyCon RU 2014
it-people
ISUCONアプリを Pythonで書いてみた
ISUCONアプリを Pythonで書いてみた
memememomo
Play á la Rails
Play á la Rails
Sebastian Nozzi
How to stand on the shoulders of giants
How to stand on the shoulders of giants
Ian Barber
Recomendados
Python meetup: coroutines, event loops, and non-blocking I/O
Python meetup: coroutines, event loops, and non-blocking I/O
Buzzcapture
PyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornado
emptysquare
PHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP Limoges
✅ William Pinaud
Asyncio
Asyncio
Andrew Svetlov
Пишем для asyncio - Андрей Светлов, PyCon RU 2014
Пишем для asyncio - Андрей Светлов, PyCon RU 2014
it-people
ISUCONアプリを Pythonで書いてみた
ISUCONアプリを Pythonで書いてみた
memememomo
Play á la Rails
Play á la Rails
Sebastian Nozzi
How to stand on the shoulders of giants
How to stand on the shoulders of giants
Ian Barber
Functional php
Functional php
Jean Carlo Machado
KubeCon EU 2016: Custom Volume Plugins
KubeCon EU 2016: Custom Volume Plugins
KubeAcademy
Git avançado
Git avançado
Jean Carlo Machado
Javascript ES6 generators
Javascript ES6 generators
Ramesh Nair
node ffi
node ffi
偉格 高
Trading with opensource tools, two years later
Trading with opensource tools, two years later
clkao
ZeroMQ Is The Answer: DPC 11 Version
ZeroMQ Is The Answer: DPC 11 Version
Ian Barber
用Tornado开发RESTful API运用
用Tornado开发RESTful API运用
Felinx Lee
Python Coroutines, Present and Future
Python Coroutines, Present and Future
emptysquare
dotCloud and go
dotCloud and go
Flavio Poletti
Call stack, event loop and async programming
Call stack, event loop and async programming
Masters Academy
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
ZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made Simple
Ian Barber
ZeroMQ Is The Answer
ZeroMQ Is The Answer
Ian Barber
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
ES6 generators
ES6 generators
Steven Foote
Txjs
Txjs
Peter Higgins
Perl: Coro asynchronous
Perl: Coro asynchronous
Shmuel Fomberg
ES2015 (ES6) Overview
ES2015 (ES6) Overview
hesher
Consuming Web Services with Swift and Rx
Consuming Web Services with Swift and Rx
Guillermo Gonzalez
Depre.jodo
Depre.jodo
Pancho Quevedo
Digital studieteknikk Dyrløkkeåsen skole 2016
Digital studieteknikk Dyrløkkeåsen skole 2016
Magnus Nohr
Mais conteúdo relacionado
Mais procurados
Functional php
Functional php
Jean Carlo Machado
KubeCon EU 2016: Custom Volume Plugins
KubeCon EU 2016: Custom Volume Plugins
KubeAcademy
Git avançado
Git avançado
Jean Carlo Machado
Javascript ES6 generators
Javascript ES6 generators
Ramesh Nair
node ffi
node ffi
偉格 高
Trading with opensource tools, two years later
Trading with opensource tools, two years later
clkao
ZeroMQ Is The Answer: DPC 11 Version
ZeroMQ Is The Answer: DPC 11 Version
Ian Barber
用Tornado开发RESTful API运用
用Tornado开发RESTful API运用
Felinx Lee
Python Coroutines, Present and Future
Python Coroutines, Present and Future
emptysquare
dotCloud and go
dotCloud and go
Flavio Poletti
Call stack, event loop and async programming
Call stack, event loop and async programming
Masters Academy
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
ZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made Simple
Ian Barber
ZeroMQ Is The Answer
ZeroMQ Is The Answer
Ian Barber
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
ES6 generators
ES6 generators
Steven Foote
Txjs
Txjs
Peter Higgins
Perl: Coro asynchronous
Perl: Coro asynchronous
Shmuel Fomberg
ES2015 (ES6) Overview
ES2015 (ES6) Overview
hesher
Consuming Web Services with Swift and Rx
Consuming Web Services with Swift and Rx
Guillermo Gonzalez
Mais procurados
(20)
Functional php
Functional php
KubeCon EU 2016: Custom Volume Plugins
KubeCon EU 2016: Custom Volume Plugins
Git avançado
Git avançado
Javascript ES6 generators
Javascript ES6 generators
node ffi
node ffi
Trading with opensource tools, two years later
Trading with opensource tools, two years later
ZeroMQ Is The Answer: DPC 11 Version
ZeroMQ Is The Answer: DPC 11 Version
用Tornado开发RESTful API运用
用Tornado开发RESTful API运用
Python Coroutines, Present and Future
Python Coroutines, Present and Future
dotCloud and go
dotCloud and go
Call stack, event loop and async programming
Call stack, event loop and async programming
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
ZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made Simple
ZeroMQ Is The Answer
ZeroMQ Is The Answer
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
ES6 generators
ES6 generators
Txjs
Txjs
Perl: Coro asynchronous
Perl: Coro asynchronous
ES2015 (ES6) Overview
ES2015 (ES6) Overview
Consuming Web Services with Swift and Rx
Consuming Web Services with Swift and Rx
Destaque
Depre.jodo
Depre.jodo
Pancho Quevedo
Digital studieteknikk Dyrløkkeåsen skole 2016
Digital studieteknikk Dyrløkkeåsen skole 2016
Magnus Nohr
Biodiversity Heritage Library - an overview for the Australian Museum
Biodiversity Heritage Library - an overview for the Australian Museum
Nicole Kearney
Planificador de proyectos plantilla
Planificador de proyectos plantilla
Oscar Ortiz
Lectura 03
Lectura 03
Rossy Camila
Section a media theories
Section a media theories
Liamcwhite
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)
Péhápkaři
The Largest E-Cig Company for Smok Ultra Mod
The Largest E-Cig Company for Smok Ultra Mod
vapingman
Tomáš Fejfar - Elk - Víc než jen logy (4. sraz přátel Symfony v Praze)
Tomáš Fejfar - Elk - Víc než jen logy (4. sraz přátel Symfony v Praze)
Péhápkaři
Conteo
Conteo
angelmartinezalava
2 taller civil[1]
2 taller civil[1]
Punchilupe36
Хитрые таргетинги для коммерческих спецпроектов
Хитрые таргетинги для коммерческих спецпроектов
Mediaprojects Mail.Ru Group
Plan de gestión del conocimiento
Plan de gestión del conocimiento
Jasser Jamil Sornoza Montesdeoca
The dynamics of knowledge creation: academics' changing writing practices – i...
The dynamics of knowledge creation: academics' changing writing practices – i...
Queen's University Belfast
c'est FACILE ! se nourrir avec les lois de la diététique chinoise...
c'est FACILE ! se nourrir avec les lois de la diététique chinoise...
Davy Vittupier
Lectura 2 qué es ser persona para el derecho
Lectura 2 qué es ser persona para el derecho
Godofredo Lozano
Txns_iPhone_Working_Splits
Txns_iPhone_Working_Splits
Luke Eastman
Garage storage solutions in fort worth tx
Garage storage solutions in fort worth tx
Garaginization Dfw
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
Plan de gestión del conocimiento
Plan de gestión del conocimiento
Jasser Jamil Sornoza Montesdeoca
Destaque
(20)
Depre.jodo
Depre.jodo
Digital studieteknikk Dyrløkkeåsen skole 2016
Digital studieteknikk Dyrløkkeåsen skole 2016
Biodiversity Heritage Library - an overview for the Australian Museum
Biodiversity Heritage Library - an overview for the Australian Museum
Planificador de proyectos plantilla
Planificador de proyectos plantilla
Lectura 03
Lectura 03
Section a media theories
Section a media theories
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)
The Largest E-Cig Company for Smok Ultra Mod
The Largest E-Cig Company for Smok Ultra Mod
Tomáš Fejfar - Elk - Víc než jen logy (4. sraz přátel Symfony v Praze)
Tomáš Fejfar - Elk - Víc než jen logy (4. sraz přátel Symfony v Praze)
Conteo
Conteo
2 taller civil[1]
2 taller civil[1]
Хитрые таргетинги для коммерческих спецпроектов
Хитрые таргетинги для коммерческих спецпроектов
Plan de gestión del conocimiento
Plan de gestión del conocimiento
The dynamics of knowledge creation: academics' changing writing practices – i...
The dynamics of knowledge creation: academics' changing writing practices – i...
c'est FACILE ! se nourrir avec les lois de la diététique chinoise...
c'est FACILE ! se nourrir avec les lois de la diététique chinoise...
Lectura 2 qué es ser persona para el derecho
Lectura 2 qué es ser persona para el derecho
Txns_iPhone_Working_Splits
Txns_iPhone_Working_Splits
Garage storage solutions in fort worth tx
Garage storage solutions in fort worth tx
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 ...
Plan de gestión del conocimiento
Plan de gestión del conocimiento
Semelhante a Jakub Kulhán - ReactPHP + Symfony = PROFIT (1. sraz přátel Symfony v Praze)
Symfony As A Platform (Symfony Camp 2007)
Symfony As A Platform (Symfony Camp 2007)
Fabien Potencier
The promise of asynchronous php
The promise of asynchronous php
Wim Godden
The promise of asynchronous php
The promise of asynchronous php
Wim Godden
Symfony components in the wild, PHPNW12
Symfony components in the wild, PHPNW12
Jakub Zalas
When symfony met promises
When symfony met promises
Marc Morera
The symfony platform: Create your very own framework (PHP Quebec 2008)
The symfony platform: Create your very own framework (PHP Quebec 2008)
Fabien Potencier
Forget about index.php and build you applications around HTTP!
Forget about index.php and build you applications around HTTP!
Kacper Gunia
Forget about Index.php and build you applications around HTTP - PHPers Cracow
Forget about Index.php and build you applications around HTTP - PHPers Cracow
Kacper Gunia
React PHP: the NodeJS challenger
React PHP: the NodeJS challenger
vanphp
The promise of asynchronous PHP
The promise of asynchronous PHP
Wim Godden
Symfony 2 (PHP Quebec 2009)
Symfony 2 (PHP Quebec 2009)
Fabien Potencier
Tobias Nyholm "Deep dive into Symfony 4 internals"
Tobias Nyholm "Deep dive into Symfony 4 internals"
Fwdays
Kansai.pm 10周年記念 Plack/PSGI 入門
Kansai.pm 10周年記念 Plack/PSGI 入門
lestrrat
The promise of asynchronous PHP
The promise of asynchronous PHP
Wim Godden
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Masahiro Nagano
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Hisateru Tanaka
Plack - LPW 2009
Plack - LPW 2009
Tatsuhiko Miyagawa
Mojo as a_client
Mojo as a_client
Marcus Ramberg
優しいWAFの作り方
優しいWAFの作り方
techmemo
symfony on action - WebTech 207
symfony on action - WebTech 207
patter
Semelhante a Jakub Kulhán - ReactPHP + Symfony = PROFIT (1. sraz přátel Symfony v Praze)
(20)
Symfony As A Platform (Symfony Camp 2007)
Symfony As A Platform (Symfony Camp 2007)
The promise of asynchronous php
The promise of asynchronous php
The promise of asynchronous php
The promise of asynchronous php
Symfony components in the wild, PHPNW12
Symfony components in the wild, PHPNW12
When symfony met promises
When symfony met promises
The symfony platform: Create your very own framework (PHP Quebec 2008)
The symfony platform: Create your very own framework (PHP Quebec 2008)
Forget about index.php and build you applications around HTTP!
Forget about index.php and build you applications around HTTP!
Forget about Index.php and build you applications around HTTP - PHPers Cracow
Forget about Index.php and build you applications around HTTP - PHPers Cracow
React PHP: the NodeJS challenger
React PHP: the NodeJS challenger
The promise of asynchronous PHP
The promise of asynchronous PHP
Symfony 2 (PHP Quebec 2009)
Symfony 2 (PHP Quebec 2009)
Tobias Nyholm "Deep dive into Symfony 4 internals"
Tobias Nyholm "Deep dive into Symfony 4 internals"
Kansai.pm 10周年記念 Plack/PSGI 入門
Kansai.pm 10周年記念 Plack/PSGI 入門
The promise of asynchronous PHP
The promise of asynchronous PHP
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Plack - LPW 2009
Plack - LPW 2009
Mojo as a_client
Mojo as a_client
優しいWAFの作り方
優しいWAFの作り方
symfony on action - WebTech 207
symfony on action - WebTech 207
Mais de Péhápkaři
Startup vs korporace vs Previo
Startup vs korporace vs Previo
Péhápkaři
RabbitMQ a ElasticSearch v Previu
RabbitMQ a ElasticSearch v Previu
Pé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...
Péhápkaři
Čtvrtkon #53 - Štěpán Zikmund
Čtvrtkon #53 - Štěpán Zikmund
Pé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ě...
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)
Péhápkaři
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]
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...
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...
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...
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...
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ř...
Péhápkaři
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)
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)
Péhápkaři
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
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...
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)
Péhápkaři
Mais de Péhápkaři
(20)
Startup vs korporace vs Previo
Startup vs korporace vs Previo
RabbitMQ 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...
Č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ě...
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 - 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...
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...
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ř...
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)
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)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
Automatizace jednoduše [Martin Zeman] (6. sraz, Praha, 31.3.2016)
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...
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
Karel Škopek - WordPress + Laravel = <3 (4. sraz přátel Symfony v Praze)
Último
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ICS
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
gurkirankumar98700
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
ThousandEyes
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
AxelRicardoTrocheRiq
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
SolGuruz
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Delhi Call girls
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
shikhaohhpro
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
kalichargn70th171
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
harshavardhanraghave
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Jhone kinadey
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
joe51371421
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Steffen Staab
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
Wave PLM
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Andolasoft Inc
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
Willy Marroquin (WillyDevNET)
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
Último
(20)
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Jakub Kulhán - ReactPHP + Symfony = PROFIT (1. sraz přátel Symfony v Praze)
1.
ReactPHP + Symfony
= PROFIT aneb 1000req/s s minimálními nároky na server 1. sraz přátel Symfony v Praze (29.10.2015)
2.
O mně • Kouzelná
Almara • Skrz.cz • @jakubkulhan • jakub.kulhan@gmail.com • github.com/jakubkulhan
3.
Slovníček • klik =
najedu myší na nabídku a zmáčknu tlačítko • imprese = podíval jsem se na nabídku (alespoň polovina nabídky byla ve viewportu alespoň jednu sekundu) • CTR (click-through rate) = kliky / imprese
4.
5.
6.
ReactPHP (neplést s ReactJS!) http://reactphp.org/ (https://github.com/jakubkulhan/hit-server-bench)
7.
ReactPHP: req, res
→ λ Symfony: req → λ → res ❓
8.
req → λ
→ promise[res] ❗
9.
github.com/jakubkulhan/ reactphp-symfony
10.
Boot $kernel = new
AppKernel( $environment = $input->getOption("environment"), $environment !== "prod" ); $kernel->boot(); $loop = Factory::create(); /** @var Container $container */ $container = $kernel->getContainer(); $container->set("react.loop", $loop); $socket = new Socket($loop); $http = new Server($socket); $http->on("request", function ( Request $request, Response $response ) use ($kernel, $loop) { // ... }); $socket->listen( $port = $input->getOption("port"), $host = $input->getOption("host") ); echo "Listening to {$host}:{$port}n"; $loop->run();
11.
ReactPHP → Symfony $headers
= $request->getHeaders(); $cookies = []; if (isset($headers["Cookie"])) { foreach ((array)$headers["Cookie"] as $cookieHeader) { foreach (explode(";", $cookieHeader) as $cookie) { list($name, $value) = explode("=", trim($cookie), 2); $cookies[$name] = urldecode($value); } } } $symfonyRequest = new SymfonyRequest( $request->getQuery(), [], // TODO: handle post data [], $cookies, [], [ "REQUEST_URI" => $request->getPath(), "SERVER_NAME" => explode(":", $headers["Host"])[0], "REMOTE_ADDR" => $request->remoteAddress, "QUERY_STRING" => http_build_query($request->getQuery()), ], null // TODO: handle post data ); $symfonyRequest->headers->replace($headers); $symfonyResponse = $kernel->handle($symfonyRequest); if ($kernel instanceof TerminableInterface) { $kernel->terminate($symfonyRequest, $symfonyResponse); }
12.
Symfony → ReactPHP if
($symfonyResponse instanceof PromiseInterface) { $symfonyResponse->then(function (SymfonyResponse $symfonyResponse) use ($response) { $this->send($response, $symfonyResponse); }, function ($error) use ($loop, $response) { echo "Exception: ", (string) $error, "n"; $response->writeHead(500, ["Content-Type" => "text/plain"]); $response->end("500 Internal Server Error"); $loop->stop(); }); } elseif ($symfonyResponse instanceof SymfonyResponse) { $this->send($response, $symfonyResponse); } else { echo "Unsupported response type: ", get_class($symfonyResponse), "n"; $response->writeHead(500, ["Content-Type" => "text/plain"]); $response->end("500 Internal Server Error"); $loop->stop(); }
13.
Symfony → ReactPHP
(2) private function send(Response $res, SymfonyResponse $symfonyResponse) { $headers = $symfonyResponse->headers->allPreserveCase(); $headers["X-Powered-By"] = "Love"; $cookies = $symfonyResponse->headers->getCookies(); if (count($cookies)) { $headers["Set-Cookie"] = []; foreach ($symfonyResponse->headers->getCookies() as $cookie) { $headers["Set-Cookie"][] = (string)$cookie; } } $res->writeHead($symfonyResponse->getStatusCode(), $headers); $res->end($symfonyResponse->getContent()); }
14.
Controller /** * @Controller */ class IndexController { /** *
@var LoopInterface * * @Autowired */ public $loop; public function indexAction(Request $request) { return Response::create("Hello, world!n"); } public function promiseAction(Request $request) { $secs = intval($request->attributes->get("secs")); $deferred = new Deferred(); $this->loop->addTimer($secs, function () use ($secs, $deferred) { $deferred->resolve(Response::create("{$secs} seconds later...n")); }); return $deferred->promise(); } }
15.
Knihovny • ReactPHP (např.
HTTP klient, ZeroMQ) https://github.com/reactphp • MySQL https://github.com/kaja47/async-mysql https://github.com/KhristenkoYura/react-mysql https://github.com/bixuehujin/reactphp-mysql • Redis https://github.com/nrk/predis-async • RabbitMQ https://github.com/jakubkulhan/bunny
16.
Díky! Otázky?
Baixar agora