SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
The daily work of a [Magento 2] developer consists of two main job types
Debugging
existing features
Creating
new features
Your code
3rd party’s
(or core) code
A B
We will focus on this
Debugging
existing features
Creating
new features
Your code
3rd party’s
(or core) code
A B
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
A SHORT HINT ON: CREATING FEATURES
You will need these thingies:
 PHPStorm IDE
 Vagrant (or Docker ?)
 GIT
 Magicento2
 Pestle
 MSP CodeMonkey
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
A SHORT HINT ON: CREATING FEATURES
Pestle, Magicento 2 and MSP CodeMonkey because:
 Magento 2 requires a lot of boilerplate code
 A typo is always lurking somewhere
 Your time is not free
 Magento 2 is not always DRY compliant
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
A SHORT HINT ON: CREATING FEATURES
Example of code complexity: Magento 1 vs. Magento 2
Magento 1 – DB Models:
 Model
 ResourceModel
 Collection
 Install / Upgrade scripts
 config.xml
Magento 2 – DB Models:
 Model
 ResourceModel
 Collection
 Install / Upgrade scripts
 Repository
 RepositoryInterface
 ManagementInterface
 DataInterface
 Dependency Injection
 Getters / Setters in DataInterface
 API Preferences
Total involved files: 4-5 Total involved files: 8-9
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
A SHORT HINT ON: CREATING FEATURES
MSP CodeMonkey can create a whole PSR-2 compliant DB model source code
with API, Interfaces, getters and setters. Just typing:
~$ bin/magento codemonkey:crud My_Module MyModelName my_sql_table
Magicento 2 and Pestle can create controllers, modules, plugins, observers and
lots of other coding entities in few clicks.
Your client does not always understand how complex this job is!
So make it as simple as possible for you because you will not be paid for this!
REMEMBER
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING
Your code
3rd party’s
(or core) code
DEBUGGING & REVERSE ENGINEERING
are the actual 99% work of a developer
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES
Common scenario when you’re debugging your code:
 You do not know where the broken piece of code may be.
 It is very hard to let the client understand that debugging is part
(actually: the most) of developing, so:
 You probably do not have any of the project’s budget left;
 Plus, you have a very short time to fix it!
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES
Common scenario when you’re debugging 3rd party’s code:
 You have no clue about the how the work’s engineered.
 You still do not know where the broken piece of code is.
 You hope the programmer who worked on that code before you did not
touch the core.
 The programmer who created that feature is now probably on permanent
vacation and/or does not speak a single word of your language!
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
HOPE IT’S NOT
A MESS OF
SPAGHETTI
CODE
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
“I’ve seen PHP code you people wouldn’t believe…”
DEBUGGING FEATURES
Debugging process can be tricky in Magento 2.
Magento 2 has lots of new ways to intercept and change the standard core behaviour...
(I mean without changing the core! Do not try this at home!)
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
Magento 1 rewriting tools
 Rewrites
 Routes hijacking
 Observers
 Layout updates
Magento 2 rewriting tools
 Stackable preferences
 Routes hijacking
 Observers
 Layout updates
 Stackable plugins (after, before, around)
 Extension attributes
 Modifiers pool
DEBUGGING FEATURES
FINDING THE PIECE OF CODE YOU
NEED CAN BE OFTEN
CHALLENGING AND TIME
CONSUMING.
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES
So the hard part is simply
FIND SOME PIECE OF CODE DOING SOMETHING SOMEHOW
SOMEWHERE
and, once found
FIX SOMETHING BROKEN SOMEWHERE WITH
SOME THING YOU WILL DO SOMEHOW
As easy as pie… isn’t it?
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES
 PhpStorm as IDE
 MSP DevTools
 To find out where the code is
 PHP Xdebug
 To find out what’s wrong with the code
 GIT bisect
 To find out when you broke it
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES: MSP DEVTOOLS
 Magento 1 & Magento 2 support
 Free github project
 Chrome extension
 Chrome inspector integration
 PHPStorm integration
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES
MSP DevTools allows to inspect:
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
 Blocks
 Observers
 Plugins
 Preferences
 Design
 UI Components
 SQL queries
 Profiler results
 ...
