Authentication and authorizazion Many applications need an authorization system that allows different users to do different things. There are many ways to implement such system; in this post we’ll describe our preferred strategy. Let’s start by distinguishing authentication and authorization. Authentication is the part that identify users, e.g. checks username and password to make sure the user is valid. Authorization […]
A while ago we wrote about iterative coding, which is a way to develop your project in short cycles, each one producing a working and usable artifact. This approach can be used in a fractal fashion and applied each time you develop a new feature on an existing and working project. First thing we do, we identify all supporting changes: […]
Sooner or later you’ll get a request to create an import/export system between your application and one or more other applications. This is good: applications that are able to easily interact with the outside world will stand out and have more chance to be successful in the long run. So, you should happily grab the opportunity to make your application […]
There is a sad story I will tell you now, a story which – I guess – most developers have been through at some point in their career. We are in the middle of developing a project. There was a time, some months ago, when the deadline looked so far away that we coded happily and without pressure. We did […]
What is iterative coding? In the context of coding, an iteration is a development phase that produces a working artifact. In other words, at the end of each iteration we have a working piece of software, which can be used and tested, even if it has not all project features yet. The whole point of it is, customers should be […]
You may have heard of DDD and, yet again, you may not have. Let us give you a short introduction so that we all know what it is and future articles may build on this knowledge. DDD (Domain-Driven Design) is a different way of thinking about your software; in fact it is probably the right way to think about it. […]
What’s Twig If you use Symfony you also probably use Twig (http://twig.sensiolabs.org/). It is a very flexible layout system and it makes it really easy to: extend a base layout include external sublayouts Even though Twig requires you to learn a slightly different syntax, I feel it’s well worth it and I am completely happy with it. Let’s take a […]
So, I had to build an API layer on top of an existing legacy (but well-known) codebase. Sounds easy, huh? Yep, that’s what I thought, too. Unfortunately, things were not that easy: as I started going into details, I found a few traps.