With MySQL, DELETE operations are not always easy (join, sub queries,...), let's see how to DELETE with GROUP BY and HAVING constraints with a single command.
Two way data binding is really easy with VueJS and has very good performance with virtual dom. But it's not always a best practice to use to improve performa...
A docker stack to simulate a RabbitMQ cluster with high availability. HAProxy for load balancing, multi nodes, nodes failure, network partition,...
Logging errors is something essential. Let's see how to do it with php-fpm (and cli)
Behind a reverse proxy, the user IP we get is often the reverse proxy IP itself. But for obvious reasons it's important to have access to the user real ip ad...
For SEO and security reasons it's important to set SSL/HTTPS on web servers and websites. It's important to avoid duplicate content for www and non www urls....
A docker image entry point not following this simple rule will not be correct...
It can be really useful to use ssh tunnels and local port forwarding to access servers, databases or more generally services running on remote LAN. With Remo...
A list of things to do or check to configure docker-machine (generic driver, devicemapper storage-driver) to control remote docker daemons.
If we do not write DQL queries correctly, we could have big performance problems.
INSERT IGNORE INTO or REPLACE INTO MySQL operations are not really good practices. I advise you to replace with something else to INSERT if not exists.
Symfony client for an API secured with LexikJWTAuthenticationBundle, user authenticator and user provider
A simple example of a Symfony client (firewall, user authenticator, user provider, user model) configured to consumed an API protected with JWT token and Lex...
When doing multiple database operations in a single http request, command line, method,...we often need to use a database transaction to keep data safe.
How to use docker environment variables from a crontab running inside a docker container.
Always prefix your tables with a prefix to avoid naming conflicts. You can do this automatically with doctrine.
How to optimize docker image size with simple tricks. Caching layers, minimal base image like alpine or busybox, low number of layers, removing useless files...
To upgrade a Symfony project to Symfony 3, some people built different tools to help us
Thanks to Composer, Satis, satisfy and docker it's really easy to host and use private git repositories
How to create and inject services dynamically with Symfony and expression language based on environment or env variables
It's a common thing to use environment variables to configure Symfony for dev, staging, production...
When working with docker, docker-compose and links or external link, it can lead to unreachable local hosts (ex: mailcatcher)
DoctrineMongoDBBundle can be installed with a composer docker container and HHVM, but it can lead to problems or errors
DoctrineMongoDBBundle multiple connections and authentication, SASL Authentication failed on database, the service doctrine_mongodb.odm.conn1_connection has ...
It's not always easy to merge less, sass and css into a single css file with gulp
Use an environment variable to build conditional functions in a gulpfile. Really useful for multi-environment configurations.
Rescue Mode with OVH and Kimsufi
FOSElasticaBundle allows zero downtime reindexing process using elasticsearch aliases. You need to set the correct configuration for your index in the Symfon...
Docker with shell script or Makefile to have a higher productivity
Material Design Resources
Vagrant AWS provider with private repositories
Vagrant elasticsearch cluster made easy.