Design pattern in Symfony2 - Nanos gigantium humeris insidentes

Nanos gigantium
humeris insidentes
DESIGN PATTERN INSIDE SYMFONY2
GIANTS
liurrrgio
GIULIO DE DONATO

GIORGIO CEFARO

@liuggio

@giorrrgio
DESIGN PATTERN?
DESIGN PATTERN

A solution of a
problem in a context
James O. Coplien (1994)
DESIGN PATTERN

“ For me a pattern is
primarily a way to chunk up
advice about a topic “
#1
FRONT CONTROLLER
INTENT:

A controller that handles
all requests for a Web site
FRONT CONTROLLER
web/app.php
FRONT CONTROLLER ... and ?
web/app.php
INTENT:

DECORATOR

Attach additional responsibilities
to an object dynamically.
Decorators provide a flexible
alternative to subclassing for
extending functionality.
DECORATOR
SymfonyComponentHttpKernelHttpCacheHttpCache
U DUNNO
HttpKernelInterface?
SymfonyComponentHttpKernelHttpKernelInterface
KERNEL AND SERVICE CONTAINER
SymfonyComponentHttpKernelKernel
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
INVERSION OF CONTROL
INTENT:

Inversion of control is a style
of software construction where
reusable code controls the execution
of problem-specific code
INVERSION OF CONTROL

1988
“ Inversion of control is a common
characteristic of frameworks,
so saying that these lightweight containers
are special because they use inversion of
control is like saying my car is special
because it has wheels.”
INVERSION OF CONTROL
HOLLYWOOD PRINCIPLE:

“ DON’T CALL US
WE’LL CALL YOU ”
INVERSION OF CONTROL
PICO CONTAINER DEFINITION:

"Dependency Injection is where
components are given their
dependencies through their
constructors, methods, or directly
into fields."
Dependency injection allows the
removal of hard-coded dependencies
and makes it possible to change
them, whether at run-time or compiletime.
INJECTING A TRANSPORT INSIDE A MAILER
- FIGHT OF THE DAY -

SERVICE CONTAINER
vs
DEPENDENCY INJECTION
INVERSION OF CONTROL
INTENT:

DECOUPLE DECOUPL
DECOUPLE
DECOUPLE
DECOUPLE
DECOUPLE

DECOUPLE
DECOUPLE
DECOUPLE

DECOUPLE
DEPENDENCY INJECTION AND FRAMEWORKS
DI

??

Grafico con spaghetti, infermiera che fa la
puntura, lista della spesa per l'antipattern
service locator, qualcosa di galattico per
l'enhanced injection (tipo pulp fiction)

http://www.loosecouplings.com/2011/01/dependency-injection-using-di-container.html

DIC
FACTORY METHOD
INTENT:

Define an interface for creating an object,
but let subclasses decide which class
to instantiate.
Factory Method lets a class defer instantiation to
subclasses.
FACTORY METHOD - DO IT WITH THE DIC
ABSTRACT FACTORY
INTENT:

Provide an interface for creating
families of related or dependent
objects without
specifying their concrete classes.
ABSTRACT FACTORY - SecurityFactoryInterface
SymfonyBundleSecurityBundleDependencyInjectionSecurityFactorySecurityFactoryInterface
INTENT:

BUILDER

Separate the construction of a
complex object from its
representation so that the same
construction process can create
different representations.
FORM BUILDER
SymfonyComponentFormFormBuilderInterface
FORM BUILDER
PROXY
INTENT:

Provide a surrogate or
placeholder for another
object to control access to it.
DOCTRINE PROXY
app/cache/doctrine/odm/Proxies/ ...
MEDIATOR
INTENT:

Define an object that encapsulates how a set
of objects interact. Mediator promotes loose
coupling by keeping objects from referring to
each other explicitly, and it lets you vary their
interaction independently.
ner

file

Kernel :: REQUEST

rLi

ste

gm
ent
Fra

ste

Li
on

ssi

Se

Pro

List
ene

r

MEDIATOR

er

ten
rLis

te

Rou

ner

EVENT DISPATCHER
Loca

leLis

tene

r

all

ew

Fir
STRATEGY aka POLICY
INTENT:

Defines a family of algorithms, encapsulate
each one, and make them interchangeable.
Strategy lets the algorithm vary independently
from clients that use it.
FragmentRendererInterface
SymfonyComponentHttpKernelFragmentFragmentRendererInterface
Fragment Renderers
SymfonyComponentHttpKernelFragment...
DATA MAPPER
INTENT:

A layer of Mappers that moves data between
objects and a database while keeping them
independent of each other and the mapper
itself.
VISITOR
INTENT:

