SlideShare una empresa de Scribd logo
1 de 12
Speed up your ORM development
BRNO php
František Tröster
frantisek.troster@inventic.eu
Programátorské znalosti:
 První webová stránka v roce 1997, v PHP vyvíjím od roku
1998 a první kód, za který se nestydím ….
 Zkušenosti s vývojem v Symfony, Symfony 2, Zend,
Doctrine, Doctrine2, Propel
 Zvláštní záliba v automatizaci
Pracovní zkušenosti:
 Spolu s Luďkem Vodičkou jsem založil v roce 2006
Inventic s.r.o.
 Od roku 2008 se spolupodílím na vývoji ORM Designer
 Od roku 2010 pracuji v AVG nyní na pozici Team Leader
*) Mobil v kapse
 Můj vývojářský batoh a kam tam patří ORM Designer
• Symfony 2
• Doctrine 2
• ORM Designer
• Podpůrné knihovny a nástroje
 Praktická ukázka práce s ORM Designer
 Volné grilování
 MVC framework plně srovnatelný s nejlepšími Java
frameworky
 Snadno rozšiřitelný pomocí Bundles – zcela jiná
úroveň klasických modulů
 Moje 3+1 důvody
• Krásná ukázka čistého kódu
• Integrace oblíbených nástrojů
• Žádná magie
 ORM framework vycházející z JPA
 Skutečně elegantní a stabilní mapování objektů na DB
 Podpora NoSQL DB
 Jako u každého ORM je potřeba ověřit vhodnost
 Moje 3 důvody
• Krásná ukázka čistého kódu
• Výkon
• Žádná magie
1 projekt = 11 objektů= 2500 řádků
Jeden pracovní den
1 projekt = 11 objektů = 2500 řádků
2 hodiny práce
 Generuje čistý minimalistický kód
 Není WYSIWYG, ale vývojářský nástroj
 Končí tam, kde začíná ORM framework
 Modelování pomocí rozšířeného ERD
 Součást vývojového cyklu – vždy aktuální dokumentace
 Podpora:
 Modulů (Bundles)
 Jmenných prostorů
 ORM atributů
 Many:Many asociací
 Dědičnosti
• Github
https://github.com/Atlantic18
• Apiary
http://docs.icm.apiary.io/
• Composer + Packagist
https://packagist.org/users/frtroster/
• SASS/Compass
http://compass-style.org/
• Sublime Text
http://www.sublimetext.com/
• Travis/Jenkins
https://travis-ci.org
http://jenkins-ci.org/
 REST service (Apiary.io)
 CoralContentBundle
 ukázka modelu
 jmenné prostory
 regiony
 klávesové zkratky
 přidání entity
 vygenerované asociace
 Spuštění testů (Travis/Jenkins)
 Otázky & odpovědi
 Sleva 50% licenci ORM Designer (14 dní platnost)
info@orm-designer.com
 Nápověda na:
www.ormcheatsheet.com
 Jsi skvělý PHP programátor a nudíš se? Napiš mi na
frantisek.troster@inventic.eu
www.orm-designer.com
frantisek.troster@inventic.eu
@ormdesigner

Más contenido relacionado

Destacado

Av technika 13
Av technika 13Av technika 13
Av technika 13olc_user
 
WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPBrnoPHP
 
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...Jakub Kulhan
 
Nikola luxova
Nikola luxovaNikola luxova
Nikola luxovacekaon
 
What makes a good developer from a management perspective
What makes a good developer from a management perspectiveWhat makes a good developer from a management perspective
What makes a good developer from a management perspectiveBrnoPHP
 
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 #44 - Symfony php framework
Čtvrtkon #44 - Symfony php frameworkČtvrtkon #44 - Symfony php framework
Čtvrtkon #44 - Symfony php frameworkMartin Zeman
 
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS clustercommit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS clusterJakub Kulhan
 
Vývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v NetteVývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v NetteVývojáři sobě
 
Symfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconSymfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconVojta Svoboda
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJSJakub Nesetril
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowJakub Nesetril
 