DEBUGGING FEATURES: PHP X-DEBUG
 Suspend code execution
 Inspect variables
 Log results
 Runtime variables value change
 PHP Storm integrates it
 You can do the same with “var_dump”, “print_r” and “echo”,
but everytime you do that, a programmer dies
somewhere!
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
DEBUGGING FEATURES: GIT BISECT
A typical customer’s bug report is like:
If you manage to understand what is actually broken you can use GIT bisect.
So you just need to know:
 what the broken features is and
 when it was working for the last time.
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
“Yesterday all was working on the website, today nothing
works! Fix it!!11!1!!”
DEBUGGING FEATURES: GIT BISECT
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
Works like this
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO
2 CODING)
#mm17it | Riccardo Tempesta
THANK YOU!
KEEP CALM
AND
I WILL ANSWER YOUR QUESTIONS
Riccardo Tempesta - The right tools for the right job (or: surviving Magento 2 coding)

Mais conteúdo relacionado

Destaque

Mauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5W
Mauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5WMauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5W
Mauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5WMeet Magento Italy
 
Giorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practice
Giorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practiceGiorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practice
Giorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practiceMeet Magento Italy
 
Federico Minzoni - Software as a Service
Federico Minzoni - Software as a ServiceFederico Minzoni - Software as a Service
Federico Minzoni - Software as a ServiceMeet Magento Italy
 
Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...
Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...
Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...Meet Magento Italy
 
Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...
Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...
Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...Meet Magento Italy
 
Giuliana Benedetti - Can Magento handle 1M products?
Giuliana Benedetti - Can Magento handle 1M products?Giuliana Benedetti - Can Magento handle 1M products?
Giuliana Benedetti - Can Magento handle 1M products?Meet Magento Italy
 
Giulio Drei - Studio di fattibilità di un progetto eCommerce
Giulio Drei - Studio di fattibilità di un progetto eCommerceGiulio Drei - Studio di fattibilità di un progetto eCommerce
Giulio Drei - Studio di fattibilità di un progetto eCommerceMeet Magento Italy
 
Igor Bondarenko - Magento2 Performance Bottlenecks: How to avoid it
Igor Bondarenko - Magento2 Performance Bottlenecks: How to avoid itIgor Bondarenko - Magento2 Performance Bottlenecks: How to avoid it
Igor Bondarenko - Magento2 Performance Bottlenecks: How to avoid itMeet Magento Italy
 
Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...
Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...
Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...Meet Magento Italy
 
Irene Iaccio - Magento2 e RequireJS. The right way
Irene Iaccio - Magento2 e RequireJS. The right wayIrene Iaccio - Magento2 e RequireJS. The right way
Irene Iaccio - Magento2 e RequireJS. The right wayMeet Magento Italy
 
Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...
Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...
Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...Meet Magento Italy
 
Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...
Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...
Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...Meet Magento Italy
 
Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...
Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...
Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...Meet Magento Italy
 
Vitalyi Golomoziy - Integration tests in Magento 2
Vitalyi Golomoziy - Integration tests in Magento 2Vitalyi Golomoziy - Integration tests in Magento 2
Vitalyi Golomoziy - Integration tests in Magento 2Meet Magento Italy
 
Max Pronko - Best practices for checkout customisation in Magento 2
Max Pronko - Best practices for checkout customisation in Magento 2Max Pronko - Best practices for checkout customisation in Magento 2
Max Pronko - Best practices for checkout customisation in Magento 2Meet Magento Italy
 
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...Meet Magento Italy
 
Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...
Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...
Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...Meet Magento Italy
 
Angelo Coletta - Dalla Mass production alla mass customization
Angelo Coletta - Dalla Mass production alla mass customizationAngelo Coletta - Dalla Mass production alla mass customization
Angelo Coletta - Dalla Mass production alla mass customizationMeet Magento Italy
 
William Sbarzaglia - Le buyer personas nell'e-commerce
William Sbarzaglia - Le buyer personas nell'e-commerceWilliam Sbarzaglia - Le buyer personas nell'e-commerce
William Sbarzaglia - Le buyer personas nell'e-commerceMeet Magento Italy
 
Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...
Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...
Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...Meet Magento Italy
 

Destaque (20)

Mauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5W
Mauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5WMauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5W
Mauro Lorenzutti - Il passaggio da Magento 1 a Magento 2: le 5W
 
Giorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practice
Giorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practiceGiorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practice
Giorgio Bignozzi - How to develop a Sticker plug-in for Magento 2: best practice
 
Federico Minzoni - Software as a Service
Federico Minzoni - Software as a ServiceFederico Minzoni - Software as a Service
Federico Minzoni - Software as a Service
 
Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...
Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...
Alan Rhode: Ecommerce export: IVA, dazi doganali, accise e altri importanti t...
 
Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...
Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...
Alessandro La Ciura - Live Chat ed Ecommerce: (ma) la chat vende veramente di...
 
Giuliana Benedetti - Can Magento handle 1M products?
Giuliana Benedetti - Can Magento handle 1M products?Giuliana Benedetti - Can Magento handle 1M products?
Giuliana Benedetti - Can Magento handle 1M products?
 
Giulio Drei - Studio di fattibilità di un progetto eCommerce
Giulio Drei - Studio di fattibilità di un progetto eCommerceGiulio Drei - Studio di fattibilità di un progetto eCommerce
Giulio Drei - Studio di fattibilità di un progetto eCommerce
 
Igor Bondarenko - Magento2 Performance Bottlenecks: How to avoid it
Igor Bondarenko - Magento2 Performance Bottlenecks: How to avoid itIgor Bondarenko - Magento2 Performance Bottlenecks: How to avoid it
Igor Bondarenko - Magento2 Performance Bottlenecks: How to avoid it
 
Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...
Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...
Alejandro Cordero - Secure Electronic Commerce New Business and Repeat Busine...
 
Irene Iaccio - Magento2 e RequireJS. The right way
Irene Iaccio - Magento2 e RequireJS. The right wayIrene Iaccio - Magento2 e RequireJS. The right way
Irene Iaccio - Magento2 e RequireJS. The right way
 
Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...
Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...
Dirk Pinamonti - User Experience, Mobile, Cross Border: grow your business wi...
 
Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...
Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...
Giovanni Cappellotto - Come gestire le recommendation e le personalizzazioni ...
 
Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...
Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...
Roberto Fumarola - Il marketing nel post spedizione, tante opportunità da cog...
 
Vitalyi Golomoziy - Integration tests in Magento 2
Vitalyi Golomoziy - Integration tests in Magento 2Vitalyi Golomoziy - Integration tests in Magento 2
Vitalyi Golomoziy - Integration tests in Magento 2
 
Max Pronko - Best practices for checkout customisation in Magento 2
Max Pronko - Best practices for checkout customisation in Magento 2Max Pronko - Best practices for checkout customisation in Magento 2
Max Pronko - Best practices for checkout customisation in Magento 2
 
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
 
Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...
Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...
Simone Giomi - User experience per gli e-commerce: dall’analisi alla progetta...
 
Angelo Coletta - Dalla Mass production alla mass customization
Angelo Coletta - Dalla Mass production alla mass customizationAngelo Coletta - Dalla Mass production alla mass customization
Angelo Coletta - Dalla Mass production alla mass customization
 
William Sbarzaglia - Le buyer personas nell'e-commerce
William Sbarzaglia - Le buyer personas nell'e-commerceWilliam Sbarzaglia - Le buyer personas nell'e-commerce
William Sbarzaglia - Le buyer personas nell'e-commerce
 
Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...
Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...
Gian Mario Infelici - Marketing automation e omnicanalità: come unire i canal...
 

Semelhante a Riccardo Tempesta - The right tools for the right job (or: surviving Magento 2 coding)

The right tools for the right job (or: surviving Magento 2 coding)
The right tools for the right job (or: surviving Magento 2 coding)The right tools for the right job (or: surviving Magento 2 coding)
The right tools for the right job (or: surviving Magento 2 coding)MageSpecialist
 
Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015David Alger
 
How to migrate from Magento 1 to Magento 2
How to migrate from Magento 1 to Magento 2How to migrate from Magento 1 to Magento 2
How to migrate from Magento 1 to Magento 2Matthias Glitzner-Zeis
 
Consequences of using the Copy-Paste method in C++ programming and how to dea...
Consequences of using the Copy-Paste method in C++ programming and how to dea...Consequences of using the Copy-Paste method in C++ programming and how to dea...
Consequences of using the Copy-Paste method in C++ programming and how to dea...Andrey Karpov
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyBrian Lyttle
 