Represent an operation to be performed on
the elements of an object structure.
Visitor lets you define a new operation without
changing the classes of the elements on which
it operates.
VALIDATION VISITOR
SymfonyComponentValidator..
MVC
er

n
Co

ll
tro

w
Vie

el

d
Mo
AbstractionInversion,
AccidentalComplexity,
AccidentalInclusion,
AddingEpicycles,
AlcoholFueledDevelopment,
AmbiguousViewpoint, AnalogyBreakdownAntiPattern, AnalysisParalysis, AnAthena, AppointedTeam, ArchitectsDontCode,
ArchitectsPlayGolf,
ArchitectureAsRequirements,
ArchitectureByImplication,
AsynchronousUnitTesting,
AutogeneratedStovepipeAntiPattern, BandAid, BearTrap?, BigBallOfMud, BlameStorming, BlowhardJamboree, BoatAnchor,
CargoCult, CarParkSyndrome, CascadingDialogBoxesAntiPattern, ContinuousObsolescence, ConfusionOfObjectives, ControlFreak,
CopyAndPasteProgramming, CornCob, CoverYourAssets, CreepingFeaturitis, CrciCards, CryptoCracy, DeadEnd, DeathByPlanning,
DecisionByArithmetic, DesignByCommittee, DesignForTheSakeOfDesign., DiscordantRewardMechanisms, DoerAndKnower,
DryWaterhole, EgalitarianCompensation, EmailIsDangerous, EmperorsNewClothes, EmpireBuilding, ExceptionFunnel,
FalseEconomy, FalseSurrogateEndpoint, FearOfSuccess, FireDrill, FloatingPointCurrency, FloatingPointFractions, FoolTrap,
FunctionalDecomposition,
FungibleTeams,
FungibleProjectManager,
GeographicallyDistributedDevelopment,
GiveMeEstimatesNow, GlassWall, GodClass, GoldenHammer, GroundHogDayProject, HalfDoneIsEnough, HeirApparent,
HeroCulture, HiddenRequirements, IdiotProofProcess., IfItIsWorkingDontChange, IfOk, InappropriateTechnicalObjective,
InputKludge,
ItsAnOperatorProblem,
JobKeeper,
JumbleAntipattern,
JunkyardCoding,
KillTwoBirdsWithOneStone,
KitchenSinkDesign, LavaFlow, LeadingRequest, MagicContainer, ManagerControlsProcess, MushroomManagement, Nationalism,
NetNegativeProducingProgrammer, NotInventedHere, NotTheAppropriateProtocol, NullFlag, OverGeneralizationOfBusinessLogic,
OverUseOfPatterns,
PathOfLeastResistance,
ParsingHtmlWithRegex,
PassingNullsToConstructors,
PlugCompatibleInterchangeableEngineers, PoliticsOrientedArchitecture, PolterGeists, ReinventingTheWheel, ReinventTheWheel,
RollYourOwnDatabase, RequirementsTossedOverTheWall, RubeGoldbergMachine, ScapeGoat, SeagullManagement, SecretSociety,
SellingaProductYouCantRealize,
ShootTheMessenger,
SingleFunctionExitPoint,
SmokeAndMirrors,
SoftwareMerger,
SpaghettiCode, SpecifyNothing, StandingOnTheShouldersOfMidgets, StovepipeAntiPattern, StringWithoutLength, SumoMarriage,
SweepItUnderTheRugAntiPattern,
SwissArmyKnife,
ThatsNotReallyAnIssue,
TheBlob,
TheCustomersAreIdiots,
TheGrandOldDukeOfYork, TheProcessIsTheDeliverable, TheyUnderstoodMe, ThrownOverTheWall, TowerOfVoodoo, TrainTheTrainer,
UntestedButFinished,
VendorLockIn,
ViewgraphEngineering,
VietnamWarAntiPattern,
VoodooChickenCoding,
WalkingThroughaMineField, WarmBodies, WeAreIdiots, WolfTicket, YetAnotherMeetingWillSolveIt, YetAnotherThreadWillSolveIt,

ANTI-PATTERN
DESIGN
FOR THE SAKE OF DESIGN
“I only ship the perfection"
ANTI PATTERNS
OVER ENGINEERING
OVERUSE OF PATTERNS
ANTI PATTERNS
THE BLOB
BIG BALL OF MUD
ANTI PATTERNS
GLOBALIZING
STANDING ON THE SHOULDER OF THE MIDGETS
ANTI PATTERNS
REINVENTING THE WHEEL
NIH SYNDROME
ANTI PATTERNS
E
D
O
C
SPAGHETTI WITHIMEATBALL
L
IO CODE
LASAGNA
V
A
R
SPAGHETTI CODE
code spends
more time being read
and maintained than
being created
DECOUPLE
DECOUPLE
DECOUPLE.
GOOD QUESTIONS
ARE BETTER THAN
GOOD ANSWERS
REFERENCES
1.

