About inversion of control

Introduction Inversion of control seems to be a tricky topic among developers and every developer declins it in its own way. Searching on the web it seems that first usage of this term – that is not a pattern, rather a concept or a metodology – is attributable to Michael Mattson,…

Doctrine EntityListener Pills: Comparing old and new values when updating data

You all, at some point, faced the necessity to compare old and new values when storing an entity. Here is where Doctrine EntityListener comes at help. Let imagine you have this User entity

and you want to notify the user when the email address has been changed. All you…

NPM: benefici di installare packages localmente

Ancora ricordo il mio primo approccio a npm ed al suo modo di gestire packages: ogni volta che bisognava installare qualche cosa relativo al workflow di un progetto era un semplice npm install -g nome-package e come per magia il comando relativo era disponibile nel terminale. Questo è un approccio sicuramente…

Uso del Page Object Pattern con Behat: esempio pratico

Il Page Object è un pattern utilizzato nei functional test per astrarre l’interazione con gli elementi della UI. All’interno di un oggetto vengono incapsulate le interazioni e le funzionalità di una pagina web che vengono esposte tramite api, nascondendo la struttura degli elementi HTML all’esterno. Per approfondire il concetto rimando…

NPM Scripts: a valid support for the developer

Well. As the title says, let’s talk about a script: scripts that run in the NPM ecosystem. In a developer’s work path it is very common to find yourself repeating tasks like deleting temporary files, minify and bundling your Javascript source code, preprocessing Sass files, and so on. NPM scripts…

Lambda function manager

When we started developing Lambda functions to automate processes, or simply to delegate various jobs, compared to our infrastructure, we faced the problem of how to handle the deploy of functions and maintain the versions of this code. There are many frameworks, more or less useful and well done, but…

1 2 6