PHPSpec – Array of mocks in constructor: a practical example

If you know PHPSpec a bit, you certainly are aware of let function.

that helps you to define “automagic” mocks handled directly by PHPSpec and that you can pass to your example

If type and name of your mock is the same of let function, then the mock is the…

AWS Meetup – Rome

AWS is well known for its cloud services for almost everything you need in a cloud environment. As Madisoft we like them a lot and we use many of them for our cloud activities. We’re very proud and happy to be part of the AWS Meetup in Rome on 15th…

Symfony Day 2016 (Italy, Rome)

Good news mates: we were selected as speakers for Symfony Day 2016 (Italy) that will take place in Rome (tickets available here). Samuele  and Matteo  sent out their talk proposals and both were picked (checkout program here: all talks are in italian language). Matteo’s proposal is entitled “Scaling Symfony apps” and will start at…

EC2 snapshots automating with Ansible

We were looking for a way to have our EC2 EBS volumes snapshotted on a daily basis. We already use AWS and Ansible, so the solution comes quite straightforward: Ansible + AWS = Daily Snapshots Our procedure works with Ansible >= 2.1. First step is about gathering every information required to build the…

Scaling Symfony sessions with Memcached

Sessions are one of the main building blocks of a login-based web application. We’re going to see what they are, what Symfony offers us to handle them and how to scale when you have ton of them. What’s a session? As you know the HTTP protocol is stateless: each request is independent from…

ECMAScript Proposal Process

Reading the countless articles concerning Javascript and specifically ES7,  I noticed complete and utter confusion about introduced features. Any new feature introduced after ES6 is tagged as a feature that will be introduced in ES7. Nothing could be further from the truth! Features like async function or decorators will not be introduced in ES7, so…

From sharding to coordination

I joined Madisoft’s ranks only a short time ago and it’s been decided that my baptism of fire would have been a fearful task: splitting a part of the shard-based architecture we use (more on that topic in future posts). TL:DR A @ManyToMany relation across different db servers is a no-go. We…

1 2 3