How to create a Vue Storefront theme
How to create a Vue Storefront themeHow to create a Vue Storefront theme
How to create a Vue Storefront themeDivante
 
London F-Sharp User Group : Don Syme on F# - 09/09/2010
London F-Sharp User Group : Don Syme on F# - 09/09/2010London F-Sharp User Group : Don Syme on F# - 09/09/2010
London F-Sharp User Group : Don Syme on F# - 09/09/2010Skills Matter
 
Make implementation of third party elements in magento 2 in 5-times easier
Make implementation of third party elements in magento 2 in 5-times easierMake implementation of third party elements in magento 2 in 5-times easier
Make implementation of third party elements in magento 2 in 5-times easierElena Kulbich
 
Migrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup WienMigrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup WienMatthias Glitzner-Zeis
 
The journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersThe journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersGabriel Guarino
 
Дмитрий Копляров , Потокобезопасные сигналы в C++
Дмитрий Копляров , Потокобезопасные сигналы в C++Дмитрий Копляров , Потокобезопасные сигналы в C++
Дмитрий Копляров , Потокобезопасные сигналы в C++Sergey Platonov
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1David Amend
 
Awesome Architectures in Magento 2.3
Awesome Architectures in Magento 2.3Awesome Architectures in Magento 2.3
Awesome Architectures in Magento 2.3Riccardo Tempesta
 
Bulletproof Development
Bulletproof DevelopmentBulletproof Development
Bulletproof DevelopmentRob Betcher
 
Oh the compilers you'll build
Oh the compilers you'll buildOh the compilers you'll build
Oh the compilers you'll buildMark Stoodley
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentAbid Malik
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridgeDan Ardelean
 
Xamarin Under The Hood - Dan Ardelean
 Xamarin Under The Hood - Dan Ardelean Xamarin Under The Hood - Dan Ardelean
Xamarin Under The Hood - Dan ArdeleanITCamp
 

Semelhante a Riccardo Tempesta - The right tools for the right job (or: surviving Magento 2 coding) (20)

The right tools for the right job (or: surviving Magento 2 coding)
The right tools for the right job (or: surviving Magento 2 coding)The right tools for the right job (or: surviving Magento 2 coding)
The right tools for the right job (or: surviving Magento 2 coding)
 
Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015
 
How to migrate from Magento 1 to Magento 2
How to migrate from Magento 1 to Magento 2How to migrate from Magento 1 to Magento 2
How to migrate from Magento 1 to Magento 2
 
Consequences of using the Copy-Paste method in C++ programming and how to dea...
Consequences of using the Copy-Paste method in C++ programming and how to dea...Consequences of using the Copy-Paste method in C++ programming and how to dea...
Consequences of using the Copy-Paste method in C++ programming and how to dea...
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp Philly
 
How to create a Vue Storefront theme
How to create a Vue Storefront themeHow to create a Vue Storefront theme
How to create a Vue Storefront theme
 
London F-Sharp User Group : Don Syme on F# - 09/09/2010
London F-Sharp User Group : Don Syme on F# - 09/09/2010London F-Sharp User Group : Don Syme on F# - 09/09/2010
London F-Sharp User Group : Don Syme on F# - 09/09/2010
 
Make implementation of third party elements in magento 2 in 5-times easier
Make implementation of third party elements in magento 2 in 5-times easierMake implementation of third party elements in magento 2 in 5-times easier
Make implementation of third party elements in magento 2 in 5-times easier
 
Migrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup WienMigrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup Wien
 
The journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersThe journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developers
 
Дмитрий Копляров , Потокобезопасные сигналы в C++
Дмитрий Копляров , Потокобезопасные сигналы в C++Дмитрий Копляров , Потокобезопасные сигналы в C++
Дмитрий Копляров , Потокобезопасные сигналы в C++
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
 
Awesome Architectures in Magento 2.3
Awesome Architectures in Magento 2.3Awesome Architectures in Magento 2.3
Awesome Architectures in Magento 2.3
 
Bulletproof Development
Bulletproof DevelopmentBulletproof Development
Bulletproof Development
 