https://gist.github.com/giorrrgio/d4395afe470a1ad223e0

2.

http://12factor.net

3.

http://obvioushints.blogspot.it/2008/12/symfony-design-patterns.html

4.

http://c2.com/cgi/wiki?AntiPatternsCatalog

5.

http://martinfowler.com/bliki/InversionOfControl.html

6.

http://martinfowler.com/articles/injection.html
1 of 57

Recommended

Create Your Own Framework by Fabien Potencier by
Create Your Own Framework by Fabien PotencierCreate Your Own Framework by Fabien Potencier
Create Your Own Framework by Fabien PotencierHimel Nag Rana
1.4K views53 slides
Dependency Injection, Zend Framework and Symfony Container by
Dependency Injection, Zend Framework and Symfony ContainerDependency Injection, Zend Framework and Symfony Container
Dependency Injection, Zend Framework and Symfony ContainerDiego Lewin
3.4K views22 slides
Hands-on with the Symfony2 Framework by
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkRyan Weaver
9.3K views73 slides
Symony2 A Next Generation PHP Framework by
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkRyan Weaver
7.5K views79 slides
IoC with PHP by
IoC with PHPIoC with PHP
IoC with PHPChris Weldon
8.3K views54 slides
Zend Studio Tips and Tricks by
Zend Studio Tips and TricksZend Studio Tips and Tricks
Zend Studio Tips and TricksRoy Ganor
6.8K views25 slides

More Related Content

What's hot

Building Single Page Application (SPA) with Symfony2 and AngularJS by
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
15K views47 slides
Build powerfull and smart web applications with Symfony2 by
Build powerfull and smart web applications with Symfony2Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2Hugo Hamon
6.4K views59 slides
Symfony2: Get your project started by
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project startedRyan Weaver
19.1K views70 slides
Ecto and Phoenix: Doing Web With Elixir by
Ecto and Phoenix: Doing Web With ElixirEcto and Phoenix: Doing Web With Elixir
Ecto and Phoenix: Doing Web With ElixirYurii Bodarev
204 views75 slides
Dependency Injection: Make your enemies fear you by
Dependency Injection: Make your enemies fear youDependency Injection: Make your enemies fear you
Dependency Injection: Make your enemies fear youRyan Weaver
2K views24 slides
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1 by
LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1Rich Helton
1.5K views172 slides

What's hot(19)

Building Single Page Application (SPA) with Symfony2 and AngularJS by Antonio Peric-Mazar
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
Build powerfull and smart web applications with Symfony2 by Hugo Hamon
Build powerfull and smart web applications with Symfony2Build powerfull and smart web applications with Symfony2
Build powerfull and smart web applications with Symfony2
Hugo Hamon6.4K views
Symfony2: Get your project started by Ryan Weaver
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
Ryan Weaver19.1K views
Ecto and Phoenix: Doing Web With Elixir by Yurii Bodarev
Ecto and Phoenix: Doing Web With ElixirEcto and Phoenix: Doing Web With Elixir
Ecto and Phoenix: Doing Web With Elixir
Yurii Bodarev204 views
Dependency Injection: Make your enemies fear you by Ryan Weaver
Dependency Injection: Make your enemies fear youDependency Injection: Make your enemies fear you
Dependency Injection: Make your enemies fear you
Ryan Weaver2K views
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1 by Rich Helton
LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
Rich Helton1.5K views
Using API Platform to build ticketing system #symfonycon by Antonio Peric-Mazar
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonycon
Antonio Peric-Mazar2.2K views
Twig: Friendly Curly Braces Invade Your Templates! by Ryan Weaver
Twig: Friendly Curly Braces Invade Your Templates!Twig: Friendly Curly Braces Invade Your Templates!
Twig: Friendly Curly Braces Invade Your Templates!
Ryan Weaver3K views
Using API platform to build ticketing system (translations, time zones, ...) ... by Antonio Peric-Mazar
Using API platform to build ticketing system (translations, time zones, ...) ...Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...
Antonio Peric-Mazar2.5K views
Workshop: Symfony2 Intruduction: (Controller, Routing, Model) by Antonio Peric-Mazar
Workshop: Symfony2 Intruduction: (Controller, Routing, Model)Workshop: Symfony2 Intruduction: (Controller, Routing, Model)
Workshop: Symfony2 Intruduction: (Controller, Routing, Model)
Dexterity in 15 minutes or less by rijk.stofberg
Dexterity in 15 minutes or lessDexterity in 15 minutes or less
Dexterity in 15 minutes or less
rijk.stofberg1.2K views
Silex, the microframework by Inviqa
Silex, the microframeworkSilex, the microframework
Silex, the microframework
Inviqa93.5K views
Seven Versions of One Web Application by Yakov Fain
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
Yakov Fain2.3K views
Learning C# iPad Programming by Rich Helton
Learning C# iPad ProgrammingLearning C# iPad Programming
Learning C# iPad Programming
Rich Helton3.2K views
Some tips to improve developer experience with Symfony by tyomo4ka
Some tips to improve developer experience with SymfonySome tips to improve developer experience with Symfony
Some tips to improve developer experience with Symfony
tyomo4ka1.9K views
Symfony2, Backbone.js & socket.io - SfLive Paris 2k13 - Wisembly by Guillaume POTIER
Symfony2, Backbone.js & socket.io - SfLive Paris 2k13 - WisemblySymfony2, Backbone.js & socket.io - SfLive Paris 2k13 - Wisembly
Symfony2, Backbone.js & socket.io - SfLive Paris 2k13 - Wisembly
Guillaume POTIER20.2K views
Real World Dependency Injection - PFCongres 2010 by Stephan Hochdörfer
Real World Dependency Injection - PFCongres 2010Real World Dependency Injection - PFCongres 2010
Real World Dependency Injection - PFCongres 2010
Hello World on Slim Framework 3.x by Ryan Szrama
Hello World on Slim Framework 3.xHello World on Slim Framework 3.x
Hello World on Slim Framework 3.x
Ryan Szrama5.7K views

