


Archive for janvier, 2010
Documenter vos codes
Author: admin
Lorsqu’on programme une chose importante est de bien documenter son code. Que cela soit pour vous, ou pour les personnes qui utiliseront votre code, ou passeront derrière vous. Tous les langages possède un système de documentation interne Perldoc, Javadoc, Pydoc etc…
Par exemple en Python pour documenter une fonction nous utiliseront les triples quotes, tout de suite après sa définition.
def HelloWorld() : """ Une simple fonction qui affiche un message à l'écran """ print "HelloWorld !\n" |
La description sera donc disponible via la pydoc.
En Perl nous avons le format Pod1 , la bonne vielle documentation.
Pod est un lagage de balisage qui va permettre d’écrire de la documentation pour Perl, pour vos programmes Perl, ou encore pour vos modules Perl. Il sera ensuite possible de convertir POD dans différents formats notamment du texte brute, HTML, page de man. Je vous expliquerai dans un prochain article comment utiliser POD.
Documentation POD sur enstimac
- Plain Old documentation [↩]
read comments (0)Divers Tips Git
Author: admin
J’utilise désormais Git comme outil de gestion de version pour mes projets et diverses autres choses, fichier de configuration, document rédigé avec LaTeX etc… Je cherchais donc tout naturellement une méthode pour avoir un peu de couleurs. Contrairement à Subversion il n’y a pas besoin de faire appel à des outils externes pour cela. Il vous suffira d’éditer votre fichier .gitconfig. Vous avez donc plusieurs manières de procéder pour ça, soit en ligne de commande via la commande git config, soit en éditant directement ce dit fichier.
git config --global color.branch auto git config --global color.diff auto git config --global color.interactive auto git config --global color.status auto |
Ce qui donnera dans le fichier de configuration ~/.gitconfig :
[color] branch = auto diff = auto interactive = auto status = auto |
C’est tout de même plus agréable de voir un peu de couleurs.
Si vous êtes désireux d’avoir des alias avec Git similaire à svn pour le status, commit, branch etc… Vous pourrez encore une fois l’indiquer via git config.
git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout git config --global alias.br branch |
Ce qui vous permettra maintenant de taper par exemple :
git st #En lieu et place de git status git ci #à la place de git commit git co #à la place de git checkout git br #à la place de git br |
Ce qui est un peu plus court ça fera du bien à vos doigts. Je rappel que la commande git checkout permet de changer de branche et non de récupérer les sources d’un dépôt contrairement à svn. J’avais déjà indiqué les commandes à utiliser pour, indiquer des informations sur votre nom d’utilisateur et l’éditeur lorsque j’avais présenté Git.
Il peut-être très pratique d’avoir accès à un aide-mémoire des diverses commandes disponible, car il arrive d’avoir de trous. Il en existe pour cela cheat git. Il existe aussi des versions svg ou png Disponible ici.
Installer un module Perl
Author: admin
Il y a plusieurs manières de procéder pour installer un module Perl. La première consiste à regarder, si il n’est pas déjà packagé pour votre distribution. Si vous êtes sous Debian ou un dérivé, vous devriez trouver la plupart du temps votre bonheur, étant donné la grande facilité de packager un module Perl pour cette dernière distribution. La paquet d’un module Perl pour Debian, généralement, se trouve de la forme libtype-nom-perl. Par exemple :
libnet-twitter-perl
ou encore
libarchive-tar-perl
C’est la méthode à préconiser pour une intégration parfaite à votre distribution.
Il peut arriver tout de même, qu’il n’existe pas de paquet pour le module que vous souhaitez installer, dans ce cas là, vous pouvez passer par le CPAN.1 Le module CPAN.pm a été préinstallé sur votre machine. Il va vous permettre d’installer et configurer des modules. Lors du première appel à cpan, il vous faudra répondre à une série de questions, notamment le chemin de gunzip. Généralement les réponses par défaut sont correctes, mais tâchez tout de même, à toujours vérifier, c’est important de faire attention à ce que l’on fait. Ensuite vous pourrez installer des modules via le cpan, soit en lançant la commande cpan, et ensuite au prompt cpan indiquez install suivi du nom du module :
install Net::Twitter |
Soit en indiquant en argument le module à installer :
sudo cpan Net::Twitter |
La dernière solution consiste à installer le module à la main, notamment lorsque le module n’est pas disponible sur le CPAN. Il vous faudra alors récupérer les sources généralement compressées au format tar.gz. Ensuite décompressez l’archive, déplacez-vous dans le répertoire, lisez le README, pour finir effectuez les manipulations qui sont généralement perl Makefile.pl qui va générer le makefile, make, make test et enfin sudo make install.
wget http://search.cpan.org/CPAN/authors/id/M/MM/MMIMS/Net-Twitter-3.05000.tar.gz tar -zxvf Net-Twitter-3.05000.tar.gz cd Net-Twitter-3.05000/ perl Makefile.PL make make test sudo make install |
Si tout s’est passé et que vous n’avez pas eu de message d’erreur le module devrait être installé. J’ai pris un mauvaise exemple, mais je n’avais pas de module non disponible sur le CPAN sous la main. C’était pour montrer la démarche. Pour vérifier que le module est bien installé :
perl -MNet::Twitter -e 1 |
Si aucun message ne s’affiche, cela signifie que le module est bien installé.
En revanche, si vous avez ce genre de message :
Can't locate Net/Twitter.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .). |
C’est qu’il y a eu un problème quelque part.
Concernant les bibliothèques que vous être en train de développer ou qu’un ami vous a gentiment fourni et que vous aimeriez tester. Vous pourrez créer un répertoire lib/perl par exemple, dans votre home personnel et indiquer le chemin à la variable d’environnement PERL5LIB :
export PERL5LIB="$HOME/lib/perl" |
Une autre solution consiste à indiquer le chemin directement dans le source :
use lib $ENV{'HOME'} . "/lib/perl"; |
Voilà, vous êtes maintenant paré à installer des modules Perl de différentes manières. N’oubliez pas, Perl, c’est bien et ce qui fait sa grande force est justement son nombre de bibliothèques disponibles sur le CPAN.
- Comprehensive Perl Archive Network qui regroupe la plupart des archives logicielles et bibliothèques écrites en Perl. [↩]
Bonnes résolutions 2010
Author: admin
Le titre n’est pas forcément le mieux choisi. Oui, cela me fait toujours rire cette tradition des bonnes résolutions, lorsqu’une nouvelle année débute. C’est un peu comme remettre les choses à demain. Pourquoi attendre qu’une nouvelle année démarre, pour prendre de bonnes résolutions ; pourquoi repousser les choses que l’on pourrait faire aujourd’hui à dans 8 mois. C’est tout au long de l’année que j’essaie d’évoluer, progresser, avoir de bonnes résolutions. Comme certains le savent, j’ai parfois de très longue journée, et j’ai toujours beaucoup de choses à faire. Ne serait-ce qu’assouvir ma soif d’apprendre, me demande beaucoup de temps. J’ai donc tout au long de l’année, essayé d’optimiser un peu mon temps.
J’ai tout de même pris de bonne résolution pour l’année 2010, en fait, j’ai eu et fait des découvertes quelques jours avant la nouvelle année, ça tombait donc bien.
A la base, je ne suis pas forcément quelqu’un de super organisé. Par conséquent je savais toujours ce que j’avais à faire, mais je ne notais pas ces choses. J’étais donc perdu, je savais ce que je devais faire, mais ne me fixant pas d’objectifs pour la journée, je m’affolais et prenais peur par toutes les choses que j’avais à faire. Au final, je n’avançais pas beaucoup, car je ne savais pas par ou commencer. Ce qui était très frustrant, puis je me disais toujours « bon je vais commencer par faire ça, puis non ça me soule, en fait, je vais plutôt faire ceci, ah peut-être bien cela, finalement, j’ai trop de choses à faire je ne vais pas m’en sortir ». Généralement, je finissais par aller glander sur la toile, ou à faire des choses que je n’avais pas prévu.
J’ai fait la découverte de deux outils, le premier est pal un agenda en mode texte simple et efficace, le deuxième est devtodo, un gestionnaire de todo lui aussi est simple et efficace. Les deux forment un très bon complément au final. L’une de mes résolutions est donc d’être plus organisé. Ce que je fais, c’est que je me fixe des objectifs pour chaque journée dans pal, et devtodo me sers plus de pense-bêtes lorsque j’ai des choses à faire, mais que je ne sais pas encore quand est-ce que je souhaite les faire, je les mets dans devtodo, avec un ordre de priorité. J’ai commencé à m’en servir, il y a quelques jours et je peux déjà assurer que ça fonctionne bien, je suis d’ailleurs assez étonné de voir ce que je suis capable d’accomplir en une journée. Je remercie donc pal et devtodo, mes sauveurs. Une autre de mes bonnes résolutions est de continuer à lire beaucoup mais de façon plus sérieuse. C’est-à-dire tant-que je n’ai pas compris un passage je le relis, réaliser tous les exemples du livre, s’il y a des exercices tenter de tous les faire, prendre d’une façon un peu plus structuré des notes de passage qui me semble important, avec bien entendu ma propre vision, avec ma réflexion. Pratiquer plus, en ayant plus de projets personnels, en étant plus sérieux, avec ces dit projets, et de manière constante et régulière. Apprendre de nouveau langage, et notamment Erlang que j’ai commencé, il y a quelques jours. Essayer de moins me laisser distraire par des choses sans importance, être plus concentrer à ce que je fais. Trouver une alternative à Google pour les recherches pour plusieurs raisons que j’expliquerai peut-être plus tard. Poster plus souvent sur ce blog, pour être précis, une fois par semaine, tous les dimanches. Si l’article me demande un long travail de lecture, de documentation et de pratique sur une technologie que je connais pas, il se peut qu’il y est un délai un peu plus long. Je me suis tout de même fixé comme objectif que cela ne doit pas dépasser une semaine. Ce qui signifie au pire, un article une fois sur deux, ce qui fait au moins un, deux articles dans le mois. Pour finir participer plus régulièrement à vim-fr.org que j’ai cofondé avec istaz. J’ai d’autres résolutions que ce soit au niveau technique ou personnel, mais je ne vais pas non plus tout vous raconter, cela ne serait point amusant, et risquerai de rapidement vous souler.
Je ne vais pas vous faire un bilan de mon année 2009. Simplement, vous dire que malgré une très grosse baisse de régime et de fatigue au mois de décembre, ce fut globalement une très bonne année. Je suis surtout très fier et heureux d’une chose que je n’aurai besoin de préciser ici. Ce que j’attends pour l’année 2010, continuer à progresser et apprendre des choses en informatique, et j’espère du fond du coeur avoir une belle progression au niveau du développement, car pour le moment c’est pas toujours ça. Peut-être aussi avoir un peu plus de lecteurs pour ce blog, car ça fait toujours plaisir de savoir que lorsqu’on écrit, des personnes nous lisent. Je vais donc tenter d’écrire des choses plus intéressantes. Réussir à être reconnu par les autres barbus, pour mon travail, comme quelqu’un de passionné, qui travaille sérieusement, qui fait en sorte d’évoluer et de progresser et qui fait du bon travail cela va donc avec la progression dans ma façon de coder c’est tout de même mon métier après tout.
En conclusion je vais tenter de mettre en application, ces dites bonnes résolutions pour l’année 2010. Pour certaines résolutions, c’est déjà le cas et cela me semble assez bien parti, alors j’espère que cela va continuer. Je vais donc tout faire pour, car c’est à moi de fournir le travail, il n’y a personne qui peut m’aider à ça. J’ai toutes les cartes en main à moi de ne pas les gâcher.