Oh the compilers you'll build
Oh the compilers you'll buildOh the compilers you'll build
Oh the compilers you'll build
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento Development
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridge
 
Magento 2 development
Magento 2 developmentMagento 2 development
Magento 2 development
 
Xamarin Under The Hood - Dan Ardelean
 Xamarin Under The Hood - Dan Ardelean Xamarin Under The Hood - Dan Ardelean
Xamarin Under The Hood - Dan Ardelean
 
Compiler tricks
Compiler tricksCompiler tricks
Compiler tricks
 

Mais de Meet Magento Italy

Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...
Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...
Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...Meet Magento Italy
 
Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules Meet Magento Italy
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceMeet Magento Italy
 
Muliadi jeo - How to sell online in Indonesia
Muliadi jeo - How to sell online in IndonesiaMuliadi jeo - How to sell online in Indonesia
Muliadi jeo - How to sell online in IndonesiaMeet Magento Italy
 
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2Meet Magento Italy
 
Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...
Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...
Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...Meet Magento Italy
 
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Bodin - Hullin & Potencier - Magento Performance Profiling and Best PracticesBodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Bodin - Hullin & Potencier - Magento Performance Profiling and Best PracticesMeet Magento Italy
 
Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...
Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...
Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...Meet Magento Italy
 
Vinai Kopp - FPC Hole punching in Magento 2
Vinai Kopp - FPC Hole punching in Magento 2Vinai Kopp - FPC Hole punching in Magento 2
Vinai Kopp - FPC Hole punching in Magento 2Meet Magento Italy
 
Jacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
Jacopo Nardiello - From CI to Prod: Running Magento at scale with KubernetesJacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
Jacopo Nardiello - From CI to Prod: Running Magento at scale with KubernetesMeet Magento Italy
 
James Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouJames Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouMeet Magento Italy
 
Talesh Seeparsan - The Hound of the Malwarevilles
Talesh Seeparsan - The Hound of the MalwarevillesTalesh Seeparsan - The Hound of the Malwarevilles
Talesh Seeparsan - The Hound of the MalwarevillesMeet Magento Italy
 
Miguel Balparda - A day in support
Miguel Balparda - A day in supportMiguel Balparda - A day in support
Miguel Balparda - A day in supportMeet Magento Italy
 
Volodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design PlatformVolodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design PlatformMeet Magento Italy
 
Rosario Toscano - Processi di ottimizzazione per una crescita continua
Rosario Toscano - Processi di ottimizzazione per una crescita continuaRosario Toscano - Processi di ottimizzazione per una crescita continua
Rosario Toscano - Processi di ottimizzazione per una crescita continuaMeet Magento Italy
 
Henrik Feld Jakobsen - How to sell online Scandinavia
Henrik Feld Jakobsen - How to sell online ScandinaviaHenrik Feld Jakobsen - How to sell online Scandinavia
Henrik Feld Jakobsen - How to sell online ScandinaviaMeet Magento Italy
 
Rabia Qureshi - How to sell online in UK
Rabia Qureshi - How to sell online in UKRabia Qureshi - How to sell online in UK
Rabia Qureshi - How to sell online in UKMeet Magento Italy
 
Matteo Schuerch - How to sell online in Switzerland
Matteo Schuerch - How to sell online in SwitzerlandMatteo Schuerch - How to sell online in Switzerland
Matteo Schuerch - How to sell online in SwitzerlandMeet Magento Italy
 
Il data-driven nell’e-commerce: il caso studio Alessi
Il data-driven nell’e-commerce: il caso studio AlessiIl data-driven nell’e-commerce: il caso studio Alessi
Il data-driven nell’e-commerce: il caso studio AlessiMeet Magento Italy
 
Philippe Bernou - Seamless omnichannel solutions with Magento order management
Philippe Bernou - Seamless omnichannel solutions with Magento order managementPhilippe Bernou - Seamless omnichannel solutions with Magento order management
Philippe Bernou - Seamless omnichannel solutions with Magento order managementMeet Magento Italy
 

Mais de Meet Magento Italy (20)

Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...
Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...
Dirk Pinamonti - Come affrontare la sfida del nuovo mercato multicanale e del...
 
Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
 
