Le blog du Pere-nono

mercredi 29 février 2012

Billet d'humeur : Que privilégier?

Dans nos métiers, ils nous faut souvent concilier maintenance et nouveautés mais comment faire?

Lire la suite

vendredi 19 novembre 2010

Les designs patterns

J'ai appelé cela "Les designs patterns" mais j'aurai plutôt du appeler cela "entretien comique". Et oui tout commence avec un entretien. Face à moi une personne avec beaucoup d'expériences et un beau CV mais qui semble ancré dans le passé pantalon et veste velours d'un autre temps. La personne se dit sûr d'elle et me dit connaitre juste MVC en design pattern. Questionnement : vous devez bien en connaitre d'autres singleton et fabrique ( qui reste les plus connus ). Et là me dit oui il s'agit de réduire l'allocation mémoire :S Ok pour le singleton mais la fabrique est loin du compte.

Cela m'a questionné et je me suis dis qu'il était peut être utile de revenir sur ce patron au combien utile pour ceux qui souhaitent construire une application modulaire. L'exemple le plus connu est l'ouverture d'une connexion JDBC :

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", connectionProps);

DriverManager est justement une factory, elle va par l'appel à la méthode getConnection renvoyer en fonction de l'URL et des drivers chargés créer et renvoyer une instance de la classe fille de Connection. On aura ainsi si on attaque une base Oracle ou Sql Server pas la même instance d'objet mais comme elles héritent toutes de la classe Connection on va pouvoir les utiliser de manière indifférenciée.

Ce que nous venons de voir est bien l'utilisation la plus standard des fabriques. Il existe des dérivées dont une pour la gestion des pools qui va en plus d'instancier de manière masquée les objets en contrôlera aussi le nombre mais il ne s'agit pas du véritable patron "fabrique".

Si je dois conclure concernant cet entretien: avant de tenir tête à la personne en fasse mieux vaut tourner sept fois sa langue dans sa bouche et chercher à comprendre où elle veut en venir!

Quelques liens utiles :
http://gfx.developpez.com/tutoriel/conception/pattern/fabrique/

http://abrillant.developpez.com/tutoriel/java/design/pattern/introduction/

samedi 23 octobre 2010

Critique de livre : "Référencez votre site avec Google" aux édition Micro Application

Après une dizaine d'années à exploiter mon site j'ai voulu me repencher sur la question du referencement. J'avais réussi à l'époque à obtenir une bonne visibilité sur les moteurs mais tout ces efforts ont été inutiles quand je perdais l'utilisation du domaine pere-nono.com et que je dus tout recommencer avec pere-nono.net. Dans ces années quelques règles permettaient de bien se faire referencer :

  • avoir du contenu
  • avoir des liens vers son site
  • avoir bien rempli la balise meta "keyword"

Ce n'est plus aussi simple et j'ai voulu au travers d'un livre le plus simple et court possible découvrir les techniques actuelles. Ce que j'ai trouvé à travers ce livre :

Le rôle d'initiation de ce livre est rempli. On découvre les points que toute personne qui souhaite référencer son site doit connaître. On prend aussi conscience de toute les techniques pouvant être associées à de la fraude et entrainer l'exclusion.
Le texte est clair, concis, illustré mais il contient aussi des references techniques au html qui me semble de trop. On aura aussi du mal à comprendre la section fiche qui contient beaucoup de fiches inutiles tel que "installer firefox", "créer une adresse GMail", ... On sort ainsi avec la desagreable sensation que le livre initial était trop court et que des pages ont été rajouté à la vite ce qui est dommage au vu de tout le travail de synthèse qui a été fait et qui vous ouvrira les yeux sur tout le travail que nécéssite un référencement de qualité.

dimanche 26 septembre 2010

Distributed Source Control Management

Considéré par beaucoup comme l'avenir des SCM classique ( CVS / SUbversion / ... ) il ne se contente plus de synchronizer les fichiers avec un serveur central mais transforme tout les postes à la fois en client et serveur ce qui permet d'être plus résistant à des pannes réseaux ou d'une machine.

Une présentation très intéressante au JUG de Lyon a permit de comparer les deux outils gratuits les plus utilisés : GIT et Mercurial. On s'apercoit vite lors de la présentation qu'effectivement les concepts sont intéressants et que les deux systèmes sont très proches. Seuls les intégrations dans les IDE et OS différent vraiment avec un leger avantage à Mercurial tout particulièrement en environnement Windows. Personnellement j'en retiendrai surtout la possibilité de pouvoir utiliser une hierarchie de serveur permettant par exemple aux developpeurs de commiter leurs sources vers les architectes qui vont pouvoir vérifier et se porter garant du bon fonctionnement et commiterons à ce moment sur les serveurs utilisé pour générer les versions de production et patch.
Un autre aspect qui est souvent associé à ces systèmes est la gestion des branches qui est censé être beaucoup plus souple mais la demonstration ne m'a permis de me faire une idée. Le moteur et l'utilisation semble plus simple mais je n'ai pas particulièrement l'impression que cela change grand chose.
Il est en tout cas très aisé de passer de SVN/CVS à ces systèmes grâce à de nombreux outils qui permettent le transfert tout en conservant l'historique.

Maintenant le système peut poser plusieurs problèmes :

_le stockage ne se fait pas par différenciel comme avec CVS et SVN ( les intervenants annoncent que l'espace de stockage n'est pas plus important grace à des algorithmes très étudiés ),

_il pousse à travailler plus longtemps avant de commiter réellement sur le serveur ( ce qui peut augmenter la difficulté des merges ).

En tout cas cette présenation dont je remercie les intervenants m'a permis de mieux comprendre cette technologie mais elle souleve aussi de nombreuse questions pour lesquels il faudra que je me fasse ma propre idée.

A tout ceux qui ont des retours d'expérience je suis preneur d'entamer un dialogue