FTP deployment Devel 2015
FTP deployment Devel 2015FTP deployment Devel 2015
FTP deployment Devel 2015David Grudl
 
Nette: jak rozbít atom?
Nette: jak rozbít atom?Nette: jak rozbít atom?
Nette: jak rozbít atom?David Grudl
 
A Beginners Guide to noSQL
A Beginners Guide to noSQLA Beginners Guide to noSQL
A Beginners Guide to noSQLMike Crabb
 

Destacado (17)

Av technika 13
Av technika 13Av technika 13
Av technika 13
 
WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHP
 
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
ReactPHP + Symfony = profit aneb 1000req/s přes Symfony s minimálními nár...
 
Nikola luxova
Nikola luxovaNikola luxova
Nikola luxova
 
What makes a good developer from a management perspective
What makes a good developer from a management perspectiveWhat makes a good developer from a management perspective
What makes a good developer from a management perspective
 
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 #44 - Symfony php framework
Čtvrtkon #44 - Symfony php frameworkČtvrtkon #44 - Symfony php framework
Čtvrtkon #44 - Symfony php framework
 
Neo4j Jízdomat
Neo4j JízdomatNeo4j Jízdomat
Neo4j Jízdomat
 
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS clustercommit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
 
Vývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v NetteVývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v Nette
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 
Symfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconSymfony vs Nette vs Phalcon
Symfony vs Nette vs Phalcon
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJS
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflow
 
FTP deployment Devel 2015
FTP deployment Devel 2015FTP deployment Devel 2015
FTP deployment Devel 2015
 
Nette: jak rozbít atom?
Nette: jak rozbít atom?Nette: jak rozbít atom?
Nette: jak rozbít atom?
 
A Beginners Guide to noSQL
A Beginners Guide to noSQLA Beginners Guide to noSQL
A Beginners Guide to noSQL
 

Similar a ORM Designer: Speed up your ORM development

vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop pythonVladan Laxa
 
Co je ORM Designer
Co je ORM DesignerCo je ORM Designer
Co je ORM DesignerSkipper
 
Michal Majer / I testování může být zábava
Michal Majer / I testování může být zábavaMichal Majer / I testování může být zábava
Michal Majer / I testování může být zábavaMichal Majer
 
Skiper - vizualizační nástroj
Skiper - vizualizační nástrojSkiper - vizualizační nástroj
Skiper - vizualizační nástrojSkipper18
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Railsigloonet
 
Odpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnostOdpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnostchaplin06
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devuVašek Purchart
 
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
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webDevelcz
 
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptČtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptCtvrtkoncz
 
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatotocz
 
Jan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve Swiftu
Jan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve SwiftuJan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve Swiftu
Jan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve Swiftumdevtalk
 
Karel Minařík: Do nitra stroje s programovacím jazykem Ruby
Karel Minařík: Do nitra stroje s programovacím jazykem Ruby Karel Minařík: Do nitra stroje s programovacím jazykem Ruby
Karel Minařík: Do nitra stroje s programovacím jazykem Ruby ÚISK FF UK
 
Zonky QA Meetup
Zonky QA MeetupZonky QA Meetup
Zonky QA Meetupdamovsky
 
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
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Vašek Purchart
 

Similar a ORM Designer: Speed up your ORM development (20)

vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 
Co je ORM Designer
Co je ORM DesignerCo je ORM Designer
Co je ORM Designer
 
Michal Majer / I testování může být zábava
Michal Majer / I testování může být zábavaMichal Majer / I testování může být zábava
Michal Majer / I testování může být zábava
 
Skiper - vizualizační nástroj
Skiper - vizualizační nástrojSkiper - vizualizační nástroj
Skiper - vizualizační nástroj
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Rails
 
Odpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnostOdpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnost
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 
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)
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro web
 
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptČtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
 
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeception
 
Jan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve Swiftu
Jan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve SwiftuJan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve Swiftu
Jan Čislinský: Seznámení se Sourcery aneb Základy metaprogramování ve Swiftu
 
