Déménagement

19 03 2008

J’ai fait le pas d’acheter mon domaine perso. Vous pouvez dorénavant me retrouver sur l’adresse suivante: www.poxd.org





La charte des droits du programmeur

9 03 2008
  1. Tout programmeur doit avoir un affichage double écran
  2. Tout programmeur doit avoir une station performante
  3. Tout programmeur doit se procurer lui-même sa souris et son clavier personnels
  4. Tout programmeur doit avoir une chaise confortable
  5. Tout programmeur doit avoir une connexion rapide à Internet
  6. Tout programmeur doit avoir un environnement de travail calme.

Dans ma courte expérience professionnelle, tout ce que je peux dire c’est qu’en Suisse on est bien traité!
Un commentaire intéressant sur l’original de cette charte: « mettre des écouteurs, parfois même sans aucune musique (Andre Torrez) » permet simplement de remplir les conditions de l’article numéro 6 de la charte 😉 … Ayant travaillé à Lyon durant 3 mois, les conditions m’ont amené à tenter l’expérience avec succès!





Lectures #4

28 02 2008

Cela fait un bout de temps que je n’ai plus parlé de mes lectures. Je ne vais pas les mentionner toutes mais il y en a une ou deux qui en valent la peine.51JZ2BGCVPL._AA240_Le juge d’Egypte (Christian Jacq)Les histoires narrées par Christian Jacq sont rarement décevantes. On y retrouve une fois de plus pour son compte grâce aux multiples péripéties rencontrées par Pazair, petit juge provincial. Le personnage est armé de forts sentiments de justice et d’intégrité; bien sûr ce ne sera pas du goût de tout le monde.L’intrigue tourne autour d’un mystérieux vol ayant lieu dans l’une des grandes pyramides. Et ce n’est évidemment qu’à la toute fin que ce jeu de piste s’achève. C’est une lecture captivante et vraiment agréable. On est mené à travers l’Egypte entier, on se trouve immergé dans l’ambiance de cette civilisation quelque peu mythique.515DRPS07HL._AA240_Le bouc émissaire (Daphné Du Maurier)Si vous suivez le lien sur la pochette du livre vous arriverez la fiche Amazon du bouquin. La seule critique pour cet ouvrage est très favorable.Personnellement, la seule oeuvre que j’avais lu de Daphné Du Maurier auparavant était l’Auberge de la Jamaïque et il est clair que le résultat n’est pas le même.L’histoire est plus lente et m’a personnellement moins captivé. D’ailleurs j’ai l’impression que si je me lance à expliquer en quelques mots l’histoire j’en dirai déjà beaucoup trop si des candidats à cette lecture passent par là. C’est dire si c’est lent 😉 Au delà de cela on retrouve tout de même la belle et agréable écriture de l’auteure avec des personnages très bien décris.J’ai aussi pu lire Cyrano de Bergerac récemment (eh oui je ne l’avais pas encore lu) et force est de constater que c’est un chef d’oeuvre! Un réel hommage à la langue française. C’était un véritable plaisir de me plonger dans ce bouquin, cela ne m’étonnerais pas que je le relise un jour.Pour finir, je déconseille la lecture de J’irai cracher sur vos tombes de Boris Vian. C’est trop cru (voir repoussant) à mon goût.





L’union fait la force

28 01 2008

Il est toujours intéressant de parcourir du code source créé par d’autres personnes, c’est à mes yeux une excellente formation pour devenir un bon développeur. Je peux le vérifier en ce moment puisque je travaille sur la résolutions d’incidents sur une application web ayant pour base principale Struts.

J’ai été vraiment impressionné par le nombre de classes utilisées simplement pour supporter les opérations ajout, récupération,mise à jour et suppression de données (CRUD). A la décharge de l’équipe ayant créé cette application, il faut avouer que le modèle de Struts encourage à créer une classe par action.

Personnellement, je pense que la philosophie objet est respectée si l’on décide de regrouper les opérations CRUD dans une seule et même classe. Le nombre de classes va ainsi diminuer et rendre plus de clarté à l’environnement et l’objectif de chaque classe sera toujours bien défini.

De plus pour ne rien gâcher, Struts propose lui-même cette solution! La classe DispatchAction permet en effet au développeur de regrouper plusieurs actions en une-seule. Cette classe se trouvant dans la hiérarchie de la standard Action n’ est donc pas très différente de celle-ci.

En reprenant ce qu’explique la javadoc de cette nouvelle recrue, voici comment doter davantage de fonctionnalités à une action:

  • la déclaration de la classe dans le fichier struts-config est quelque peu différente:<action
    path="/saveSubscription"
    type="org.apache.struts.actions.DispatchAction"
    name="subscriptionForm"
    scope="request"
    input="/subscription.jsp"
    parameter="method"/>
    Le type de l’action correspond à la nouvelle classe et l’attribut parameter tient également un rôle particulier dans cette situation. C’est ce paramètre qui va être utilisé afin de définir quelle action sera exécutée.
  • définir une méthode par action suivant le modèle suivant:public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
  • la dernière chose à faire est de faire passer le paramètre ‘method’ (la valeur de l’attribut parameter de la 1ère étape) avec comme valeur le nom de l’action. Pour ce faire il n’y a qu’à passer par un lien ou un champ caché dans un formulaire!

