ShellCheck outil d’analyse pour vos scripts shell

Qu'est-ce que ShellCheck ?

ShellCheck est un outil d'analyse de scripts shell assez puissant dans la lignée de Lint qui devrait se trouver dans la boîte à outil de tout devops Unix.

Cet utilitaire vous permettra d'identifier de manière statique (sans exécuter le code) un bon nombre de petits défauts dans vos scripts shells qui, sur votre utilisation courante, fonctionnent peut-être comme un charme mais qui mis dans les mains d'autres personnes provoqueront des erreurs pour le moins embêtantes.

Par exemple, imaginez que pour une raison X ou Y, la variable suivante n'est pas renseignée...

rm -rf "$PATH_TO_FOLDER/"*

C'est une erreur triviale mais qui peut coûter très cher; bien d'autres sont listées par Koalaman, l'auteur du script.

Parcourir l'article

Améliorer l’accès à l’historique des commandes dans le terminal

Cette astuce permet de retrouver une commande précédemment exécutée dans un terminal, à l'aide des flèches haut et bas, en saisissant simplement le début de l'instruction.

Pour cela, il suffit d'éditer le fichier .inputrc présent dans votre home et d'y ajouter le code suivant à la fin. Si .inputrc n'existe pas, le copier depuis /etc/inputrc

"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

M101J : MongoDB for Java Developers

mongodb-nosql-logo

Je voudrais partager avec vous mon expérience sur la formation MongoDB pour les développeurs Java.
Ce cours mis en ligne gratuitement par l'université MongoDB se déroule sur 7 semaines :

  • les 6 premières se décomposent en une série de vidéos et de quizz ainsi que des exercices finaux.
  • La 7ème et dernière semaine se déroule l'examen final qui permet de valider le suivi des cours et les connaissances acquises.

A la fin de ces 7 semaines, il est nécessaire d'avoir au minimum 65% de bonnes réponses aux exercices pour recevoir le certificat, sachant que les 6 premières semaines représentent 50% de la note et l'examen final les 50% restants.

Robomongo, bon client MongoDB

Le shell de MongoDB est très utile pour l’administration d’une base ou pour en consulter le contenu mais je ne vous cache pas qu’à la longue, il finit par être très fastidieux pour une multitude de petits détails. Heureusement que de nombreux projets existent et permettent de remédier à ce manque. Un certain nombre d’entre eux sont listés sur le site de Mongo .

Parmi eux, il y’en a un qui me plaît particulièrement et normalement, vous avez déjà compris qu’il s’agit de Robomongo. Derrière ce nom qui ne casse pas 3 pattes à un canard, se cache un outil aussi facile à prendre en main que performant qui va vous permettre d’administrer au même endroit un nombre illimité de bases, de collections, de documents et de serveurs.

Devoxx France 2012 – CRaSH un shell pour étendre la plateforme Java

Durant Devoxx France 2012, j'ai assisté à la conférence intitulée CRaSH un shell pour étendre la plate-forme Java, présentée par Julien Viet (son compte github).

CRaSH (Common ReusAble SHell) est un shell sous la forme d'un interpréteur de commandes qui permet l'accès à la machine virtuelle Java sur laquelle il tourne. Ce shell, sous licence open source LGPL, vient de sortir en version 1.0 et peut être récupéré sous la forme d'un fichier zip ou d'un installateur. Il peut fonctionner en mode autonome (comme le shell Bash) ou en mode attachement (un agent logiciel s'attache à une machine virtuelle Java en cours de fonctionnement).

Pour bénéficier du déploiement à chaud de nouvelles commandes CRaSH, il faut développer les commandes en groovy en étendant la classe CRaSHCommand. Il est aussi possible d'écrire des commandes en Java en implémentant l'interface ShellCommand, mais sans pouvoir bénéficier du déploiement à chaud. Une commande CRaSH peut aussi être développée sous la forme d'un script groovy. En plus de l'ajout de nouvelles commandes, un mécanisme de plugins permet de rajouter des nouvelles fonctionnalités en étendant la classe CRaSHPlugin.

Parmi les commandes disponibles en standard, la commande jdbc permet de se connecter à une base de données en passant par un DataSource définie dans un annuaire JNDI ou directement en utilisant une chaîne de connexion JDBC. Il devient alors possible d’exécuter directement des requêtes SQL. Parmi les autres commandes disponibles, on trouve la commande thread pour contrôler les threads et la commande log pour gérer les logs.

Par défaut, vous pouvez vous connecter à une instance de CRaSH par SSH ou par Telnet mais c'est désactivable. Pour plus d'informations, veuillez consulter la documentation.

Grâce à CRaSH, vous pouvez par exemple écrire des scripts pour tester une application Swing en utilisant la classe java.awt.Robot.