Wiremock où comment simuler un serveur HTTP en moins de 5 minutes

La semaine dernière, j’ai participé au hackathon organisé par mon client. L’équipe dans laquelle je me trouvais était classiquement séparée entre une partie front et une partie back qui offrait des services REST. Le besoin de simuler ces derniers s’est rapidement fait sentir afin de permettre aux deux équipes de travailler sans dépendance l’une envers l’autre.

Pour ce faire, nous avons fait usage de Wiremock. Il ne s’agit pas d’un mock à proprement parlé mais d’un serveur HTTP réel, basé sur Jetty et facilement configurable. Cet article a pour but de vous le présenter à travers son usage standalone (i.e. un JAR autonome). D’autres usages sont possibles et seront survolés en fin de document.

Lire la suite

5 raccourcis IntelliJ qui ont changé mon quotidien

Tout professionnel qui se respecte se doit de choisir les meilleurs outils et de les maîtriser. Nous, les développeurs et/ou craftmen, n’échappons bien évidemment pas à la règle et au quotidien, notre EDI est un élément indispensable à notre efficacité.

Dans cet article, je vous propose de redécouvrir ensemble cinq raccourcis IntelliJ que je considère maintenant comme indispensables. Notez que ce top 5 est bien évidemment subjectif et n’a pas pour objectif de convenir à tout le monde. N’hésitez donc surtout pas à commenter cet article pour mentionner vos raccourcis favoris.

Enfin pour les non-utilisateurs d’IntelliJ, ne partez pas! Prenez le temps de piocher quelques idées ci et là. Votre EDI propose peut être un équivalent. Dans le cas contraire, ce sera là l’occasion de passer du côté obscur de la force ;).

Notes: Les raccourcis sont donnés à la fois pour Mac OS et pour Windows/Linux. Notez cependant que vous pourriez observer des différences selon la keymap utilisée.

Les extraits de code ci-après sont issus de l’atelier « Clean code » donné le 30/09 dernier lors du Craft Day chez Xebia.

Lire la suite

Scala for the impatient – Chapitre 5/22 – Les classes

Cet article est le cinquième de la série consacrée à l’ouvrage Scala for the Impatient. Ce dernier propose, en 22 chapitres, de découvrir ce que Scala peut faire et comment l’utiliser, d’un usage basique jusqu’à un usage plus complet (écriture de librairies). A la fin de chaque chapitre, plusieurs exercices sont proposés. Ces derniers permettent d’une part, de vérifier l’acquisition des notions abordées et d’autre part, de creuser ces dernières.

Cette série a pour buts de:

  • Partager et expliquer les solutions des exercices;
  • Revenir sur les notions liées le cas échéant;
  • Confronter ces solutions à l’expérience et à la vision d’autres experts techniques.

Le seul pré-requis est de connaitre C, C++ ou Java et de prendre le temps de feuilleter, à minima, la première partie de l’ouvrage (disponible librement ici).  Cet article concerne le chapitre n°5, intitulé « Les classes » et fait usage de la version 2.10.2 du langage Scala. Enfin, les solutions présentées sont disponibles sur GitHub.

Lire la suite

Lancer ses tests unitaires TestNG/Scala dans Eclipse

Dans le cadre de la rédaction de la série d’articles sur le livre Scala For The Impatient, je suis amené à fournir plusieurs extraits de code Scala que j’ai décidé de tester unitairement. Venant du monde Java et ayant mes habitudes avec Eclipse et TestNG (voir ici pour comprendre ma préférence vis à vis de JUnit), je m’attendais à pouvoir les utiliser de la même manière.

Or, si l’écriture des tests varie peu, le lancement ne peut se faire de la manière graphique habituelle. A savoir pour une classe Java, Run > Run As > TestNG Test.

La solution se trouve dans l’usage des raccourcis et peut paraitre triviale. Néanmoins, à la vue des réponses trouvées sur internet, je vais prendre le temps de la détailler dans ce court billet. Lire la suite

Scala for the impatient – Chapitre 4/22 – Maps et Tuples

Cet article est le quatrième de la série consacrée à l’ouvrage Scala for the Impatient. Ce dernier propose, en 22 chapitres, de découvrir ce que Scala peut faire et comment l’utiliser, d’un usage basique jusqu’à un usage plus complet (écriture de librairies). A la fin de chaque chapitre, plusieurs exercices sont proposés. Ces derniers permettent d’une part, de vérifier l’acquisition des notions abordées et d’autre part, de creuser ces dernières.

Cette série a pour buts de:

  • Partager et expliquer les solutions des exercices;
  • Revenir sur les notions liées le cas échéant;
  • Confronter ces solutions à l’expérience et à la vision d’autres experts techniques.

Le seul pré-requis est de connaitre C, C++ ou Java et de prendre le temps de feuilleter, à minima, la première partie de l’ouvrage (disponible librement ici).  Cet article concerne le chapitre n°4, intitulé « Maps et Tuples » et fait usage de la version 2.10.2 du langage Scala. Enfin, les solutions présentées sont disponibles sur GitHub.

Lire la suite