Similar to Design pattern in Symfony2 - Nanos gigantium humeris insidentes

Nanos gigantium humeris insidentes (design patterns inside symfony 2) by
Nanos gigantium humeris insidentes (design patterns inside symfony 2)Nanos gigantium humeris insidentes (design patterns inside symfony 2)
Nanos gigantium humeris insidentes (design patterns inside symfony 2)Giorgio Cefaro
4.1K views57 slides
Evolution of Patterns by
Evolution of PatternsEvolution of Patterns
Evolution of PatternsChris Eargle
3.3K views49 slides
ActionScript Design Patterns by
ActionScript Design Patterns ActionScript Design Patterns
ActionScript Design Patterns Yoss Cohen
1.4K views32 slides
Prophecy Of Design Patterns by
Prophecy Of Design PatternsProphecy Of Design Patterns
Prophecy Of Design Patternspradeepkothiyal
1K views37 slides
Design Pattern with Actionscript by
Design Pattern with ActionscriptDesign Pattern with Actionscript
Design Pattern with ActionscriptDaniel Swid
777 views40 slides
Typescript design patterns applied to sharepoint framework - Sharepoint Satur... by
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Luis Valencia
603 views31 slides

Similar to Design pattern in Symfony2 - Nanos gigantium humeris insidentes(20)