Le résultat devient tout de même beaucoup plus agréable! La productivité va également sûrement être favorisée du fait qu’il n’y aura plus à jongler entre plusieurs classes pour changer d’opération sur un certain objet… Et le développeur qui devra passer plus tard sur un code plus compact en sera très reconnaissant 😉





Fais péter la Capsule!

16 01 2008

Avec l’événement Apple on pouvait s’attendre à de nouveaux produits de la grande pomme.

S’il y en a un dont je voudrais parler c’est le Time Capsule. Les specs de l’engin traduisent en effet tous mes souhaits en matière de partage « ergonomique ». Il sera time capsuleainsi possible de partager non seulement la traditionnelle connexion internet et ce que ce soit en RJ45 ou en wifi mais également imprimante et espace de fichiers de 500go ou 1To. A tout cela, ajoutez-y un système de sauvegarde permettant de sécuriser tout le système informatique (lié avec Time Machine sur Leopard uniquement) accessible par la capsule et vous trouvez l’engin idéal!

Franchement, à part le prix (419 CHF pour la version 500Go), c’est du tout cuit!





Java 6 sur Mac sur Leopard disponible

19 12 2007

Alors que beaucoup sont révoltés quant à l’attitude complètement ignorante d’Apple, une preview est enfin disponible!

Espérons qu’une version finale verra le jour et que d’ici là une communication plus transparente se mette en place… On peut toujours fabuler… Merci Steve





Lectures #3

17 12 2007

Et si c’était vraiEt si c’était vrai… (Marc Levy)

Tout le monde la déjà lu mais pas moi. Maintenant c’est fait et comme la plupart des lecteurs j’ai été conquis par ce roman. L’histoire menée avec rythme nous envoûte très rapidement. On se sent embarqué au fil des pages dans la vie de cet architecte pour qui tout va bien… Un peu de piment dans sa vie nous plonge dans des réflexions que l’on manque trop facilement au rythme où vont nos vies aujourd’hui.

Cette histoire n’a fait que confirmer une envie en moi…. Visiter la région de San Francisco et la côte jusqu’à Monterey…

Un roman qui se dévore et qui laisse un souvenir agréable… Un plaisir! De plus le personnage de Paul est réellement hilarent.

Le dictateur et le hamac

Le dictateur et le hamac (Daniel Pennac)

Mon premier roman de Pennac. Une histoire drôle dans tout les sens du terme. J’en ressors avec dans la tête une histoire confuse mais qui m’a fait passer un bon moment en compagnie du narrateur… dans son hamac. On est projeté dans les péripéties d’un président et de quelques-uns de ses sosies successifs lorsque lui-même se rend compte qu’il est agoraphobe…

Un humour que je n’avais encore que peu rencontré dans les livres… Décalé, délicieux.

Le meilleur des mondes

Le meilleur des mondes (Aldous Huxley)

Le meilleur des mondes se situe dans les romans d’anticipation. Ecrit après la guerre, ce roman décrit la vie dans un futur où les bébés ne sont plus conçus naturellement mais par un long processus régulé par des humains qui sont eux-mêmes des « humains » conditionnés depuis leur naissance. Pour que l’équilibre soit toujours de mise, un système de classe a été défini. On se retrouve alors à suivre la vie d’un homme de haute classe qui est quelque peu différend des autres… Il réfléchit, se pose des questions, aime être seul…

J’ai eu du mal à entrer réellement dans l’histoire mais finalement ce bouquin m’a plu. L’imagination de l’auteur est impressionnante… A quand les cinéma sentants? La distribution de soppor? La familiarisation à la mort?





Amazon Web Service

12 12 2007

Les applications aujourd’hui connectées à Internet peuvent interroger des services web afin d’obtenir des données externes aux objets de l’application. Il est ainsi possible d’interroger des miliers de bases de données en ligne.

Nous avions par exemple vu l’application Delicious Library. L’appel d’un service web se fait au moment où on lance une recherche à propos d’un média. En entrant un simple mot vous obtenez une liste de livre, cd, dvd ou encore de jeux vidéos correspondant à votre recherche. L’application utilise le service web de la plateforme amazon et par cet article je vais démontrer la facilité avec laquelle il est possible d’interroger se service web en Java. C’est parti!

Lire le reste de cette entrée »





Envie de rire un coup ?

26 11 2007

Pour certains c’est encore pire le lundi matin….





Java et le web 2.0

19 11 2007

Un article intéressante concernant java et les appels asynchrones est consultable sur developerwors.

 Il met bien à l’index les lacunes de l’architecture Servlet de Java en ce qui concerne le buzz du moment : le web 2.0. Mais ce qu’il y a d’intéressant c’est que l’article propose des pistes sur lesquelles se diriger lorsque l’on veut créer une gestion asynchrones de requêtes. Il est parlé entre autre de du projet Apache MINA , SEDA, mais également du pattern COMET. Très bon tour d’horizon et d’idées à consulter. Un benchmark est de plus utilisé afin de prouver l’apport des appels asynchrones par rapport à la démarche synchrone traditionnelle à Java. Il propose de nombreuses ressources; à aller consulter!

 Pour info l’article parle également de 2 solutions proposées par les conteneurs Tomcat et Jetty qui permettent une communication asynchrone : Apache Tomcat 6 Comet API et Jetty Continuations.