Using Explain function of MySQL to optimize query

When database queries are slow a good approach is to use EXPLAIN to get the execution plan of the queries. But the result is not always obvious. In this post I show you how I use EXPLAIN to solve a real performance issue. Read the post

Which tool to choose to use Elasticsearch in a Symfony project

How to use Elasticsearch in a Symfony project? Which librairy or bundle to choose? I often read these questions on community slack. I'm not going to write a complete guide, but I give you my point of view on different tools I used in the past or still use. Read the post

Migrate to Jenkins pipeline for my PHP Symfony project

Yes, we are in 2022 and I'm still using Jenkins and not the hype CI like gitlab or github action. In fact I have just migrated all my old job definition from Phing (it's like Ant but written in PHP) to declarative pipeline. It's faster to run, config file are easier to read and I still keep metrics. Want to know more? Read this article. Read the post

Manipulate MySQL 8 JSON colums Part 2: simple object

After the first post who shows the possibility of the JSON functions with MySQL 8 on a JSON array, let's talk about what we can achieve with a JSON object. Read the post

Manipulate MySQL8 JSON colums Part 1: simple array

MySQL 8 has introduced an advanced support of JSON type and functions. The documentation is complete for the functions but I found the examples not very helpful and too much theorical. The idea here is to show, with a real, but simplified, database some things we can do with this format. In this first article, we will manipulate a JSON colums containing a simple array. Read the post

Using Ansible blockinfile module multiple times in the same file

Once again, I struggled using Ansible module: blockinfile to change multiple sections of the same file. This article is a tips of how to achieve it with Grafana config file. Read the post

Secure your sensible data using encryption in PHP

There isn't an application that is really security proof and will not suffer to a data breach. Encryption of the data is a good approach to reduce data breach impact. In this post, I'm going to show you how to use encryption in PHP with real world case. Read the post

Package code in a PHP archive: PHAR

In this article, I show how to group its code in a PHP Phar archive. This step a little complicated, is now greatly facilitated by tools available on Github. I illustrate here, the use of clue/phar-dial. Read the post

Tip to replace text easily in VIM equivalent to Ctrl + F

Vim is a great editor on Linux, but unfortunately the usual keyboard shortcuts such as Crtl + F to replace text does not exist. In this tip I explain the command to make a text replacement in VIM. Read the post

How to colorize your MySQL or MariaDB client on linux

In this article I present you a config which allows to put the client MySQL / MariaDB in color to facilitate the reading of the results of your SQL queries. Read the post