Karel Minařík: Do nitra stroje s programovacím jazykem Ruby
Karel Minařík: Do nitra stroje s programovacím jazykem Ruby Karel Minařík: Do nitra stroje s programovacím jazykem Ruby
Karel Minařík: Do nitra stroje s programovacím jazykem Ruby
 
Zonky QA Meetup
Zonky QA MeetupZonky QA Meetup
Zonky QA Meetup
 
TNPW2-2012-03
TNPW2-2012-03TNPW2-2012-03
TNPW2-2012-03
 
TNPW2-2013-04
TNPW2-2013-04TNPW2-2013-04
TNPW2-2013-04
 
TNPW2-2012-04
TNPW2-2012-04TNPW2-2012-04
TNPW2-2012-04
 
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]
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
 
CQRS v rohlik.cz
CQRS v rohlik.czCQRS v rohlik.cz
CQRS v rohlik.cz
 

ORM Designer: Speed up your ORM development

  • 1. Speed up your ORM development BRNO php František Tröster frantisek.troster@inventic.eu
  • 2. Programátorské znalosti:  První webová stránka v roce 1997, v PHP vyvíjím od roku 1998 a první kód, za který se nestydím ….  Zkušenosti s vývojem v Symfony, Symfony 2, Zend, Doctrine, Doctrine2, Propel  Zvláštní záliba v automatizaci Pracovní zkušenosti:  Spolu s Luďkem Vodičkou jsem založil v roce 2006 Inventic s.r.o.  Od roku 2008 se spolupodílím na vývoji ORM Designer  Od roku 2010 pracuji v AVG nyní na pozici Team Leader *) Mobil v kapse
  • 3.  Můj vývojářský batoh a kam tam patří ORM Designer • Symfony 2 • Doctrine 2 • ORM Designer • Podpůrné knihovny a nástroje  Praktická ukázka práce s ORM Designer  Volné grilování
  • 4.  MVC framework plně srovnatelný s nejlepšími Java frameworky  Snadno rozšiřitelný pomocí Bundles – zcela jiná úroveň klasických modulů  Moje 3+1 důvody • Krásná ukázka čistého kódu • Integrace oblíbených nástrojů • Žádná magie
  • 5.  ORM framework vycházející z JPA  Skutečně elegantní a stabilní mapování objektů na DB  Podpora NoSQL DB  Jako u každého ORM je potřeba ověřit vhodnost  Moje 3 důvody • Krásná ukázka čistého kódu • Výkon • Žádná magie
  • 6. 1 projekt = 11 objektů= 2500 řádků Jeden pracovní den
  • 7. 1 projekt = 11 objektů = 2500 řádků 2 hodiny práce
  • 8.  Generuje čistý minimalistický kód  Není WYSIWYG, ale vývojářský nástroj  Končí tam, kde začíná ORM framework  Modelování pomocí rozšířeného ERD  Součást vývojového cyklu – vždy aktuální dokumentace  Podpora:  Modulů (Bundles)  Jmenných prostorů  ORM atributů  Many:Many asociací  Dědičnosti
  • 9. • Github https://github.com/Atlantic18 • Apiary http://docs.icm.apiary.io/ • Composer + Packagist https://packagist.org/users/frtroster/ • SASS/Compass http://compass-style.org/ • Sublime Text http://www.sublimetext.com/ • Travis/Jenkins https://travis-ci.org http://jenkins-ci.org/
  • 10.  REST service (Apiary.io)  CoralContentBundle  ukázka modelu  jmenné prostory  regiony  klávesové zkratky  přidání entity  vygenerované asociace  Spuštění testů (Travis/Jenkins)
  • 11.  Otázky & odpovědi  Sleva 50% licenci ORM Designer (14 dní platnost) info@orm-designer.com  Nápověda na: www.ormcheatsheet.com  Jsi skvělý PHP programátor a nudíš se? Napiš mi na frantisek.troster@inventic.eu