Nanos gigantium humeris insidentes (design patterns inside symfony 2) by Giorgio Cefaro
Nanos gigantium humeris insidentes (design patterns inside symfony 2)Nanos gigantium humeris insidentes (design patterns inside symfony 2)
Nanos gigantium humeris insidentes (design patterns inside symfony 2)
Giorgio Cefaro4.1K views
Evolution of Patterns by Chris Eargle
Evolution of PatternsEvolution of Patterns
Evolution of Patterns
Chris Eargle3.3K views
ActionScript Design Patterns by Yoss Cohen
ActionScript Design Patterns ActionScript Design Patterns
ActionScript Design Patterns
Yoss Cohen1.4K views
Design Pattern with Actionscript by Daniel Swid
Design Pattern with ActionscriptDesign Pattern with Actionscript
Design Pattern with Actionscript
Daniel Swid777 views
Typescript design patterns applied to sharepoint framework - Sharepoint Satur... by Luis Valencia
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Luis Valencia603 views
Hibernate interview questions by venkata52
Hibernate interview questionsHibernate interview questions
Hibernate interview questions
venkata5223 views
Design Pattern For C# Part 1 by Shahzad
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
Shahzad 7.1K views
1. Mini seminar intro by Leonid Maslov
1. Mini seminar intro1. Mini seminar intro
1. Mini seminar intro
Leonid Maslov1.8K views
Hibernate Interview Questions by Syed Shahul
Hibernate Interview QuestionsHibernate Interview Questions
Hibernate Interview Questions
Syed Shahul1.5K views
Dvorkin: Software Defined Datacenter Presentation #SDDC14 by Mike Dvorkin
Dvorkin: Software Defined Datacenter Presentation #SDDC14Dvorkin: Software Defined Datacenter Presentation #SDDC14
Dvorkin: Software Defined Datacenter Presentation #SDDC14
Mike Dvorkin675 views
What Is BuildContext In Flutter And It's Importance by Andolasoft Inc
What Is BuildContext In Flutter And It's ImportanceWhat Is BuildContext In Flutter And It's Importance
What Is BuildContext In Flutter And It's Importance
Andolasoft Inc74 views
lecture10-patterns.ppt by bryafaissal
lecture10-patterns.pptlecture10-patterns.ppt
lecture10-patterns.ppt
bryafaissal4 views
Metasploit - The Exploit Learning Tree by E Hacking
Metasploit - The Exploit Learning TreeMetasploit - The Exploit Learning Tree
Metasploit - The Exploit Learning Tree
E Hacking6.5K views
Bartlesville Dot Net User Group Design Patterns by Jason Townsend, MBA
Bartlesville Dot Net User Group Design PatternsBartlesville Dot Net User Group Design Patterns
Bartlesville Dot Net User Group Design Patterns
Jason Townsend, MBA1.8K views
Software Architecture and Project Management module III : PATTERN OF ENTERPRISE by sreeja_rajesh
Software Architecture and Project Management module III : PATTERN OF ENTERPRISESoftware Architecture and Project Management module III : PATTERN OF ENTERPRISE
Software Architecture and Project Management module III : PATTERN OF ENTERPRISE
sreeja_rajesh3.7K views
Flutter technology Based on Web Development by divyawani2
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development
divyawani2130 views

More from Giulio De Donato

Docker italia fatti un container tutto tuo by
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoGiulio De Donato
724 views28 slides
Lets isolate a process with no container like docker by
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like dockerGiulio De Donato
486 views31 slides
More developers on DevOps with Docker orchestration by
More developers on DevOps with Docker orchestrationMore developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestrationGiulio De Donato
672 views45 slides
really really really awesome php application with bdd behat and iterfaces by
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesGiulio De Donato
2K views40 slides
Import golang; struct microservice by
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microserviceGiulio De Donato
4.2K views70 slides
Json web token api authorization by
Json web token api authorizationJson web token api authorization
Json web token api authorizationGiulio De Donato
15.2K views24 slides

More from Giulio De Donato(13)

Docker italia fatti un container tutto tuo by Giulio De Donato
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuo
Giulio De Donato724 views
Lets isolate a process with no container like docker by Giulio De Donato
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like docker
Giulio De Donato486 views
More developers on DevOps with Docker orchestration by Giulio De Donato
More developers on DevOps with Docker orchestrationMore developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestration
Giulio De Donato672 views
really really really awesome php application with bdd behat and iterfaces by Giulio De Donato
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfaces
Giulio De Donato2K views
Import golang; struct microservice by Giulio De Donato
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
Giulio De Donato4.2K views
Json web token api authorization by Giulio De Donato
Json web token api authorizationJson web token api authorization
Json web token api authorization
Giulio De Donato15.2K views
Think horizontally ood, ddd and bdd by Giulio De Donato
Think horizontally ood, ddd and bddThink horizontally ood, ddd and bdd
Think horizontally ood, ddd and bdd
Giulio De Donato1.6K views
I came i saw i go - golang it meetup codemotion rome 2014 by Giulio De Donato
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014
Giulio De Donato697 views
Benchmark Profile and Boost your Symfony application by Giulio De Donato
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony application
Giulio De Donato9.9K views
It's all about behaviour, also in php - phpspec by Giulio De Donato
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspec
Giulio De Donato5K views
Caching and data analysis will move your Symfony2 application to the next level by Giulio De Donato
Caching and data analysis will move your Symfony2 application to the next levelCaching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next level
Giulio De Donato11.3K views
Rationally boost your symfony2 application with caching tips and monitoring by Giulio De Donato
Rationally boost your symfony2 application with caching tips and monitoringRationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoring
Giulio De Donato70.6K views

Recently uploaded

Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
12 views26 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
13 views49 slides
Serverless computing with Google Cloud (2023-24) by
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)wesley chun
10 views33 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
237 views20 slides
Info Session November 2023.pdf by
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
11 views15 slides
Piloting & Scaling Successfully With Microsoft Viva by
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 slides

Recently uploaded(20)

Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely12 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun10 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10237 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb13 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views

Design pattern in Symfony2 - Nanos gigantium humeris insidentes