Muliadi jeo - How to sell online in Indonesia
Muliadi jeo - How to sell online in IndonesiaMuliadi jeo - How to sell online in Indonesia
Muliadi jeo - How to sell online in Indonesia
 
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
 
Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...
Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...
Alessandro La Ciura - Progettare la migliore integrazione tra live chat ed e-...
 
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Bodin - Hullin & Potencier - Magento Performance Profiling and Best PracticesBodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
 
Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...
Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...
Giulio Gargiullo - Strategie di marketing digitale per avviare l’e-commerce i...
 
Vinai Kopp - FPC Hole punching in Magento 2
Vinai Kopp - FPC Hole punching in Magento 2Vinai Kopp - FPC Hole punching in Magento 2
Vinai Kopp - FPC Hole punching in Magento 2
 
Jacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
Jacopo Nardiello - From CI to Prod: Running Magento at scale with KubernetesJacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
Jacopo Nardiello - From CI to Prod: Running Magento at scale with Kubernetes
 
James Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouJames Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With You
 
Talesh Seeparsan - The Hound of the Malwarevilles
Talesh Seeparsan - The Hound of the MalwarevillesTalesh Seeparsan - The Hound of the Malwarevilles
Talesh Seeparsan - The Hound of the Malwarevilles
 
Miguel Balparda - A day in support
Miguel Balparda - A day in supportMiguel Balparda - A day in support
Miguel Balparda - A day in support
 
Volodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design PlatformVolodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design Platform
 
Rosario Toscano - Processi di ottimizzazione per una crescita continua
Rosario Toscano - Processi di ottimizzazione per una crescita continuaRosario Toscano - Processi di ottimizzazione per una crescita continua
Rosario Toscano - Processi di ottimizzazione per una crescita continua
 
Henrik Feld Jakobsen - How to sell online Scandinavia
Henrik Feld Jakobsen - How to sell online ScandinaviaHenrik Feld Jakobsen - How to sell online Scandinavia
Henrik Feld Jakobsen - How to sell online Scandinavia
 
Rabia Qureshi - How to sell online in UK
Rabia Qureshi - How to sell online in UKRabia Qureshi - How to sell online in UK
Rabia Qureshi - How to sell online in UK
 
Matteo Schuerch - How to sell online in Switzerland
Matteo Schuerch - How to sell online in SwitzerlandMatteo Schuerch - How to sell online in Switzerland
Matteo Schuerch - How to sell online in Switzerland
 
Il data-driven nell’e-commerce: il caso studio Alessi
Il data-driven nell’e-commerce: il caso studio AlessiIl data-driven nell’e-commerce: il caso studio Alessi
Il data-driven nell’e-commerce: il caso studio Alessi
 
Philippe Bernou - Seamless omnichannel solutions with Magento order management
Philippe Bernou - Seamless omnichannel solutions with Magento order managementPhilippe Bernou - Seamless omnichannel solutions with Magento order management
Philippe Bernou - Seamless omnichannel solutions with Magento order management
 

Último

Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfakankshagupta7348026
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )Pooja Nehwal
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrsaastr
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfhenrik385807
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 

Último (20)

Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdf
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 

