Case study di una applicazione che da monolitica è stata suddivisa in un insieme di microservizi... non così tanto micro! Nella presentazione verranno discussi tra l'altro: organizzazione del codice, test, gestione degli aggiornamenti, problematiche incontrate e possibili sviluppi futuri.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
A recommendation engine for your php applicationMichele Orselli
Nowadays a lot of websites try to guess what we might like: ”Recommendation for you in books”
”People you may like”
Sounds familiar, isn’t it? Wouldn’t be cool if you could do the same in your application? Well, this session is for you! In the first part of this talk recommendation systems will be introduced, focusing on collaborative filtering algorithms (CR). After that we’ll dive in Prediction.io, an open source machine learning server for software developers to create predictive features, such as personalization, recommendation and content discovery. In the last part we’ll cover the integration details with a PHP application
Today there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us while migrating a large PHP application from Rackspace to Amazon. In this session I’d like to share this experience highlighting infrastructure and code evolution, migration steps, cost analisys, issues.
We all have to deal with the scarcest resource in development teams: time. This often leads to compromises and shortcuts when writing code. The result is what is called technical debt: the difference between how the code should have been and how it is.
Strategies for managing technical debt are many but all require an investment of time and energy, proportional to the amount of debt to be repaid.
Is this really the only way?
Rector is a tool capable of automating a wide range of refactorings, allowing us to speed up the most tedious manual operations. In this talk we will see how, exploring
- rector's basic principles
- predefined rules, configurable rules, sets of rules
- how to write custom rules
Comunicare, condividere e mantenere decisioni architetturali nei team di svil...Michele Orselli
Nella vita quotidiana di un team di sviluppo ci si trova a dover prendere decisioni sull'architettura: implementiamo un sistema basato su CQRS? Quali principi del Domain Driven Design vogliamo applicare e come? Un approccio CRUD è sufficiente in questo contesto?
Sia che questa decisione sia presa in modo partecipativo o meno ed indipendentemente dalla risposta, come ci assicuriamo che tutti rispettino la scelta fatta? In questo talk vedremo quali approcci e strumenti abbiamo a disposizione per comunicare, condividere e controllare le decisioni architetturali.
A recommendation engine for your applications codemotion amsMichele Orselli
Nowadays a lot of websites try to guess what we could like: ”Recommendation for you in books” or ”People you may like”. Sounds familiar, isn’t it? Wouldn’t be cool if you could do the same in your application? Well, this session is for you! In the first part of this talk, recommendation systems will be introduced, focusing on collaborative filtering algorithms (CR). After that we’ll dive in Prediction.io, an open source machine learning server for software developers to create predictive features, such as personalization, recommendation, and content discovery.
Case study di una applicazione che da monolitica è stata suddivisa in un insieme di microservizi... non così tanto micro! Nella presentazione verranno discussi tra l'altro: organizzazione del codice, test, gestione degli aggiornamenti, problematiche incontrate e possibili sviluppi futuri.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
A recommendation engine for your php applicationMichele Orselli
Nowadays a lot of websites try to guess what we might like: ”Recommendation for you in books”
”People you may like”
Sounds familiar, isn’t it? Wouldn’t be cool if you could do the same in your application? Well, this session is for you! In the first part of this talk recommendation systems will be introduced, focusing on collaborative filtering algorithms (CR). After that we’ll dive in Prediction.io, an open source machine learning server for software developers to create predictive features, such as personalization, recommendation and content discovery. In the last part we’ll cover the integration details with a PHP application
Today there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us while migrating a large PHP application from Rackspace to Amazon. In this session I’d like to share this experience highlighting infrastructure and code evolution, migration steps, cost analisys, issues.
We all have to deal with the scarcest resource in development teams: time. This often leads to compromises and shortcuts when writing code. The result is what is called technical debt: the difference between how the code should have been and how it is.
Strategies for managing technical debt are many but all require an investment of time and energy, proportional to the amount of debt to be repaid.
Is this really the only way?
Rector is a tool capable of automating a wide range of refactorings, allowing us to speed up the most tedious manual operations. In this talk we will see how, exploring
- rector's basic principles
- predefined rules, configurable rules, sets of rules
- how to write custom rules
Comunicare, condividere e mantenere decisioni architetturali nei team di svil...Michele Orselli
Nella vita quotidiana di un team di sviluppo ci si trova a dover prendere decisioni sull'architettura: implementiamo un sistema basato su CQRS? Quali principi del Domain Driven Design vogliamo applicare e come? Un approccio CRUD è sufficiente in questo contesto?
Sia che questa decisione sia presa in modo partecipativo o meno ed indipendentemente dalla risposta, come ci assicuriamo che tutti rispettino la scelta fatta? In questo talk vedremo quali approcci e strumenti abbiamo a disposizione per comunicare, condividere e controllare le decisioni architetturali.
A recommendation engine for your applications codemotion amsMichele Orselli
Nowadays a lot of websites try to guess what we could like: ”Recommendation for you in books” or ”People you may like”. Sounds familiar, isn’t it? Wouldn’t be cool if you could do the same in your application? Well, this session is for you! In the first part of this talk, recommendation systems will be introduced, focusing on collaborative filtering algorithms (CR). After that we’ll dive in Prediction.io, an open source machine learning server for software developers to create predictive features, such as personalization, recommendation, and content discovery.
A recommendation engine for your applications phpdayMichele Orselli
Nowadays a lot of websites try to guess what we could like: ”Recommendation for you in books” or ”People you may like”. Sounds familiar, isn’t it? Wouldn’t be cool if you could do the same in your application? Well, this session is for you! In the first part of this talk, recommendation systems will be introduced, focusing on collaborative filtering algorithms (CR). After that we’ll dive in Prediction.io, an open source machine learning server for software developers to create predictive features, such as personalization, recommendation, and content discovery. In the last part, we’ll cover the integration details with a PHP application.
Hopping in clouds: a tale of migration from one cloud provider to anotherMichele Orselli
Nowadays there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us in the last year while migrating a PHP application from Rackspace to Amazon. In this session I’d like to share this experience highlighting infrastructure and code evolution, migration steps, cost analisys, issues.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
Con l'arrivo della nuova major release di Symfony è tempo di pensare all'upgrade dei propri progetti...
se siete preoccupati perché vi torna in mente il passaggio da symfony 1 a symfony 2 non temete,
le cose in questo caso saranno molto più semplici (o quasi ;-)).
Tra gli argomenti trattati in questa sessione:
- roadmap del progetto
- gestione delle api deprecate nel core di Symfony
- step per l'upgrade
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session we’d like to share our experience, including but not limited to:advanced vagrantfile configurationvm configuration tips for dev environment: performance,
debug, tuning,
our wtf moments
puphet/phansilbe: hot or not?
packaging a box
Implementing data sync apis for mibile apps @cloudconfMichele Orselli
Today mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations. Some of the topics touched will be:
- id generation
- hierarchical data
- managing differente data types
- sync algorithm
Server side data sync for mobile apps with silexMichele Orselli
oday mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations. Some of the topics touched will be:
- id generation
- hierarchical data
- managing differente data types
- sync algorithm
PHP was added to the languages offered by Google App Engine about a year ago. This session will focus on porting an existing app on gae.
We’ll start talking about the main characteristics of the app engine platform, which kind of services are available (persistence, storage, queue and so on) and how to use it. Then the PHP installation of app engine will be discussed, highlighting implementation choices and limitations. The second part of the talk will go into implementation details, in particular about tweaks needed to run an existing app on gae e.g: how a session is managed, logging is performed and how to interact with the file system not forgetting about deploy.
Implementing Server Side Data Synchronization for Mobile AppsMichele Orselli
Today mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations
PHP was added to the languages offered by Google App Engine about a year ago. This session will focus on porting an existing app on gae.
We’ll start talking about the main characteristics of the app engine platform, which kind of services are available (persistence, storage, queue and so on) and how to use it. Then the PHP installation of app engine will be discussed, highlighting implementation choices and limitations.
The second part of the talk will go into implementation details in particular about what tweaks are needed to run an existing app on gae e.g: how session is managed, logging is performed and how to interact with the file system not forgetting about deploy
Symfony2 è sicuramente uno dei framework migliori in circolazione, ma non sono tutte rose e fiori, soprattutto per chi inizia a sviluppare ed è alle prime armi. In questa presentazione vorrei condividere la mie esperienza di apprendimento ed utilizzo del framework, cercando di mettere in evidenza i miei momenti wtf e alcune linee guida per sviluppare applicazioni manutenibili
Symfony CMF: un nuovo paradigma per la gestione dei contenutiMichele Orselli
Presentation from phpday2011. La modellazione e gestione dei contenuti costituisce un dominio complesso. Soluzioni standard come Drupal, Joomla o Wordpress si adattano con difficoltà sul dominio di uno specifico cliente; d'altro canto soluzioni fatte in casa costano in termini di tempi di sviluppo e riusabilità. Non esiste allora ""one cms to rule them all""?
Nel talk verrà introdotto il progetto Symfony CMF discutendo tra l'altro di:
- standard per la modellazione dei contenuti
- modellazione ed organizzazione dei contenuti
- scelte architetturali
- linee guida per l'utlizzo del cmf
Dica trentatrè. <?php echo "33"; ?>. Controllare lo stato di salute di una...Michele Orselli
Presentation from phpday 2011 about software metrics and tools in php
Abstract:
Esiste un modo per decidere se una porzione di codice è migliore di un altra? Le metriche del codice forniscono misure oggettive sulla qualità del codice stesso. Nel talk verranno introdotte le principali metriche, gli strumenti che permettono di ricavarle e il loro utilizzo nel flusso di sviluppo.
A recommendation engine for your applications phpdayMichele Orselli
Nowadays a lot of websites try to guess what we could like: ”Recommendation for you in books” or ”People you may like”. Sounds familiar, isn’t it? Wouldn’t be cool if you could do the same in your application? Well, this session is for you! In the first part of this talk, recommendation systems will be introduced, focusing on collaborative filtering algorithms (CR). After that we’ll dive in Prediction.io, an open source machine learning server for software developers to create predictive features, such as personalization, recommendation, and content discovery. In the last part, we’ll cover the integration details with a PHP application.
Hopping in clouds: a tale of migration from one cloud provider to anotherMichele Orselli
Nowadays there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us in the last year while migrating a PHP application from Rackspace to Amazon. In this session I’d like to share this experience highlighting infrastructure and code evolution, migration steps, cost analisys, issues.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
Con l'arrivo della nuova major release di Symfony è tempo di pensare all'upgrade dei propri progetti...
se siete preoccupati perché vi torna in mente il passaggio da symfony 1 a symfony 2 non temete,
le cose in questo caso saranno molto più semplici (o quasi ;-)).
Tra gli argomenti trattati in questa sessione:
- roadmap del progetto
- gestione delle api deprecate nel core di Symfony
- step per l'upgrade
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session we’d like to share our experience, including but not limited to:advanced vagrantfile configurationvm configuration tips for dev environment: performance,
debug, tuning,
our wtf moments
puphet/phansilbe: hot or not?
packaging a box
Implementing data sync apis for mibile apps @cloudconfMichele Orselli
Today mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations. Some of the topics touched will be:
- id generation
- hierarchical data
- managing differente data types
- sync algorithm
Server side data sync for mobile apps with silexMichele Orselli
oday mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations. Some of the topics touched will be:
- id generation
- hierarchical data
- managing differente data types
- sync algorithm
PHP was added to the languages offered by Google App Engine about a year ago. This session will focus on porting an existing app on gae.
We’ll start talking about the main characteristics of the app engine platform, which kind of services are available (persistence, storage, queue and so on) and how to use it. Then the PHP installation of app engine will be discussed, highlighting implementation choices and limitations. The second part of the talk will go into implementation details, in particular about tweaks needed to run an existing app on gae e.g: how a session is managed, logging is performed and how to interact with the file system not forgetting about deploy.
Implementing Server Side Data Synchronization for Mobile AppsMichele Orselli
Today mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations
PHP was added to the languages offered by Google App Engine about a year ago. This session will focus on porting an existing app on gae.
We’ll start talking about the main characteristics of the app engine platform, which kind of services are available (persistence, storage, queue and so on) and how to use it. Then the PHP installation of app engine will be discussed, highlighting implementation choices and limitations.
The second part of the talk will go into implementation details in particular about what tweaks are needed to run an existing app on gae e.g: how session is managed, logging is performed and how to interact with the file system not forgetting about deploy
Symfony2 è sicuramente uno dei framework migliori in circolazione, ma non sono tutte rose e fiori, soprattutto per chi inizia a sviluppare ed è alle prime armi. In questa presentazione vorrei condividere la mie esperienza di apprendimento ed utilizzo del framework, cercando di mettere in evidenza i miei momenti wtf e alcune linee guida per sviluppare applicazioni manutenibili
Symfony CMF: un nuovo paradigma per la gestione dei contenutiMichele Orselli
Presentation from phpday2011. La modellazione e gestione dei contenuti costituisce un dominio complesso. Soluzioni standard come Drupal, Joomla o Wordpress si adattano con difficoltà sul dominio di uno specifico cliente; d'altro canto soluzioni fatte in casa costano in termini di tempi di sviluppo e riusabilità. Non esiste allora ""one cms to rule them all""?
Nel talk verrà introdotto il progetto Symfony CMF discutendo tra l'altro di:
- standard per la modellazione dei contenuti
- modellazione ed organizzazione dei contenuti
- scelte architetturali
- linee guida per l'utlizzo del cmf
Dica trentatrè. <?php echo "33"; ?>. Controllare lo stato di salute di una...Michele Orselli
Presentation from phpday 2011 about software metrics and tools in php
Abstract:
Esiste un modo per decidere se una porzione di codice è migliore di un altra? Le metriche del codice forniscono misure oggettive sulla qualità del codice stesso. Nel talk verranno introdotte le principali metriche, gli strumenti che permettono di ricavarle e il loro utilizzo nel flusso di sviluppo.
2. Abstract La modellazione e gestione dei contenuti costituisce un dominio complesso. Soluzioni standard come Drupal, Joomla o Wordpress si adattano con difficoltà su un dominio specifico; d'altro canto soluzioni fatte in casa costano in termini di tempi di sviluppo e riusabilità. Non esiste allora "one cms to rule them all"? Il progetto Symfony CMF, che coinvolge diverse aziende in ambito europeo, ha come obiettivo la creazione di strumenti che facilitino gli sviluppatori nella realizzazione di soluzioni cms custom, ponendo l'accento sulla flessibilità, la qualità e la riusabilità dei singoli componenti