Pourquoi Big O est important ? - 2016-12-08 22:01:52

Introduction Récemment je parcourais différentes ressources sur le sujet des algorithmes. En examinant les exemples de runtimes exprimés en fonctions mathématiques avec Big O, je me suis dit: “Tout cela est très intéressant mais mérite d’être vérifié !”. Après tout ce n’est pas parce que tous les bouquins sur le sujet nous enseignent que cet algorithme de détection des puissances de 2 dans une liste de taille N a un runtime de O(log(N)) que je dois les croire sur parole n’est-ce pas ?

Comment vous faire une idée de l'impact de la latence de votre téléviseur dans vos sessions de jeux vidéos - 2016-11-11 16:53:03

A l’approche des fêtes de fin d’année j’envisage de profiter des soldes pour remplacer la télévision de mon salon. Ce ne sont pas les choix qui manquent entre les LCD, OLED, rétroprojecteurs 4K, pas 4K, ou je ne sais quelle autre fantaisie … Cette initiative étant principalement motivée par l’envie de profiter d’un support plus grand, nombre de joueurs aguerris et autres grands manitous du gaming de mon entourage n’ont pas manqué de me mettre en garde :

Testing d'une app golang sur AppEngine : une manière de gérer l'erreur NewContext passed an unknown http.Request - 2016-10-13 19:38:59

TLDR; La solution sur Github : https://github.com/aubm/my-test-app Mise en évidence du problème Déployer du go sur AppEngine, c’est cool, se retrouver perplexe lors de l’éxecution des tests face à cette erreur : panic: appengine: NewContext passed an unknown http.Request, c’est moins cool. Trainer ces objets context un peu partout dans les couches de l’application n’est pas un aspect très agréable du développement d’une appli web en go. Sur AppEngine, c’est d’autant plus problématique que le contexte doit être créé à partir d’une requête dont AppEngine a connaissance.

L'injection de dépendances à l'esprit dans vos applications Golang - 2016-05-09 18:45:44

L’injection de dépendances est utilisée pour séparer les responsabilités entre les briques d’une application. Ce pattern couplé à une stratégie d’abstraction utilisant efficacement des interfaces permet également de simplifier l’écriture des tests unitaires. L’intérêt étant de pouvoir remplacer une implémentation par une autre, supprimant ainsi les potentiels effets de bords (requête en base de données, écriture sur le disque, requête HTTP, etc …). Dans cet article, je vais vous présenter une approche permettant d’appliquer ces principes à du code Go de façon simple et pratique.

Aller plus loin avec Postman - 2016-02-19 21:47:28

Présentation rapide de Postman Postman est téléchargeable dans la magasin d’applications de Google Chrome. Dans son utilisation la plus basique, il s’agit d’un outil permettant d’éxecuter des appels HTTP à un serveur pour en interpréter la réponse en dehors de tout contexte métier. Pour commencer à comprendre la valeur ajoutée par rapport à Curl (au délà du côté user-friendly), il faut s’attarder sur la sauvegarde des requêtes et des snapshots de réponses dans des collections.

Du neuf sous le capot - 2015-11-03 08:00:00

De retour sur mon blog après quelques mois de silence. Je n’ai cependant pas été inactif, ayant notamment pris du temps pour monter en compétence sur un certain nombre d’outils et langages. Golang est un de mes derniers investissements, si je n’ai pas encore de vrai retour, j’apprends, je passe du bon temps, et j’espère pouvoir en prendre prochainement pour pondre quelques articles sur le sujet. Plus récemment j’ai eu vent de l’abandon officiellement annoncé par Google de sa proposition sur le crowling de contenus AJAX.

Gardez le code explicite, court et modulaire - 2015-05-20 10:39:44

Les contenus proposés sur la plateforme Lynda.com par l’excellent Simon Allardice sont peut-être les meilleurs que j’ai eu l’occasion de consulter. La pédagogie et la qualité des cours qu’il propose sont exemplaires, il s’agit pour moi d’une source d’inspiration. Beaucoup de notions et de valeurs qu’il s’efforce de transmettre représentent des aspects du métier de développeur auxquels je suis particulièrement attaché dans mon travail au quotidien. Un certain nombre de ces valeurs se retrouvent dans cette phrase.

Contrainte d'unicité dans Symfony 2 avec Doctrine - 2015-03-22 15:55:31

Introduction Le composant de validation de Symfony embarque des contraintes pré-définies (outre la possibilité de créer des contraintes personnalisées évidemment). Par ailleurs, l’intégration de Doctrine dans le framework full-stack fournit une autre contrainte prête à l’emploi : UniqueEntity, qui permet de valider l’unicité dans une table de la base de données d’un ou plusieurs champs d’une entité. Cette contrainte est référencée dans la documentation officielle de Symfony. Cet article se propose d’apporter quelques exemples et explications en complément de cette documentation.

Mes premiers pas avec CakePHP 3 - 2015-03-13 16:22:40

Avant propos Profitant d’un peu de temps libre j’ai décidé de m’essayer à la dernière version en date de CakePHP, à savoir CakePHP 3. Je suis donc parti dans l’idée de pondre un Twitter-like en version allégée (très allégée). Après avoir posé le contexte en présentant mon Twitter fait maison, je développerai cet article en apportant des précisions sur le code et les différentes fonctionnalités de CakePHP 3 que j’ai utilisées pour construire le site.

Installation et utilisation de Sentry - 2015-01-24 19:33:05

Qu’est ce que Sentry ? Sentry est une application web open-source que vous pouvez utiliser pour logger les erreurs de vos applications. Le fonctionnement de Sentry repose sur l’exploitation de son API accessible par HTTP. Des librairies existent pour de nombreux langages et framework afin de faciliter son implémentation. Rendez vous sur le github du projet pour en apprendre plus sur les fonctionnalités. A propos de cet article Cet article comporte deux parties.