Riccardo Tempesta - The right tools for the right job (or: surviving Magento 2 coding)

  • 1.
  • 2. THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta The daily work of a [Magento 2] developer consists of two main job types Debugging existing features Creating new features Your code 3rd party’s (or core) code A B
  • 3. We will focus on this Debugging existing features Creating new features Your code 3rd party’s (or core) code A B THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 4. A SHORT HINT ON: CREATING FEATURES You will need these thingies:  PHPStorm IDE  Vagrant (or Docker ?)  GIT  Magicento2  Pestle  MSP CodeMonkey THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 5. A SHORT HINT ON: CREATING FEATURES Pestle, Magicento 2 and MSP CodeMonkey because:  Magento 2 requires a lot of boilerplate code  A typo is always lurking somewhere  Your time is not free  Magento 2 is not always DRY compliant THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 6. A SHORT HINT ON: CREATING FEATURES Example of code complexity: Magento 1 vs. Magento 2 Magento 1 – DB Models:  Model  ResourceModel  Collection  Install / Upgrade scripts  config.xml Magento 2 – DB Models:  Model  ResourceModel  Collection  Install / Upgrade scripts  Repository  RepositoryInterface  ManagementInterface  DataInterface  Dependency Injection  Getters / Setters in DataInterface  API Preferences Total involved files: 4-5 Total involved files: 8-9 THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 7. A SHORT HINT ON: CREATING FEATURES MSP CodeMonkey can create a whole PSR-2 compliant DB model source code with API, Interfaces, getters and setters. Just typing: ~$ bin/magento codemonkey:crud My_Module MyModelName my_sql_table Magicento 2 and Pestle can create controllers, modules, plugins, observers and lots of other coding entities in few clicks. Your client does not always understand how complex this job is! So make it as simple as possible for you because you will not be paid for this! REMEMBER THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 8. DEBUGGING Your code 3rd party’s (or core) code DEBUGGING & REVERSE ENGINEERING are the actual 99% work of a developer THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 9. DEBUGGING FEATURES Common scenario when you’re debugging your code:  You do not know where the broken piece of code may be.  It is very hard to let the client understand that debugging is part (actually: the most) of developing, so:  You probably do not have any of the project’s budget left;  Plus, you have a very short time to fix it! THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 10. DEBUGGING FEATURES Common scenario when you’re debugging 3rd party’s code:  You have no clue about the how the work’s engineered.  You still do not know where the broken piece of code is.  You hope the programmer who worked on that code before you did not touch the core.  The programmer who created that feature is now probably on permanent vacation and/or does not speak a single word of your language! THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 11. HOPE IT’S NOT A MESS OF SPAGHETTI CODE THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta “I’ve seen PHP code you people wouldn’t believe…”
  • 12. DEBUGGING FEATURES Debugging process can be tricky in Magento 2. Magento 2 has lots of new ways to intercept and change the standard core behaviour... (I mean without changing the core! Do not try this at home!) THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta Magento 1 rewriting tools  Rewrites  Routes hijacking  Observers  Layout updates Magento 2 rewriting tools  Stackable preferences  Routes hijacking  Observers  Layout updates  Stackable plugins (after, before, around)  Extension attributes  Modifiers pool
  • 13. DEBUGGING FEATURES FINDING THE PIECE OF CODE YOU NEED CAN BE OFTEN CHALLENGING AND TIME CONSUMING. THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 14. DEBUGGING FEATURES So the hard part is simply FIND SOME PIECE OF CODE DOING SOMETHING SOMEHOW SOMEWHERE and, once found FIX SOMETHING BROKEN SOMEWHERE WITH SOME THING YOU WILL DO SOMEHOW As easy as pie… isn’t it? THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 15. DEBUGGING FEATURES  PhpStorm as IDE  MSP DevTools  To find out where the code is  PHP Xdebug  To find out what’s wrong with the code  GIT bisect  To find out when you broke it THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 16. DEBUGGING FEATURES: MSP DEVTOOLS  Magento 1 & Magento 2 support  Free github project  Chrome extension  Chrome inspector integration  PHPStorm integration THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 17. DEBUGGING FEATURES MSP DevTools allows to inspect: THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta  Blocks  Observers  Plugins  Preferences  Design  UI Components  SQL queries  Profiler results  ...
  • 18. DEBUGGING FEATURES: PHP X-DEBUG  Suspend code execution  Inspect variables  Log results  Runtime variables value change  PHP Storm integrates it  You can do the same with “var_dump”, “print_r” and “echo”, but everytime you do that, a programmer dies somewhere! THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 19.
  • 20. DEBUGGING FEATURES: GIT BISECT A typical customer’s bug report is like: If you manage to understand what is actually broken you can use GIT bisect. So you just need to know:  what the broken features is and  when it was working for the last time. THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta “Yesterday all was working on the website, today nothing works! Fix it!!11!1!!”
  • 21. DEBUGGING FEATURES: GIT BISECT THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta Works like this
  • 22.
  • 23. THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta
  • 24. THE RIGHT TOOLS FOR THE RIGHT JOB (OR: SURVIVING MAGENTO 2 CODING) #mm17it | Riccardo Tempesta THANK YOU! KEEP CALM AND I WILL ANSWER YOUR QUESTIONS