Oliverde8's blue Website

The Microservice trend - Chapter 1 - Cleaner code

This article is part of a series of Article I intend to write on microservices and the few things I have seen. I am not sure how long it will be as I am publishing them as I write them. In the articles when I talk about an “application” I often mean the end result, microservices will work together for multiple goals, for example to deliver a B2B website as well as B2C website. I consider that the B2B website & the B2C website are 2 applications that relies on the services at the back. Where do they come from Still a few years ago we used to develop huge monolithic appl ...

Read more

Catching exceptions, how hard can it be

I am surprised at how much people don t "catch" properly their exceptions. Just very recently I stumbled to a PR on an open source project that decided me to write this little article. Let s have a look to this PR of Akeneo : PIM-7915: Display a modal on deletion error We can see here that there is a nice catch : // ... } catch (\Exception $exception) { return new JsonResponse([ message => $exception->getMessage()], 500); }; What bothers me with this catch? Well, the code here catches all exceptions and logs nothing. So it will catch "errors&q ...

Read more

Building a Simple PHP-ETL

Anyone of you fallowing my github might have seen that I have recently created a new library : PHP-ETL Recently I had a did a few repetitive projects, all of them consisted of transforming a csv file. I ended up identifying these repetetive tasks. Transformation : I identified the transformations very early in the process, and coded the RuleEngine a while ago. Grouping : On a few of the occasion I ended up having to group multiple lines of the csv file into one line. This I had todo to create configurable products from variants for exemple. Multiple destination : Quite often wh ...

Read more

Akeneo 2.0 - An alpha at it's best

I have been working with akeneo 2.0 for a few month now and I can say it has been a lot of frustrations. I will try to balance this article with nice new features in Akeneo 2.0 but not sure I will be able to balance much. Variations First of all let’s talk about “the” main feature in this 2.0, variations. Indeed the variaiton modelisation is much better. Using the interface is easier and variations can be found easily without much issue. If you have watched any of the Akeneo videos you will see how well it looks and seems to work. But here is where the dream ends, ...

Read more

Mysql, the limit's of the offset

I was in conversation with a friend the other day, and we were talking about exporting by batch big quantities of data. I am not sure how we ended up talking about how using the "LIMIT". There are a few mistakes people does when working with SQL and adding LIMIT s with an offset to their queries. A database allows us to query a database and have results rather fast; but some very simple queries can create performance issues. It s important to understand the basics of how things work to understand the issue. In this article we will talk about the usage of the "LIMIT" ...

Read more

Grafana - Data visualization

I don t know if you ever heard of grafana, few people even in the computer industry has. Grafana is a great tool to visualise data. I have been using grafana for over a year now to have statistics on the usage of eXpansion. A tool I made for the Maniaplanet game. More know to many people is Kibana, and indeed I also started there. I first used Kibana to make visualise statistics on the usage of eXpansion. But I realized very quickly that Kibana was not designed for that. Kibana is designed for logs monitoring; I could get nice graps showing me stats about the different versions of the tool ...

Read more

eXpansion2 - Abandoning Doctrine & Going with Propel

Among the many things I try and manage at home one of my favorites ongoing projects is eXpansion2. For those that doesen t know what it s about; it s a server controller for the Maniaplanet(Tracknmania) game. It connects to the games dedicated server and adds interfaces to manage the server as well as new features such as records. The controller runs as a deamon on the server. eXpansion is a project we started a while back, been 5 years or maybe even more. The first version was based on a controller made by the game s developpers. The last version of the game has broken our controller a ...

Read more

Akeneo 1.7 - OAuth

One of the wonders of Symfony is how easy it can be to add new features to existing systems. We are going to add OAuth support to Akeneo PIM which is a Symfony based php application. In order to do this wer are going to use the awsome HWIOAuthBundle. Prerequisites Have basic SF knowledge(and thefore composer...) Have a working Akeneo 1.7 accessible from akeneo.local.com Let s get going Firs of all let s us install the hwiOAuthBundle, composer require hwi/oauth-bundle We shall now enable it in the `AppKernel` new HWI\Bundle\OAuthBundle\HWIOAuthBundle(), ...

Read more

Sonata, MongDB & Symfony 3.3 on PHP7.1

I wanted to know if it was possible to use Sonata with mMngodb. After some research I found out that it was indeed possible. If there is one thing I love it s discovering new things, trying out new things. There is so much I would like todo, sadly weekends are to shorty for all the experiments I wish to run. I would like to write about those experiments more often, but it takes quite a lot of time to write these articles; so usually I don t write much about it. But getting mongodb sf3.3 with sonata working without a mysql server has been slightly more complicated then expected, becaus ...

Read more

For what's worth, my thought on Magento2

I have been working with Magento in general for over 3 years now. And with Magento2 in particular for 1 year or so. So I thought it was time to make a small article about what I think about Magento2. It brand new Well Magento2 comes with plenty of new things, Zend2 & it s Dependency Injection System, which is enchanced in M2. The api layer for interacting with the DB. The native rest/soap api s. Magento 1 did have a few, but M2 make it much easier to create new API s sing the api layer. Composer out of the box (finally) Improved layout systemp with ui ...

Read more