Des news...

Written by Fneuch on 19.12.06

Bon, enfin je donne des nouvelles...

J'ai pas écris depuis le 12 décembre. Gars indigne que je suis, j'avais même pas répondu au commentaire de mon chum Cro!

Mea Culpa!

C'est en bonne partie causé par le fait que je suis en grosse période d'adaptation à mon nouveau travail et à la nouvelle acquisition familiale : Google.

Mais pour me faire pardonner (ou plutôt ne pas les perdres...) voici 3 petits liens intéressant :

Peut être fort pratique si vous tombez dans la même situation: Using Facelets TagHandlers and Adding multiple listeners

Deux billets de Martin Fischer :



Et un petit utilitaire que je commence à tester...UMLGraph - Declarative Drawing of UML Diagrams

En espérant qu'on se rejase bientôt!

Tri d'une liste grace à une propriété de l'objet

Written by Fneuch on 12.12.06

Vous avez une liste d'objet et vous voulez la trier sans passer par la Base de donnée. Vous ne voulez pas non plus implémenter l'interface comparable car vous ne voulez pas utiliser toujours le même tri...

Faites vous un objet Comparator!

En voici un qui tri sur une propriété de type Integer. C'est un draft pour répondre à mes besoins, mais c'est pour le principe.

 

package com.fneuch.collections.functor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Comparator;
public class IntegerPropertyComparator implements Comparator {

private String nomPropriete;

/**
* Constructeur par défaut.
* Ne pas oubliez d'assigner la nom de la propriété à comparer avant d'utiliser
* le comparator.
*/
public IntegerPropertyComparator() {
}

/**
* Constructeur permettant de fournir immédiatement le nom de la propriété à
* comparer.
*
* @param nomPropriete le nom de la propriété à comparer.
*/
public IntegerPropertyComparator(String nomPropriete) {
this.setNomPropriete(nomPropriete);
}
/**
* Méthode privée permettant de regrouper en un seul endroit la récupération
* de la valeur entière recherchée.
*
* @throws java.lang.reflect.InvocationTargetException Lorsque l'invocation de la méthode est infructueuse
* @throws java.lang.IllegalAccessException Si la méthode n'est pas accessible (avec un statut private par exemple)
* @throws java.lang.NoSuchMethodException Si la méthode n'existe pas
* @return la valeur entière (int) retournée par la méthode demandée
* @param obj Sur quel objet fesons nous l'invocation de la méthode.
* @param methodName Le nom de la méthode à invoquer.
*/
private int getMethodValue(String methodName, Object obj)
throws NoSuchMethodException,
IllegalAccessException,
InvocationTargetException {
// Plus claire de travailler sur l'objet classe que sur obj.getClass()
Class classe = obj.getClass();
// Récupération de la méthode à invoquer
Method method1 = classe.getMethod(methodName, new Class[] {});
// Ce comparateur ne fonctionne que sur les Integer ou les types int
// retourne en type primitif int pour des raisons de simplicité.
return ((Integer)method1.invoke(obj, new Object[] {} )).intValue();
}

/**
* Effectue la comparaison sur la méthode fournis.
*
* @return <0 si l'objet1 est plus petit, >0 si l'objet1 est plus grand et 0 si les 2 objets sont égaux
* @param o1 Le premier objet à comparer
* @param o2 Le deuxième objet à comparer
*/
public int compare(Object o1, Object o2) {
// Le nom de la propriété ne peut pas être nul ou vide
if(this.nomPropriete == null && this.nomPropriete.trim().length() == 0) {
throw new IllegalStateException("Vous devez préciser un nom de propriété à comparer");
}
/*
* Étant donné qu'on ne connait pas l'objet et qu'on fonctionne par une
* propriété pour l'instant je me limite à vérifier l'assignation.
*
* Pourrait être améliorer pour vérifier la présence de la propriété afin de
* pouvoir comparer 2 objets totalement différents, tant qu'ils ont la même
* propriété.
*/
if(!(o1.getClass().isAssignableFrom(o2.getClass()) && o2.getClass().isAssignableFrom(o1.getClass()))) {
throw new ClassCastException("Impossible de comparer " + o1.getClass().getName()
+ " avec la classe " + o2.getClass().getName());
}

// OK, on cherche une méthode du style getNomPropriete
StringBuffer sb = new StringBuffer("get");
sb.append(this.nomPropriete.substring(0,1).toUpperCase());
sb.append(this.nomPropriete.substring(1));
String methodProperty = sb.toString();
// Pour la comparaison par la suite
int valeur1 ;
int valeur2;

// Les 2 try consécutifs servent uniquement à avoir un message d'exception
// plus précis
try {
// On récupère la valeur de l'objet 1
try {
valeur1 = getMethodValue(methodProperty, o1);
} catch (NoSuchMethodException nsfe) {
throw new IllegalStateException("La propriété " + this.nomPropriete
+ " n'existe pas dans l'objet "
+ o1.getClass().getName());
}
// On récupère la valeur de l'objet 2
try {
valeur2 = getMethodValue(methodProperty, o2);
} catch (NoSuchMethodException nsfe) {
throw new IllegalStateException("La propriété " + this.nomPropriete
+ " n'existe pas dans l'objet "
+ o2.getClass().getName());
}
} catch (IllegalAccessException iae) {
throw new ClassCastException("Impossible de comparer " + o1.getClass().getName()
+ " avec la classe " + o2.getClass().getName());
} catch (InvocationTargetException ite) {
throw new ClassCastException("Impossible de comparer " + o1.getClass().getName()
+ " avec la classe " + o2.getClass().getName());
}
// On fait la comparaison et retourne le résultat
return (valeur1 - valeur2);
}
/**
* Retourne le nom de la propriété qui sera comparé.
*
* @return le nom de la propriété
*/
public String getNomPropriete() {
return nomPropriete;
}
/**
* Assigne le nom de la propriété à comparer.
*
* @param nomPropriete le nom de la propriété
*/
public void setNomPropriete(String nomPropriete) {
this.nomPropriete = nomPropriete;
}
}


Et vous l'utilisez de la façon suivante:


Collections.sort(liste,new IntegerPropertyComparator("ordreAffichage"));


Et voilà, votre objet liste sera trié.

Tout ce que vous avez à faire c'est d'avoir une liste d'objets semblables qui contiennent la méthode getOrdreAffichage().

Java Platform, Standard Edition 6 Release

Written by Fneuch on 11.12.06

Et oui, vous avez bien lu le titre. La "Java SE 6" est sortie...

Mais que contient-elle cette nouvelle version?


  • une "stack" complète pour les web services (ceci était orignalement destinée dans la version 5, mais faute de temps...)

  • L'API pour le compilateur (Peut-être la meilleure nouvelle selon moi)

  • La version 4.0 de JDBC

  • La version finale de JAXB 2.0

  • Des annotations communes

  • Un api extensible pour "processer" les annotations (en quelque sorte, un moyen de faciliter le développement des annotations)

  • Et plein d'autre choses...



Évidement, on a pas encore fini de passer à la version 5. La plupart des M/O (Ministère, organisme et organisation) sont limité par la vitesse des serveurs d'application. Je n'embarquerai pas sur le sujet, mais dites-vous que les M/O sont content que les serveurs d'application prennent leurs temps. Sinon ça déferait toute leurs quantités incroyables de norme, et règle qui date de 1970... Mais que voulez-vous, il faut continuer de croire qu'un jour il y aura de l'espoir!

Java Platform, Standard Edition 6 Release

Maven Dashboard Plugin

Written by Fneuch on 8.12.06

L'auteur nous indique qu'il vient de terminer le plugin.

Ce plugin peut être très utiles puisqu'il combine plusieurs rapports qui de toutes façons, risque d'être intégrer dans votre pom...

Maven Dashboard

Getting started with JSF, Facelets, Eclipse WTP and Tomcat - TheArcMind.com

Written by Fneuch on 8.12.06

Bon petit tutoriel de départ...

Getting started with JSF, Facelets, Eclipse WTP and Tomcat

Pictures in the database using Hibernate

Written by Fneuch on 6.12.06

À conserver...
Jurgen Van Oosterwijck Blogs: Pictures in the database using Hibernate

Internet Explorer undocumented feature...

Written by Fneuch on 6.12.06

On avait un running gag quand j'étais au MSP sur les bogues d'Internet Explorer. On disait qu'il n'en avait aucun, c'était tous des "features" non-documentés.

Donc, si vous voulez connaitre les "undocumented features" allez voir :

Channel9 Wiki: InternetExplorerProgrammingBugs

À retenir

Written by Fneuch on 4.12.06

Ça pourrait être utile un jour ou l'autre.

Runnin an own LDAP with custom objectClasses

Archetype

Written by Fneuch on 4.12.06

Bruce Snyder de BruceBlog a écrit un billet qui répertorie plusieurs archetypes pour Maven. C'est à conserver...

Maven Web Application Archetypes Now Available

Probablement utile...

Written by Fneuch on 28.11.06

... pour tous ceux qui devront utiliser Hibernate 3.1 et Oracle!

Tel que J.-M. anciennement un gars que je surveillait pour ne pas qu'il fasse de niaiserie face au ministère et maintenant un collègue de consultation... Sans rancune Jean-Max, pour toute les foutus niaiseries que je pus te dire à propos des consultants...

Hibernate 3.1-something performance problems cont'd

Ça change pas le monde sauf que...

Written by Fneuch on 27.11.06

Et voilà, première journée d'un nouvel emploi!

Suis-je mort? Non!

Suis-je différent? Non!

Est-ce que la fin du monde est arrivée? Non!

Donc, pourquoi les gens tentent-ils de décourager toutes personnes voulant améliorer son sort en abandonnant le gouvernement pour aller dans une compagnie privée? Il est certain, que je suis jeune dans le métier de la consultation. Je ne peux pas en une seule journée être en mesure de conclure sur le sujet. Par contre, j'ai rencontré des personnes qui était dans la compagnie depuis 14 ans... Ça doit pas être si mortelle que ça!

Il est incroyable de voir comment les gens font tout pour décourager... Je disait au monde que j'aurais de meilleurs assurances qu'au gouvernement et eux me répondaient qu'en bout de ligne, je gagnerais moins chers ou a peu près le même pourcentage puisque les assurances ça coutent chères. Or, après en avoir discuté avec la personne responsable aujourd'hui, mes assurances me couteront seulement 35$ de moins par paye. Si on ramènent le tout en pourcentage, avec mon augmentation de salaire au privé, mes assurances me coutent donc maintenant environ 45$ de moins par paye gouvernementale pour un meilleur rendement. Une économie de 1200$ par année de paye gouvernementale...

Pourquoi notre société québecoise, (que dis-je, notre Nation Québecoise depuis aujourd'hui) s'entête à ne pas valoriser la réussite, l'effort, le désir de s'améliorer. On dirait que le petit peuple accèpte que ce soit seulement quelques élus qui aient le droit de s'améliorer. Si on regarde tous les messages véhiculés dans la société, l'état est la solution à tout! Les agriculteurs manques de sous, l'état va regler ça! Les gens n'ont plus d'argent à la retraite, l'état va regler ça! Étudier ça coute chère, l'état va regler ça! On dirait que le gouvernement, c'est un gros Loto-Québec et que tout le monde vas-y gagner... Moi le cave, j'abandonne ça! Trouvez moi un vrai nationaliste pour qui ça y dérange pas de voir le premier Ministre se faire construire une résidence de service à coup de millions, (ça fait du Québec une meilleur Nation) mais de voir que son voisin va abandonner la stucture québecoise, pour tenter d'améliorer son sort, crée une catastrophe! Et bien c'est un peu comme ça que je me suis senti au cours des dernières semaines! Et encore, plusieurs personnes sont convaincues que je vais y retourner au gouvernement après mon année sabbatique. C'est possible, mais pouvez-vous me laisser essayer avant de me dire que je vais échouer dans mon objectif de carrière...

Reconduisez cette même attitude avec un projet informatique et vous comprendrez pourquoi plus rien ne fonctionne au gouvernement! Il est impossible que quelqu'un veulent améliorer les façons de faire. La solution est déjà existante, et si un problème persiste, c'est facile, l'état va regler ça!

Bon, bref, après tout ce vidage de coeur, voici donc le méga scoop qui n'en est pas vraiment un!

Donc, depuis ce matin, 8h45, je suis maintenant un Nurunien... Non, ce n'est pas un extra-terestre mais bien une sorte de consultant. Ok, je travail pour :


Et je peux vous dire que pour l'instant, tout me satisfait. J'ai rencontré ma RDP (Responsable en Développement Personnel, ou du personnel me souviens plus) qui est fort sympathique. Je doit évidemment clarifier certaines choses avec eux quand à leur framework maison, mais tous ceux qui me connaissent savent que je suis "Corporate" et que je fait toujours tout en mon pouvoir pour améliorer l'organisation, jamais lui nuire.

Évidemment, il y a plusieurs choses que je ne maitrise pas et n'ai probablement pas encore compris. Par exemple, comment catégorisons nous tel type de travail, qu'est-ce qui est payé qu'est-ce qui ne l'est pas, comment tu fait pour tel ou tel choses, à qui doit-je m'adresser pour tel question, etc. Mais je peux déjà vous dire que l'intégration d'un petit nouveau est conçu pour tenter de lui imprégner un sentiment d'appartenance. J'ai pas fait des tonnes de ministère, je l'avoue, mais est-il vraiment possible de créer un sentiment d'appartenance au gouvernement? Si oui, tu le fait envers le Ministère ou envers l'État?

Plusieurs autres choses, par exemple, pour une fois, mon horaire est vraiment vérifier et les données entrées sont importantes (t'es pas payé sinon... lol) C'est pas juste un papier que tu rempli par obligation, que tu sais ne sert qu'une fois par année et encore, à ce moment là, c'est pas cette horaire là qu'ils utilisent, c'est un autre système. Ce qui fait que tu entres ton temps en double et en triple au gouvernement... Avec Nurun, tout les services sont accessible de partout, donc, je peux même attendre le soir pour entrer mon temps, mon compte de dépense, mes taches, etc. C'est normale, puisque les gens en mandat doivent pouvoir le faire de partout. Mais vous pouvez pas savoir comment ça va simplifier ma vie en comparaison à la feuille excel qu'on avait et au système de projet accessible seulement du réseau et de la tonne de permis que tu devais remplir... Et évidemment, le tout toujours synchronisé.

Bref, que du bon coté à venir jusqu'a date. Demain, je commence en regardant le code du framework maison, j'ai hate de voir toutes les évolutions depuis que je l'ai vu la dernière fois.

À partir de demain, je reviens dans mon monde. Je retombe à m'occuper plus de faire du technique/organique que me battre à faire avancer les choses comme je fesais dernièrement au gouvernement et qui, avec du recule, était épuisant. Je ne regrette rien, j'ai été content de faire ce que j'ai fait au MSP. Quand tu réussisais à changer ne serait-ce qu'une petite chose, tu étais fière! Mais ceci faisant, tu t'éloignes du techniques, et c'est à partir de demain que je vais réellement constater l'écart que j'ai pris. Si écart il y a!

La longueur de mes billets devrait revenir à la normale. Demain, je vais faire comme je faisait au ministère, vérifier du code qui ne m'appartient pas pour comprendre comment il fonctionne. Les rumeurs sur mon premier mandat font que je risque de faire de l'accompagnement pour un choix technologique. Je vais continuer en Java/J2EE pour toute l'année.

Bref, je reviens dans une vie qui est semblable à ma vie antérieur, celle de fonctionnaire. Simplement qu'on dirais que j'ai gagné le gros lot: bonne condition salariale, bons avantages sociaux!

En passant, gagner à la loterie, ça change pas le monde sauf que...

LA FIN DU MONDE EST PROCHE...

Written by Fneuch on 26.11.06

Demain c'est la fin du monde!

OK, j'en met peut-être plus que le client en demande... Ceux qui me connaissent le savent déjà (Donc, par le fait même une grande partie de mes lecteurs...lol). C'est simplement que demain, je commmence un nouvel emploi. Je quitte le ministère pour aller travailler pour une firme de consultation.

C'est une des premières fois que je doit admettre que j'ai de foutu bonne condition de travail au ministère, car je peux prendre une année sabbatique et tenter de me trouver quelque chose ailleur. Avez-vous déjà vu un employeur qui te dit vas-y, nous t'avons formé pendant 9 ans, nous t'avons donné une permanence, mais comme ça fait plus de 7 ans que tu travaille pour nous: vas-y, t'es pas obliger de revenir, mais si tu reviens, on va faire comme si t'étais pas parti!

Mais, pourquoi aie-je l'impression quand fesant ce changement, la fin du monde est arrivée? Tout le monde tente de me dire que je fait un mauvais choix... Tout le monde, non exception faite d'une petite bande d'irréductible qui travaille déjà là.

Et tout le monde ont de bonne raison de me dire de rester au gouvernement :
  • Tu as une permanence
  • Tu as 4 semaine de conger
  • Tu as plein de maladie (Tu pourras pu quitter pour tes enfants s'ils sont malades)
  • Tu vas être transférer d'une place à l'autre
  • Tu n'auras plus ton mot à dire
  • Tu vas travailler comme un fou (près de 90 heures par semaine j'ai déjà entendu)
Ça c'est tout ceux qui ne travaille pas pour une firme de consultation... Ceux qui travaille pour une firme de consultation eux te disent:
  • N'importe qui, mais pas cette firme là parce que...
  • Chez nous c'est ben mieux. Je peux te faire rentrer chez nous, envoie ton CV à ... ,
  • Y parait que tel affaire c'est pas payé!
  • Tu vas voir, tu va être obliger de...
Mais tu parle de leur firme a une autre firme et il te donne les mêmes raisons qu'ils ont invoqué... Bref, aucune firme n'est bonne aux yeux des firmes de consultation.

Est-ce la fin du monde de quitter le gouvernement? Est-ce la fin du monde d'être tanné:
  • d'avoir le plus petit salaire de tous ceux que tu connais, même si ça fait le plus longtemps que tu es sur le marché du travail.
  • d'être moins payé que l'autre à coter de toi qui fait rien, et que la seul raison qui justifie son salaire, c'est qu'il est permanent.
  • d'avoir à endurer les incohérences, surtout quand c'est ton argent qui est gaspiller (En passant, le gouvernement, c'est mon salaire, mais aussi mon argent.)
  • d'être l'employé le plus con sur la terre qui paye les 2 tiers de l'années pour être certain d'avoir un salaire le troisième tiers... On appele ça l'impot et c'est ce qui me paye...
  • que lorsqu'un projet n'abboutit pas, ce soit de ta faute, simplement parce qu'ils attendent que tu règles leurs problèmes les bras croisés!
  • qu'après 9 ans à tenter de faire avancer l'organisation, tu te fasses encore critiquer juste parce que tu prends des initiatives et que conventionnellement, ta classe d'emplois ne devrait pas en prendre...
  • de te faire regarder de haut par l'employé à coter de toi qui gagne plus chère que toi (il est dans une classe d'emplois différentes, genre un analyste) même s'il est plus jeune que toi et qu'il n'a encore rien fait dans l'organisation, jamais rien prouvé, jamais rien reglé, qu'il ne connait pas le sujet et ne maitrise pas la techno utilisé.
  • de te faire couper tous les projets en plein milieu, simplement parce que les priorités changent...
  • de te sentir obliger de faire avancer les dossiers parce qu'un consultant est dans le dossier et que tu sais que s'il ne travaille pas, c'est ton argent qui est gaspillé.
  • d'être obligé de justifier et d'expliquer 50 000 fois pourquoi ton application ne devrait pas être responsable de faire du failover si le serveur ne répond pas, il existe d'autre choses pour ça, c'est pas normale d'avoir à tout recodé quand il existe des solutions déjà toute faite qui le font... Et en passant, si les solutions coutent cher, des fois (pas toujours) ça signifie que c'est complexe, donc c'est pas le genre de bebelle que tu vas développer dans une application web contenant 4 formulaires...
  • de la foutu règle du 25 000$. Tous les clients donnent des contrats de moins de 25 000$ pour faire développer des applications de merdes par le petit gars du voisin et après ça, il viennent "dumper" ça sur ton bureau en te disant: "je comprends pas, ça marche pas ici!" Sacrement, c'est ben évident que tu réussiras pas à faire un système de géomatique avec une sécurité à toutes épreuves qui te permet de faire du "drag and drop" de ta BD Oracle dans l'interface pour faire une analyse automatisé des données, avec une fonction de failover et de load balancing, que l'interface va être en 12 langues et le tout pour moins de 25 000$!
  • d'avoir supposément la responsabilité de choisir les technos, les façons de faire, mais lorsque quelqu'un ne les respectes pas, t'aie pas un foutu mot à dire!
  • d'être plus reconnu dans tous les autres ministères/organisations que dans la tienne.
Je pense que je suis mieux d'arreter ici mes frustrations, parce que sinon, j'en ai pour la nuit.

Mais, je dois avoure sincèrement que je vais regretter mon monde. Je vous salue bien bas par ce billet! Y a une tradition au gouvernement qui veut qu'on fasse qqe chose pour le départ de qqu'un, c'est quasi-obligatoire. Aimé, pas aimé, tout le monde se pointe la face. Moi j'aurais fait un beigne café pour tout le monde, mais j'aurais fait un plus gros party avec ceux que je considère comme MON monde. Ceux qui me connaissent savent de qui je parle. (t'inquiètes pas Gilloux, t'en fait partie, t'as pas besoins de pleurer pour ça...lol). Mon boss (lui aussi fait partie de MON monde) m'a suggéré l'idée d'un beer/pizza dans nos locaux, ce que j'ai fort bien apprécié. Étant donné que c'était dans nos locaux, ceux qui n'était là que pour le décorum son resté 45 minutes, les autres, sont resté le temps que je prennes une autre bière (Et ce fût long, je l'ai fini 10 minutes avant la réunion de service avec le directeur.)

Bref, je remercie tous ceux du ministère que j'ai cotoyés et qui m'ont fait grandir. Je vais re-passé vous dire un gros bonjour, c'est certain.

P.S. Pour ce qui est de mon blogue, ça devrait pas changer grands choses mis à pars mon profile, je me donne le temps avant de changer quoi que ce soit (autre que mon profile. Je vous l'ai tu dis, mon profile, je vais le changer? Vous saurez donc bientôt pour qui je travaille.)

P.P.S. Attache ta tuque Cayer, j'arrive!

InfoQ: Making AspectJ development easier with AJDT

Written by Fneuch on 25.11.06

Bon tutorial sur l'utilisation d'AJDT.
InfoQ: Making AspectJ development easier with AJDT

Compas vs Hibernate pour Lucene

Written by Fneuch on 20.11.06

Ok, c'est pas vraiment un combat, mais semblerait-il que si on fait du sensationnalisme, on attire plus l'oeuil...

Non, sans blague, va juste falloir que je commence à m'interesser de plus en plus à Compass. L'intégration avec Spring/Hibernate/Lucene peut probablement donner quelque chose d'intéressant.

À lire!
Hibernate Search/Lucene

Un nouveau concept?

Written by Fneuch on 20.11.06

Il semble apparaitre un nouveau concept en modelisation objet, le "cocept-oriented programming"!

Je ne maitrise pas encore le concept... Mais, si vous voulez en avoir un exemple allez voir :
Creating concept instances

Et le point central des informations semblent être le site suivant:
The concept-oriented portal

Le saviez-vous?

Written by Fneuch on 13.11.06

Si vous n'êtes pas encore au courant, vous vivez sur une autre planète informatique...

Sun a libérer Java de sa licence! Et ce depuis aujourd'hui! Vous pouvez maintenant contribuez officiellement à la JDK... Enfin bref, pas vraiment à la JDK, plutôt à l'OpenJDK! Car Sun conserve le nom Java.

Pour vous aidez à comprendre, je vous ai déniché un beau petit billet (en français en plus) qui donne une bonne explication.

Tout le monde n'a pas eu le luxe de commencer en Open Source

Un problème avec le Layout de JDev?

Written by Fneuch on 13.11.06

Shay Smeltzer vous indique comment "resetter" le layout de JDev.

Where Did that JDeveloper Window Went To?

Petite explication sur les génériques

Written by Fneuch on 13.11.06

J'en parlait la semaine dernière avec un consultant, l'implémentation des génériques en Java cause plusieurs insatisfactions. La façon de faire que Sun à utilisé est quelque peut critiqué, mais très compréhensible lorsqu'on pense au nombre de lignes de code qui existe en Java comparativement aux nombre en C# lorsque les génériques ont été implémenté.

C'est ce que nous explique Neal Gafter dans l'article suivant:
Neal Gafter's blog: Reified Generics for Java

Accordez moi 4 secondes...

Written by Fneuch on 10.11.06

C'est le temps max que les gens attendent pour un site de vente...
Identify '4 Seconds' as the New Threshold of Acceptability for Retail Web Page Response Times

Pourquoi "iBatis" lorsqu'on peut "Hibernate"?

Written by Fneuch on 10.11.06

C'est la question que se pose ce bloggeur de chez IBM. Plusieurs bons exemples d'utilisation d'hibernate avec du SQL low-level!
Low level SQL with Hibernate

La vie est un adons!

Written by Fneuch on 10.11.06

Combien de fois avez vous eu un problème, une question ou seulement une discussion sur un sujet et que tout d'un coup, tout le reste ce mets à parler de votre problème/question/discussion?

Je sais pas si votre vie est ainsi, mais dans la mienne, c'est fréquent. Nous avions une discusstion sur JTA la semaine dernière pour une application qui doit se connecter à 2 BD. Il y a 2 semaines, mon collègue à développer un composant pour "switcher" de serveur web lorsqu'on est en dev, et on c'est dit qu'il faut faire la même chose pour la BD...

Depuis, je lis plein d'article sur la connectivité de 2 BD dans spring/hibernate...

Celui-ci me semble intéressant, enfin, pour le switcher de BD de dev dont je parlait. Reste à le tester...
Multiple DB with single SessionFactory in Hibernate (also starring Spring)

Si vous avez d'autres façons de faire, dites-le moi!

Spring in a nutshell

Written by Fneuch on 7.11.06

Je ne me souviens pas si j'en avait parlé, mais j'aime bien ce blogueur qui nous donne quelques truc avec spring... Ici, vous avez la partie 2 de sa partie 1...

Spring in a nutshell (part. 1 - IoC container 2)

Java Server Faces - The "Dummies" Guide

Written by Fneuch on 7.11.06

Un autre white paper d'Oracle, celui-ci sert à introduire JSF au personnes venant du monde Oracle Forms.

Grants Blog - Introducing Java Server Faces to 4GL Developers - The "Dummies" Guide

Pourquoi quand je lis les white papers d'oracle, j'ai toujours l'impression de lire une pub... J'ai rien contre Oracle, au contraire, mais si tu fait une introduction et que tu considère que c'est une introduction de JSF au programmeur 4GL, t'es pas obligé de "plugger" Oracle dans le premier paragraphe! T'es pas non plus obligé de dire que t'as techno qui ne pognait plus, "UIX", est un fondement solide de composant JSF... T'es pas non plus obligé de te nommé avant Apache pour dire que tu contribue à la communauté JSF, surtout quand tu t'auto-proclame: "one of the leading expert" alors que ta contribution est arrivé près d'un an après Tomahawk qui est ce qu'on pourrait considéré comme le "sandbox" de l'implémentation JSF MyFaces. Je sais que l'implémentation JSF dans JDeveloper a du potentiel pour ce qui est de l'éditeur visuel. Mais si tu fait une introduction, t'es pas obligé de plugger les features de ton éditeur surtout quand il bogue...

C'est de valeur, car beaucoup d'informations sont pertinentes dans les whites papers d'Oracle, mais il faut connaitre la techno pour savoir lesquels. Et comme il faut connaitre la techno, ça ne devient plus une introduction car nous devons être en mesure de déterminer qu'est-ce qui est une vérité, qu'est-ce qui est une pub...

JSF Components

Written by Fneuch on 6.11.06

Ah bon! Faudrait voir s'ils sont intéressant...
SourceForge.net: Files

Archiva

Written by Fneuch on 3.11.06

La première version du repository manager de Maven fait par la gang de Maven vient d'être rendu disponible.

Cette version est semble-t-il fonctionnel après l'avoir construit à partir des sources. Ne vous inquiétez pas, c'est fait avec Maven donc ça se résume en: maven install

Vous pourrez être sure que vous en aurez des nouvelles bientôt puisque nous avons l'intention de l'installer ici pour la tester rapidement...

Archiva - Maven Archiva

Ah foutu grippe...

Written by Fneuch on 2.11.06

J'écrit moins depuis une semaine car j'ai de la misère à survivre. J'ai une de c'est foutu grippe. Une vraie, une grippe d'HOMME! J'ai poussez des pointes de températures jusqu'à 102.8 Farenheit (un peu plus que 39 Celsius, désolé on a un vieux thermometre).

C'est ce qui fait que j'ai pas vu ben des news au moments où il sont sorti. La plus importante selon moi c'est :

Otaku, Cedric's weblog: Announcing TestNG 5.3

CAPTCHA

Written by Fneuch on 31.10.06

Il y a un mois, pour mois CAPTCHA, représentait cap-chat (Petit village près de Matane)! Bref, j'avait aucune idée de ce que c'était!

Après avoir vu une référence dans le code de quelqu'un, je me suis renseigné pour me rendre compte qu'il s'agissait d'un type de test visuelle pour confirmer que l'individu qui rempli le formulaire, est bel et bien un individu et non une machine...

Comme ce mécanisme peut être très utile à tous, je vous fournis donc un lien qui en parle et la suite de commentaire/suggestion/oppinion de gens qui l'utilisent. À vous de juger!
Coding Horror: CAPTCHA effectiveness

Combine JSF Facelets and the Flying Saucer XHTML Renderer

Written by Fneuch on 31.10.06

Peut-être utile plus tard!
java.net: Combine JSF Facelets and the Flying Saucer XHTML Renderer

Optimizing Page Load Time - die.net

Written by Fneuch on 31.10.06

Super intéressant...

Optimizing Page Load Time - die.net

Hibernate troubles...

Written by Fneuch on 31.10.06

Ok, peut-être que ça vous intéresse pour un problème présentement... Peut-être avez-vous déjà eu le même problème...

Mais une chose est sure, si vous êtes avertit d'avance, ça vous sera utile...

Hibernate Native Queries and Second Level Cache

Spring Live ~ Weblog

Written by Fneuch on 27.10.06

Juste pour souligner la sortie de Spring Web Flow.
Spring Live ~ Weblog

Site d'intéret...

Written by Fneuch on 26.10.06

Bon, tout le monde le sait, je ne fait pas encore d'Ajax.

Cela ne veut pas dire qu'on si intéresse pas et ça ne signifie pas non plus qu'on ne doit pas noter les sites qui en parlent.

Donc, pour une référence future:

Asynchronous JavaScript and XML (AJAX) with Java 2 Enterprise Edition

Integrating Maps into Your Java Web Application with Google Maps and Ajax

Written by Fneuch on 26.10.06

Article intéressant qui se révelera certainnement utile dans mon future...

java.net: Integrating Maps into Your Java Web Application with Google Maps and Ajax

The Iron Stool

Written by Fneuch on 24.10.06

Faut que je fasse lire ceci à beaucoup de monde du bureau!

Plusieurs personnes ont beaucoup de misère à comprendre qu'on peut pas tout avoir dans la vie... C'est une question d'équilibre!

Un peut comme un tabouret... un "stool"...

Coding Horror: The Iron Stool

Bon résumé

Written by Fneuch on 20.10.06

Overview of OSGi

Sans tambour ni clairon...

Written by Fneuch on 20.10.06

On en parle depuis quelques jours au bureau, mais nous n'avons vu à aucun endroit de méga présentation de la part du concepteur...

Mais de quoi je parle? Du lancement d'Internet Explorer 7.0! Celui-ci est sorti en anglais et est en "Release Candidate" en français.

Il est sorti et déjà controversé... Reste à voir ce que ça va vraiment donner...
Internet Explorer 7 : Accueil

Votre opinion ?

SDO, what is that?

Written by Fneuch on 19.10.06

Est-ce un nouveau buzzword ou quelque chose qui mérite une attention particulière?

SDO signifie Service Data Object. C'est une spécification qui permet de manipuler les données de façon déconnecté et en graphe.

Bref, il va probablement falloir suivre cette spécification...

What is SDO? - Open SOA Collaboration

La javadoc dans votre langue?

Written by Fneuch on 17.10.06

Sun fait une expérimentation, ils ont mis en ligne un site web contenant la javadoc dans la JRE. Jusque là, rien de bien nouveau...

La différence est dans la présentation, elle est beaucoup plus fencé et vous pouvez y contribuez! En effet, dans le style de wikipedia, vous pouvez vous-même traduire.

À voir...

The Documentation Web

Enfin l'accouchement...

Written by Fneuch on 17.10.06

Finalement, nous avons eu le OK...

Le OK de quoi? Mais de rien du tout. C'était un extrait du premier article officiel que je publie officiellement (c'est officiellement officel, sorry pour la redondance!) Cet article est la raison pour laquel je bloguais un peu moins ces temps-ci.

C'est le premier d'une série de plusieurs. Une série de combien, j'en ai aucune idée. Le but est de mettre sur papier (sur papier, ça fait drole à dire quand on parle du web, mettons plus par écrit) un peu d'expertise, de concept et tenter de quoi de nouveau.

Lorsqu'on est développeur, vient toujours un moment donné où tu dois tester des choses, te recycler, apprendre des nouvelles choses, faire différent. Si tu ne le fait pas, tu es dépassé, un meilleur s'impose et tu n'as qu'à suivre la voie après... J'ai pas le gout de ça, j'essaie donc d'effectuer quelques changements dans la façon de voir mon travail. La première est de publié des articles.

Journées dans un cycle de développement (Jour 1)

Vous vous en doutez certainement, les jours sont fictifs, c'est ma façon de numérotez les articles et d'imager les étapes dites "normales" d'un cycle de développement.

J'espère que cela vous plaira, je serais content de tout commentaire que vous me laisserez (même négatif, «à cheval donné on regarde pas la bride» comme on dit), vous pouvez me les laisser ici, ou à la suite de n'importe quel billet que je publie...

Sur ce, à la prochaine et bonne lecture!

Il y a de ces jours....

Written by Fneuch on 16.10.06

Définitivement, y a de ces jours.... vous savez, ces jours où on se demande si c'est pas organisé avec le gars des vues... Des jours où tu te dis : «C'est bizarre comment ça adonne ben!» ou «Coudonc, vous vous êtes passez le mot!»

Et bien c'est le feeling que j'avais aujourd'hui... Et pour terminer le tout ce soir, ma conjointe écoutant ses émissions (et après les filles ce plaigne d'être des veuves de l'ordinateurs... Il nous force a y aller en écoutant des téléromans!), je me suis dit que j'irais faire un tour sur mon ordi... J'ouvre mon lecteur de news favorit et je tombe sur 2 articles de 2 personnes différentes traitement du même sujet...
ça :

10 "Must Read" articles on AJAX, Accessibility and Web 2 technology

... et ça :

Today?s AJAX and DHTML Best Practices

Rien d'extra-ordinaire il est vrai. Le seul hic, c'est que j'ai passé une partie de la journée aujourd'hui à discuter de AJAX, de la raison pour laquel on ne le prends pas au ministère et j'ai même eu à déboguer qqu'un pour une question en javascript!

Si j'ajoute toute les autres évennements circonstantiels (qui n'ont aucun intérêt ici) que j'ai eu aujourd'hui, je me dit:

Ah ben coudonc... Ya de ces jours...

Si c'était à refaire...

Written by Fneuch on 16.10.06

J'ai déjà lu un article de M. Gosling qui disait que si c'était à refaire, il ne mettrais pas l'héritage dans java, seulement le fameux "implements". La raison en est très simple et elle est bien résumé ici :
Why you should use composition instead of inheritance

En soit, la solution est qu'en héritant, on ne contrôle pas ce qui se passe dans l'ancetre... Si nous avons un cas précis, nous devons "overrider" la méthode de l'objet parent... En extrapolant un peu, si les méthodes changes beaucoup, vous devez revenir à "overrider" tout l'objet (bon ok, j'exagère un peu...) La maintenance devient incontrolable...

La beauté de l'objet consiste justement à faire plusieurs objets pertinents...

Il vaut donc mieux faire un objet qui est composé de plusieurs autres petits qui font chacun un traitement très spécifique que de construire des gros objets en héritant d'un autre et lui ajouté les fonctionnalités supplémentaires désirées...

À relire plus tard...

Written by Fneuch on 12.10.06

17 heures 7, un peu trop tard pour me concentrer sur un article qui semble réellement intéressant.

Ça concerne Mule (Un ESB, si vous ne savez pas ce que c'est, lisez ceci) et SEDA. J'ai pas eu le temps de lire ce qu'était SEDA, mais de toute façon, à cette heure-ci j'ai pas la tête à cela.

Donc à relire plus tard...

InfoQ: Using SEDA to Ensure Service Availability

Seven Secrets of Successful Programmers

Written by Fneuch on 12.10.06

Souvent mentionné, tellement évident, mais rarement compilé dans un même endroit...

Merrion Computing Ltd - Seven Secrets of Successful Programmers

Appliquez-les, c'est primordial!

Why I start with Java?

Written by Fneuch on 12.10.06

Steve Zara nous explique pourquoi il a commencé avec Java. Sa critique est très constructive et représente beaucoup ce que je pense aussi.

On peut aussi s'en servir de base comme questionnement avant le choix d'un logiciel pour une organisation. Les critères énumérés sont primordiaux dans un choix éclairé.

Why I start with Java

Et vous, pourquoi avez vous choisi Java?

Sun's bad examples of coding?

Written by Fneuch on 11.10.06

À lire ceci, ça fait peur...

Vikram Goyal's Blog: Why are Sun's code examples such bad examples of coding?

The Value of Values

Written by Fneuch on 5.10.06

Petit commentaire intéressant... Tirez-en vos propres conclusions...
Confessions of a Lazy Programmer Part 7 - The Value of Values

GeoTools

Written by Fneuch on 2.10.06

Note personnel à revoir plus tard... Notre nouveau directeur nous parle beaucoup de géomatique...

GeoTools

Rodrigo Urubatan's Blog: AspectJ + Hibernate-Validator + JSF = Very easy to use validation for your web apps!

Written by Fneuch on 2.10.06

Exemple interessant!
Rodrigo Urubatan's Blog: AspectJ + Hibernate-Validator + JSF = Very easy to use validation for your web apps!

Encore sur Google...

Written by Fneuch on 2.10.06

JE VEUX TRAVAILLER POUR GOOGLE!!!

Je lisait le billet de Steve Yegge un employé de chez Google qui donne son opinion sur les méthos agile. Son point de vue est intéressant, mais c'est ce qu'il explique sur comment les gens travaillent chez Google qui est encore plus intéressant... Il font ce qu'il veulent (Ceux qui me connaissent pourrais dire la même chose de ma job, mais la comparaison s'arrete ici), ils sont valorisé à chaques livraisons (de plusieurs façons) et ils sont bien payés!


Stevey's Blog Rants: Good Agile, Bad Agile

Something looks... different.

Written by Fneuch on 2.10.06

Je cherchait en fin de semaine qqe choses sur quoi je pourrait blogger (bref, je lisait mes news!) et je ne trouvais rien d'intéressant.

Jusqu'à ce que je me dise: «Tiens, blogons donc sur Google encore une fois!»

Fusent un temps où j'utilisait Feedreader pour les mes news. Feedreader est un bon outil, parcontre, il ne fonctionne que sur Windows et il oblige l'installation d'un client sur la machine. Je sais qu'il existe des moyens pour transférer toutes les Feeds d'un client à l'autre, mais quand on n'arrive sur un nouvel ordi ou que ton ordi crash avant, tu n'as pas toujours en main la liste OPML nécessaire.

Je me suis donc mis à utiliser Google Reader afin de lire mes news. Il fonctionnait relativement bien, mais avait des lacunes. Il listait tous les nouveaux messages un en dessous de l'autre, sans aucune distinction de la provenance. Il permettait de mettre un label sur les feeds sans jamais en tenir compte. Bref, son seul avantage était la disponibilité constante, peut importe où j'était, peu importe le système d'exploitation utilisé.

Or, ils ont refait l'interface et maintenant, Google Reader est un lecteur RSS digne de ce nom...

Something looks... different.

Encore une fois, je peut dire : "Foutu Google, tu m'impressioneras toujours!"

Débuter avec Maven 2

Written by Fneuch on 2.10.06

Petit tutorial TRÈS simpliste sur Maven 2...
Débuter avec Maven 2

Maven 2, coooool! Oracle, grrrrrrr! Merde, y'est où Cayer?

Written by Fneuch on 29.9.06

De retour... Comme je vous disait précédemment, j'étais dans le jus depuis qu'un collègue a levé les feutres.

Voyez-vous, mon chum Cayer (celui qui a foutu le camps) était comme qui pourrait dire LE développeur sénior dans la boite. (Des fois je me demande si le terme sénior est nécéssaire, j'aurais simplement pu m'arrêter avec LE développeur et ça aurait été aussi vrai!) La relation de travail que j'avais avec Cayer me faisait pensé à un article sur lequel j'était tombé, qui tentait de définir ce qu'est un architecte... (Faudrait d'ailleur que je retrouve cette article, si vous mettez la main dessus.) Dans cette article, il y mentionnait qu'un «Software architect» n'est pas un «lead developper», mais qu'il en dépend beaucoup. Un bon architecte devrait être appuyé par un développeur sénior. Celui-ci est en mesure de mettre en oeuvre rapidement et efficacement ce que l'architecte conçoit. Et le développeur sénior devrait être en mesure de challenger l'architecte et de signifier toutes invraiscenblance dans l'utilisation/réalisation de l'architecture. Et c'est ce genre de relation que j'avais avec Cayer. Cayer étant assigné a des projets réelles, il faisait beaucoup plus de code que moi et par le fait même, était souvent beaucoup plus efficace à produire la première version que ce que moi je pouvait faire. Il produisait généralement du bon code qu'il me restait simplement à optimiser.(je t'écoeure Seb, tu travaillais quand même bien...lol) On a fait ensemble plusieurs modifications au plugin Maven2 de JDeveloper, plusieurs optimisations aux applications sur lesquel il travaillait. Nous avons trouvé plusieurs bugs dans les composant oracle et avons tout le temps trouvé des solutions pour corriger une foule de problème. Je ne me souviens pas le nombre de fois où j'était assis dans son bureau, on gossait sur un problème, je voyais une solution, je commençait à la taper, pis aussitôt qu'il avait compris ce que je voulais faire, il me re-piquait le clavier, finissait en moins de temps que ce que ça m'avait pris pour faire le début... Le nombre de fois où j'ai pu dire, faudrait quasiment qu'on fasse ceci ou qu'on s'arrange pour que tel chose aient tel valeur et lui de me dire, facile, on a juste à prendre ça, faire ça et le tour était jouer, on venait de faire un bon bout de chemin pour solutionner le problème qu'on avait. Mon boss, très compréhensif, savait que 80% du temps, si je suis pas dans mon bureau, va voir dans le bureau à Cayer, tu vas me trouver, et que j'était rarement là sans qu'on produise qqe chose de bien. Combien de fois j'ai pu dire: "Aie Cayer, tu peux tu me tester ça?" ou bien: "Tu te souviens-tu cayer, tsé tel problème, on avait fait tel affaire, t'as tu encore la/le doc/code, tu peux-tu me l'envoyer?" (ceux qui me connaisse savent que j'ai pas de mémoire, je me souviens juste où j'ai mis l'info, pas c'est quoi l'info...).

Or, il est parti. Et tout les test ou idées que j'ai, je doit les faire seul. Avant son départ, nous avons converti à Maven 2 toutes les applications sur lesquels il travaillait. Sans lui, ça aurait été impossible. Nous les avons toutes converties à un détail près, il nous fût impossible de pré-compiler les pages JSP. Le plugin jspc-maven-plugin de codehaus utilise les librairies de Tomcat pour faire la compilation. Il insère dans le fichier web.xml toutes les références nécessaire aux servlets ainsi créer (pour ceux qui ne le savent pas, JSP compilé = servlet). Or, OC4j n'aime pas ce genre de procéder. Celui-ci utilise un autre type de servlet pour faire de l'héritage lorsqu'il compile une page JSP. Bref, ça plante au run!

Mais joie, bonheur et allégresse, Oracle dans son infiniment bonté nous fournis un utilitaire pour compiler les pages JSP... Foutu merde... Cet utilitaire nommé OJSPC fonctionne en mode "command line" mais ne veux absolument rien savoir lorsqu'appelé depuis un code Java (Si vous trouvez comment, dites le moi, j'ai gosser pendant 2 semaines, j'ai même décompilé la classe pour copier le code utilisé sans aucun résultat!). Je me suis donc inspiré de la tache ant pour faire un plugin Maven 2 qui compile les pages JSP contenues dans une archive (ear ou war).

Ce plugin, je vous le rend disponible à l'adresse suivante : ojspc-maven-plugin. Vous y trouverez une documentation sommaire, les sources (si vous voulez le modifiez... J'aimerais bien que vous me faisiez parvenir vos modifs que je les intègre) et une archive que vous pouvez déziper dans votre répository Maven pour l'utilisé tel quel!

Le processus de création du plugin aurait été certainement plus rapide si mon ex-collègue Cayer avait été là! Mais là, ça devrait être rentré dans l'ordre, je devrais être de retour plus fréquent sur ce blog, je vais encore probablement m'ennuyer de Cayer dans mon dev, mais que voulez-vous, l'appat du gain a eu raison d'une franche camaraderie et d'une équipe efficace...

PS: Sent toi pas mal Cayer, je t'agasse, et par ce billet, je te rend réellement un hommage à ma façon... Je l'ai toujours dit, ça fait parti de ma job de chialer... ;)

Mort? Non, juste ben chargé...

Written by Fneuch on 26.9.06

Désolé de mon absence, je suis un peu chargé depuis que mon collègue à lever les feutres... Je gosse sur ben des petites choses qui font que j'ai le feeling que mes projets n'avance pas!

Mais, je vous pitch en rafale 3 petits articles sur JSF :



Itou, un article qui m'a fait sourire, une loi sur les droits des programmeurs qui me fait dire que si j'avais un bon salaire, ma job serait parfaite: Coding Horror: The Programmer's Bill of Rights

Et pour finir, jusqu'à ce que je vous revienne de façon plus assidu, prenez vous dix minutes pour aller voir la création du monde vu par ... un dieu informatitien! God

Struts2 sur InfoQ

Written by Fneuch on 20.9.06

InfoQ commence une série d'article sur Struts 2. À lire...

Migrating Struts Apps to Struts 2

To SOA or to plugins...

Written by Fneuch on 18.9.06

OK, j'en met un peu... Je compare pas 2 façons de faire ici là.

Je viens de tomber sur un article qui parle de JPF... Mais qu'est-ce que JPF? JPF est un acronyme pour désigner Java Plugin Framework.

C'est une idée qui me tracasse depuis longtemps, mais n'ayant pas les besoins, ni l'occasion, je ne mis était pas attardé. Et si on développait nos applications comme étant un ensemble de module qui s'attache entre eux! Rien de nouveau, c'est le concept de base du SOA (Service Oriented Architecture). La question est: pourrions nous utilisé un concept de plugins pour définir chacun des modules? Un peu comme le fait Maven mais vis-à-vis une application!

J'ai pas regardé vraiment ce qu'est Java Plugin Framework (JPF), mais ce qui semble bien c'est le concept de "registry". Ils sembleraient qu'on peut chargé ou déchargé des modules en cours d'applications...

Le concept est à étudier!

Recherche sur la recherche?

Written by Fneuch on 18.9.06

Je viens de tomber sur un article qui intègre Compass avec Spring. (CompassContext and Spring) Je me suis donc demandé ce qu'était Compass.

Une vérification sommaire m'a permis de constater que Compass est un engin de recherche construit sur Lucene. Je me demandais si quelqu'un parmis mes fameux lecteurs avait déjà utilisé ce composant? Si oui, quels sont les résultats de vos expérimentations? Dans quel contexte utilisé vous Compass?

Merci pour toutes informations fournies...

Un autre outil de log...

Written by Fneuch on 18.9.06

Un autre outil de log vient de sortir... est-ce utile? On verra!

Welcome to Log Bag

Part 2

Written by Fneuch on 18.9.06

Partie 2 de la comparaison Spring vs EJB.
Make the Right Decision with Our Side-by-Side Comparison of Spring and EJB 3.0, Part 2

Quelques news en retard...

Written by Fneuch on 15.9.06

Je suis un peu dans le jus, un de mes collègues termine aujourd'hui! L'organisation va s'en ressentir, c'est certain... (En tout cas, moi je vais m'ennuyer)

Jusqu'à son départ, on se dépèche pour terminer et faire une "release" de tout ce sur quoi il travaillait. J'ai donc un peu moins de temps pour me tenir au courant.

En attendant, voici donc en rafale quelques liens qui sont intéressant que je relirai quand j'aurai 2 minutes...

JAAS est le standard pour la sécurité dans les applications. Voici donc un article dans un environnement JEE et SOA.
Using JAAS in Java EE and SOA Environments

On en parle beaucoup dans la communauté pour les prochaines versions de Java, voici donc un autre article sur les closures.
Nominal Closures for Java (version 0.2)

2 articles un peu plus technique sur Hibernate et Spring.
Implementing an efficient Id generator with Spring framework
ONJava.com -- Don't Let Hibernate Steal Your Identity

Bon, sur ce, probablement à lundi!

Hibernate can meet your validation needs

Written by Fneuch on 14.9.06

Petit article intéressant sur les validations avec Hibernate.

Hibernate can meet your validation needs

En attendans Java SE 6

Written by Fneuch on 13.9.06

Tout le monde sait comment fonctionne les éditions java? Nous n'avons pas encore fini d'implanter la 5 que la 6 est en cours de réalisation et que la 7 est en planifications...

En attendant que la 6 soit réellement relaché, on peut tombé sur certains articles qui nous donnent une bonne idée de ce que ce sera.

Dont celui-ci, qui explique les MXBeans. Existe-t-il des différences d'avec les MBeans de Java 5? Aucnue idée! J'en fait pas assez de MBean pour le dire.

Si après avoir lù l'article, vous le savez, il serait intéressant de m'expliquer.

MXBeans in Java SE 6: Bundling Values Without Special JMX Client Configurations

Besoins de cluster?

Written by Fneuch on 13.9.06

Utilisé Terracotta sans changé une ligne de votre application, grâce à Spring...

Terracotta for Spring

Web 2.0

Written by Fneuch on 11.9.06

L'image est pourrie, l'auteur est sacadé, mais l'introduction est bonne...

Introduction to Semantic Web

AGILE /SCRUM Fails to get to grips with Human Psychology. - Clarety Consulting - IT Strategy Made Simple

Written by Fneuch on 11.9.06

Le billet que je viens de lire (AGILE /SCRUM Fails to get to grips with Human Psychology.) ainsi que les commentaires qui le suivent, me rapelle fortement les observations que j'ai pu faire au sein de notre organisation.

Pourquosse faire...

Pourquoi qu'à chaque fois en informatique, que quelqu'un tente de changer les façons de faire, les habitudes, il y en a toujours quelques un qui s'y opposent le démollissent, ne comprennent pas.

Je suis dans une organisation gouvernemental, tout est très hiérarchisé, très waterfall! Le directeur dirige, le chargé de projet à toutes les responsabilités de management, l'analyste analise et le technisien écrit le code que l'analyste lui demande...

Ça va faier bientôt 10 ans que je suis ici. Quand je suis arrivé, il n'y avait pas vraiment de méthodologie, le développement informatique s'effectuait selon les taches que j'ai décrit ci-haut. Les projets dépassaient les couts et les échéanciers, cela ne semblait pas catastrophique puisque ça continuait ainsi.

En 2004, nous avons tenté d'instaurer une méthodologie plus agile (une méthodologie développé au gouvernement). Cette méthodologie (sans nom) était un espèce de mixte entre du waterfall et de l'agile. On se disait que ça serait parfait pour changer une organisation qui croule sous le poid administratif. Il s'en est vu plusieurs pour critiquer. La méthodologie ne décrivait pas dans les moindres détails chacune des taches que chaques personnes devaient exécuter. On demandait au gens en place de réfléchir, on tentait de forcer les techniciens de sortir de leurs rôles de secrétaire de code qu'ils étaient. On demandait aux analystes d'arreté de concevoir tout dans les moindres détails en partant... On essayait de démontrer qu'il n'est pas toujours sein d'avoir placé la configuration exacte de toute les fenêtres d'écran avant d'avoir écrire une ligne de code...

On a aussi tenté de démontrer aux analystes qu'il existait des spécialisations en informatique. Que l'analyste n'était pas le maitre d'oeuvre de tout... Qu'un web designer est meilleur qu'un analyste pour la conception d'interface. Qu'un architecte organique est en meilleur position qu'eux pour définir l'architecture du système. Que le technicien devrait être en meilleur position qu'eux pour créer l'application. Les 2 premières personnes auraient probablement mieux passé que d'admettre que les techniciens étaient aussi important que les analystes...

Mais, l'humain étant ce qu'il est, l'implantation de cette méthodologie, sans dire que c'est un échec, fut un périple incroyable.

Nous pensons passé au RUP. J'ai confiance que ça peut marcher au sein de l'organisation. Le momentum est bon. On a de nouveaux directeurs qui connaissent mieux l'informatique. L'organisation reconnait que les spécialistes en informatique sont dans notre direction et non au communication. La grosse difficulté serait la direction en tant que tel!

En lisant l'article cité ici, je me rends compte que nous ne sommes pas les seules. Le monde entier ne comprends pas que la création d'une application ne fait pas partie du fabuleux monde de l'industrialisation... On ne crée pas une application comme on conçoit une bicyclette. Il n'y a pas de chaine de montage où chacun prends le morceux précédents, lui applique un traitement, et le passe au suivant et qu'en bout de ligne, 200 000 applications seront conçues d'ici la fin de l'année.

Pour avoir un succès, une application doit répondre en tout point au besoin d'un client. Je ne veux pas dire qu'il faut faire tout ce que le client demande. Je veux simplement dire, qu'au moment où on conçoit l'application, la présence du technicien peut être utile. C'est lui qui va la coder l'application. Si ce que le client demande est irréalisable d'un point de vu technique, on peut tu le savoir au début. Si l'interface que le client demande comporte des spécifications spéciales, on peut tu le savoir au début. Si l'interface que le designer pense, comporte des choses irréalisables, on peut tu en discuter en partant... Au lieu que l'analyste prenne tout en note, pense à son affaire tout seul dans son coin et se confronte par la suite au designer et au tech, on peut tu assoir tout le monde dans la même pièce, en discuter avec le client et décider ce que nous réaliserons...

Vous n'y voyez pas là les bases d'une méthodologie appelé SCRUM?

En conclusions, comme il est si bien dit dans les commentaires de l'articles, ce n'est pas Scrum ou Agile qui échoue, mais toutes les organisations qui ne sont pas en mesure de gérer le coté humain. Toutes les organisations fermés sur elle même n'utilisant qu'une seule façon de faire et se rébutants à tout changement sont définitivement voué à l'échec. Que ce soit en informatique, en industrie ou une compagnie de service, si vous ne voulez pas vous améliorer, vous mourrerez...

Pour M. Java...

Written by Fneuch on 8.9.06

Petit vidéo intéressant qui rend hommage à M. Java : James Gosling.

Tribute to James gosling

Getting Started With Spring 2.0 in Oracle JDeveloper

Written by Fneuch on 7.9.06

Spring 2.0 sort seulement le 26 septembre (date prévue pour l'instant) on trouve déjà plusieur tutoriel sur le sujet.

Selui-ci nous explique comment démarrer avec Spring 2.0 dans JDeveloper.

Getting Started With Spring 2.0 in Oracle JDeveloper

Spring, Axis et Acegi

Written by Fneuch on 7.9.06

Cet article explique comment développer un web service avec Apache Axis, Spring et Acegi.

Separation of Concerns in Web Service Implementations

Improving Code Quality with PMD and Eclipse

Written by Fneuch on 7.9.06

Petit tutorial sur l'utilisation de PMD avec Eclipse.

Improving Code Quality with PMD and Eclipse

JDev Working Sets

Written by Fneuch on 6.9.06

Pour ceux qui travaille encore avec JDeveloper :

Sharing Working Sets with your Team

Continuous Integration server

Written by Fneuch on 6.9.06

Petit article intéressant sur la comparaison entre les serveurs d'intégration continue.

Au bureau nous avons installé Continuum, pour sa simplicité et sa facilité d'intégration avec Maven.

Automation for the people: Choosing a Continuous Integration server

Contract-First Web Services with Apache Axis2

Written by Fneuch on 5.9.06

Petite introduction sur Axis2 d'apache.
Contract-First Web Services with Apache Axis2

The Pragmatic Programmers

Written by Fneuch on 5.9.06

Une liste intéressante de "tips" à lire pour tous les développeurs : The Pragmatic Programmers, LLC

JUnit 4 vs. TestNG

Written by Fneuch on 5.9.06

Grâce à Alex, (c'est lui qui a décidé que nous allions utiliser TestNG au bureau) nous commençons à nous intéresser à ce framework de test.

Une des premières choses que j'ai constaté en l'essayant (et je peux vous dire que ça saute aux yeux car je n'ai pas fait des tonnes de test) c'est la flexibilité de TestNG. Et j'ai pas découvert grands choses, car l'article suivant nous fait une comparaison entre TestNG et JUnit 4.0 et nous donne quelques comparaisons entre les 2...

In pursuit of code quality: JUnit 4 vs. TestNG

Encore la sécurité...

Written by Fneuch on 1.9.06

Ce coups-ci, c'est seulement qu'un livre parlant de sécurité vient d'être rendu disponible gratuitement en consultation sur le web.

Security Engineering - A Guide to Building Dependable Distributed Systems

Note personnelle

Written by Fneuch on 1.9.06

Kirill Grouchnikov présente une façon d'utiliser le SVG pour faire les UI d'une application Swing.

Va falloir que je tcheque le tout, question de savoir si y a pas qqe chose à faire pour le monde web. Gou, noter web-designer, nous a déjà fait quelques graphiques en SVG pour un site interne, et la grosse problématique de ce mode de fonctionnement, c'est qu'un client SVG doit être installer sur chacun des postes clients...

Je ne sais pas s'il existe une solution qui garderait le traitement du SVG du coté serveur, mais quand j'aurais deux minutes (ça peut être long avant que j'aille 2 minutes), j'y jetterai un oeil.
SVG and Java UIs part 3: using Batik for asynchronously-loading UIs

Utile...

Written by Fneuch on 1.9.06

Quel titre, c'est justement un hack pour les librairies "util.jars"...

Tout le monde à une librairie d'utilitaire, (si ce n'est pas encore fait, vous êtes en retard, je suis donc en retard) ce hack permet de changer le Main-class dans votre librairie d'utilitaire!

Cheap Hack I: rename your jar file, get a different Main-Class

Spring vs EJB 3.0

Written by Fneuch on 1.9.06

Dans le coin gauche, pesant version 1.0, le champion en titre : Spring... Dans le coin droit, pesant version 3.0, le nouveau prétendant: EJB!

Méchant combat de boxe.

Il s'agit en fait d'un premier article d'une série de 2 publier par Devx. Je vous vois déjà grimper sur vos grands chevaux par le fait qu'on compare des pommes avec des oranges. Mais l'auteur, Rod Coffin, en est très conscient. Avant de juger, lisez l'article qui est intéressant. Ce n'est pas une propagande pour l'un ou l'autre, spring ou EJB, il est objectif et donne des bons points pour le choix. Il conclut même en disant qu'il ne sont pas mutuellement exclusif, ce qui est vrai.

Donc, c'est à lire: Make the Right Decision with Our Side-by-Side Comparison of Spring and EJB 3.0

Pour fin de référence

Written by Fneuch on 30.8.06

Integrating the Google Web Toolkit with JSF using G4jsf

Developing applications with Facelets, JSF, and JSP

Written by Fneuch on 30.8.06

Bon article, il résume bien l'utilisation de JSF et de plusieurs composants/framework.

Même si c'est de Sun, il mentionne même les composants tel qu'Oracle ADF-Faces, MyFaces, Spring etc.

Bref, c'est un bon résumé de l'utilisation de JSF.

Developing applications with Facelets, JSF, and JSP

Stripes

Written by Fneuch on 28.8.06

Un autre framework, ce coup-ci, il s'oppose à struts. Il s'agit de Stripes!

Un framework basé sur les annotations. Il est dit plus simple, n'ayant besoins d'aucune configuration externe, supporte le AJAX.

À voir...

Petite note personnelle...

Written by Fneuch on 28.8.06

Petite note pour me permettre de retrouver le lien plus tard...


How to deploy a JDev 10.1.3 application to OracleAS 10.1.2

StrutsME

Written by Fneuch on 28.8.06

Un nouveau framework/utilitaire va faire son apparition. Je dit "va faire" car pour l'instan, aucune distribution n'est téléchargeable.

Il s'agit d'un framework permettant d'accèder à une application struts d'être accèder par un client J2ME. Les clients J2ME se retrouvent généralement sur les PDA, téléphones cellulaire et autres petits appareils.

Donc, pour ceux que ça intéresee jettez un oeuil sur StrutsME.

Pour tout bon programmeur...

Written by Fneuch on 24.8.06

Tout le monde devrait lire, comprendre et appliqué ces "Five Habits of Highly Profitable Software Developers"

Closure!

Written by Fneuch on 24.8.06

Je parlais dernièrement à quelqu'un de la rivalité entre le monde .Net et le monde Java. On discutait sur le fait que du coté de .Net la communauté semble plutôt fermé et que la situation est l'inverse du coté Java. Ce que je lui disait par contre, c'est que maintenant les deux communautés ont besoins de l'autre.

En effet, depuis que C# est arrivé, plusieurs améliorations sont arrivé dans le language Java. Ce ne sont pas toujours des choix faciles qui arrivent sans contreverse, mais il est sein de voir une évolution dans le language. Et l'inverse est aussi vrai! Java a emprunté des concepts à C# et C# ont emprunté certains concept de Java. Évidemment, à chaque fois qu'un concept est emprunté, il est amélioré, optimisé, corriger!

C'est encore une fois le cas avec la proposition d'ajouter des "Closure" et des "Functions" dans le language Java. C'est ce que nous explique (en quelque sorte) Rémi Forax dans son billet.

Closure and performance

Êtes vous un "présentateur"?

Written by Fneuch on 24.8.06

Il m'arrive d'avoir à faire des présentations. Si c'est votre cas aussi, vous serrez certainement intérressé par l'article suivant:

10 ways to give a bad presentation

Microsoft's Shared Source

Written by Fneuch on 24.8.06

Un petit comique a tenté de rendre vraiment Open Source Microsoft!

Une des licences de Microsoft, Microsoft Community License (Ms-CL), a été soumis à l'OSI, organisme qui régit les licences Open Source, par un programmeur indépendant. L'OSI ont contacté Microsoft qui a répondu pas tout de suite...

Est-ce que Microsoft vont vraiment rendre une licence Open Source? C'est une histoire à suivre!

Who Wants Microsoft's Shared Source to Be More Open?

.NET Framework 3.0

Written by Fneuch on 22.8.06

Moi pis mon chum Cro, on se picosse souvent sur Microsoft. (C'est plus souvent moi que lui qui pointe l'autre, mais ça lui arrive lui aussi!)

C'est d'ailleurs ensemble qu'on avait parti le projet Ocinine. C'est en .Net et c'est Cro qui m'a démelé sur ce qu'est le .Net (CLR vs Framework).

Mais, si Microsoft en vienne vraiment à désynchroniser les versions en changeant les noms, même les plus fervents supporteurs Microsoft (lire Cro ;)) vont être meler.

À un point tel, que des développeurs ont initié ceci: Developers Petition Microsoft to Rename .NET Framework 3.0

J'ai pas tout suivi la saga, mais c'est comme si du jours au lendemain, Sun arrivait avec un JEE8 avant que la JRE8 soit sortie. La JEE, Java Enterprise Edition, étant bien entendu un super ensemble de composant qui repose sur la machine virtuelle Java. Chaque JEE est supposé être optimisé pour utiliser les nouvelles "features" de la JRE. (Je sais qu'une JEE ne se limite pas à celà, ne grimper pas dans les rideaux!)

Si les développeurs .Net n'aiment pas le choix de Microsoft car ils croient tous que c'est confus, imaginez quelqu'un qui commence en .Net...

C'est d'après moi une saga qu'on n'a pas finit d'entendre parler.

P.S.: T'as vu Cro, j'ai pas utilisé un $... :P

Declare Variables Inside or Outside a Loop, that is the question!

Written by Fneuch on 22.8.06

Super bon billet! Dru démontre la différence entre déclarer une variable à l'intérieur ou à l'extérieur d'une loop...

À lire!

Declare Variables Inside or Outside a Loop

Pandora Internet Radio - Find New Music, Listen to Free Web Radio

Written by Fneuch on 22.8.06

Petite découverte intéressante...

Les postes de radio internet sont souvent intéressant, par contre il est plus intéressant encore de pouvoir donner un "rating" à sa musique...

D'où l'originalité de Pandora, j'ai aucune si ça fait longtemps que ça existe, mais c'est très intéressant...

J'y retournerai c'est sure!

Ah Google, google, google!

Written by Fneuch on 21.8.06

Au début i ly a eu le moteur de recherche, aucun doute ils ont révolutionné les façons de faire.

Ensuite il y a eu le courrier, signe qu'ils commençait à jouer dans les plates-bandes de Micro$oft Hotmail.

Ils ont fait quelques tests d'édition en ligne avec leur bloc-notes et leur blog. Voyant les possibilités, ils se sont dit :"Micro$oft attache ta tuque on arrive!" (Je sais pas s'ils se sont dit ça pour de vrai, mais avoué que c'est étrange...)

Et là, ça commence : un calendrier pour concurencer Outlook, un chiffrier pour concurrencer Excel, un éditeur de page web simple pour concurrencer Front Page, et la goute qui va faire déborder le vase : un traitement de texte pour concurrencer Word. Et tout ça gratuitement!

Le plus beau dans tout ça, c'est que t'as rien à installer. Tu peux collaborer avec tes amis, tu peux le publier sur un blog (un existant ou en créer un nouveau). Tu peux faire de la correction linguistique (En anglais évidemment), tu peux avoir une historique (une gestion des versions intégrés), tu peux voir ton document comme une page web, avoir un print-preview, un RSS pour les modifications de fichier, tu peux importer de Word, tu peux sauvegarder dans plusieurs formats (HTML, Word, RTF, Open Office, PDF)etc.


Bref, on peut faire ce que 90% du monde font avec un traitement de texte! Ils ont aussi intégré un système de TAG que j'ai pas vraiement eu le temps de tchequer.


Welcome to Writely!

Il veut ces T-Shirt...

Written by Fneuch on 20.8.06

Moi itou!

Roumen's Weblog

Code Reviews

Written by Fneuch on 17.8.06

La revision de code par les pairs est toujours un sujet mitigé. Autant dans les façons de faire que dans ce qui doit être reviser. Plusieurs personnes trouvent que que c'est une perte de temps de faire de la révision de code, d'autres pensent le contraire.

Il est à noté que la révision de code peut facilement mêttre en évidence très tôt des problèmes qui surviendront plus tard dû à une mauvaise codification.

Il n'est pas évident de mettre en place de la révision de code. Il n'est pas toujours possible d'arreter un projet et assoir plusieurs personnes autour d'une table pour reviser le code d'une personne. Il existe même une technique qui consiste à assoir 2 personnes devant un ordi pour faire de la révision en continu... Bref, il n'y a aucune bonne façon de faire ni aucune meilleur philosophie sur le sujet.

Par contre, il est toujours intéressant d'avoir les conclusions de personnes qui ont utilisées cette technique.
Code Reviews

Event-driven services...

Written by Fneuch on 16.8.06

Fait un bon bout de temps que je vois le concept se tramer dans la comunauté!

Ne vous méprenez pas, je ne vous parle pas de SOA. Bien que les concepts soient reliés, une architecture orienté service (SOA) N'EST PAS une architecture ESB. Par contre, l'inverse peut se dire...

Mais alors, qu'est-ce qu'une architecture ESB? ESB signifie : "Enterprise Service Bus". Un bus de service d'entreprise (pas très jolie en français) est une architecture logiciel qui fournis la base pour une SOA plus complexe. Le principe dans le ESB c'est que toutes interractions entre les services s'effectuent par le biais d'évennement et d'un moteur de messagerie XML (C'est ça le bus).

ESB est dit "agnostique" car il ne devrait pas s'appuyer sur aucuns languages et devrait être en mesure de communiquer à toute les applications (d'où l'importance des messages XML). Il ne faut pas non plus confondre avec BPEL, qui en soit n'est que le language d'exécution.

Bref, on en entend parler depuis des lunes mais n'ayant jamais eu la nécessité de part mon travail de m'y aventurer, je ne m'y était jamais pleinement intéresser.

Hors, je viens de me rendre compte que le concept est très avancé, vous pouvez même en télécharger une version!

Deviner qui est derrière ce framework : CodeHaus! (Pour ceux qui ne savent pas qui sont codehaus, ce sont ceux qui héberge une grand partie des plugins de maven.)

Vous pouvez donc y voir Mule!

Et si vous voulez seulement avoir une introduction, javaworld nous présente un article.
Event-driven services in SOA

Pour Maxime!

Written by Fneuch on 16.8.06

Notre petit stagiaire vient de se partir un blog : MaXimO Nation, et se pose plein de question sur les possibilités et les façons de faire. Moi pis Gou ça fait un bail qu'on blogue et on en a essayer des bidules. Plusieurs que vous avez vu passer ici, d'autre qu'on a tester sur des blogs de test.

Les blogs, c'est un peu comme en programmation, ce qui est testé et découvert par les anciens servent de base pour les nouveaux. Moi et Gou, on est pas les seuls à blogger. Il y en a du monde qui ont trouvé des tonnes de façons de faire. À un point tel qu'il existe un wicki pour les regrouper. De cette façons, les jeunes peuvent prendre les techniques des anciens, les améliorer et en faire de nouvelle.

Vous pouvez donc en trouver quelques un sur :
Bloggerhacks. Je n'ai pas fait le tour, mais si j'en trouve qui m'intéresse, vous trouverez peut-être des nouveautés sur mon blog.

Generic converter for domain model in JSF

Written by Fneuch on 16.8.06

Technique intéressante!
Generic converter for domain model in JSF

Sécurité, sécurité, quand tu nous tiens...

Written by Fneuch on 16.8.06

La sécurité, ça s'applique partout!

Même avec AJAX. Greg Murray nous explique comment : Restricting Access to your AJAX Services

Seven deadly sins

Written by Fneuch on 16.8.06


Seven deadly sins
Seven ways to win
Seven holy paths to hell
And your trip begins

Seven downward slopes
Seven bloodied hopes
Seven are your burning fires
Seven your desires.....
Iron Maiden: Seventh Son Of A Seventh Son lyrics


J'ai toujours trippé sur cette toune! L'album était "full concept". Quand j'ai lu le titre de ces 2 articles, j'ai tout de suite pensé à Maiden.

Donc, 2 billet que tous développeurs devrait lire.

Le premier, un peu plus conceptuel, parle de 7 péchés rencontrés lors du développement d'un logiciel.
7 Deadly Sins of Software Development

Le deuxième, plus technique, relate des problèmes dans le désign de code. Bien que le billet donne des exemples en .Net, essayez de comprendre le message et vous verrez que ça s'applique fortement au gens qui programme en Java...
Seven deadly sins of programming - Sin #1

2 petites vites de Nimphius

Written by Fneuch on 16.8.06

Frank Nimphius (un des bons de la sécurité J2EE chez Oracle) a écrit 2 petits billets sur la sécurité.

Le premier, rend accessible un LoginModule bidon. C'est excellent quand le but de votre application n'est pas de tester la sécurité, mais que vous devez avoir un utilisateur authentifier.
Security: JAAS Login Module

Le deuxième, c'est son commentaire sur le livre : JAAS in Action.

JAAS resources

Foutu Québec!

Written by Fneuch on 14.8.06

Le film le plus révolutionnaire de l'année d'un point de vue technique (et probablement l'histoire la plus fuckée itou) ne passe pas dans la région...

Je rage, je voulais vraiment le voir...

A Scanner Darkly

Pour Max: je viens de te faire mentir, je parle pas toujours de techno sur mon blog... lol!

Ah, les idoles...

Written by Fneuch on 14.8.06

Tout programmeur, un jour, rêve d'être LE programmeur de quelques choses. Un genre de James Gosling, Greg Stein, Martin Fowler ou tous les autres grands de ce monde (Celui qui a parti JBoss, Spring, etc)... Bre, une personne influente dans la communauté.

Ce principe ne s'applique pas seulement à l'informatique, je sais!

Mais, quand est-il de la compagnie qui engage cette "Superstar"? Steven Schuurman, d'Interface21 nous donne son opinion.
Working with Enterprise Software Superstars

La bonne métho!

Written by Fneuch on 14.8.06

Utiliser vous la bonne méthodologie de développement?

Vous allez voir que les tendances sont aux méthos agiles.
InfoQ: Survey: The State of Agile in Practice

The trouble with rounding floating point numbers | The Register

Written by Fneuch on 14.8.06

Article que je veux relire. Les calcules en virgules flottantes sont le cauchemar du siècle.

The trouble with rounding floating point numbers

Êtes-vous pour ou contre GWT?

Written by Fneuch on 14.8.06

Je ne suis ni opur ni contre (quoique j'ai tendance à idolatrer Google, ils sont cools...) mais l'auteur ne semble pas être chaux avec le nouveau Google Web toolkit (GWT).

Il faut quand même lire l'article car plusieurs questions qu'il se pose sont justifiées. Est-ce que GWT est l'avenir du développement d'application?

C'est à lire : Will Google Web Toolkit Matter?

XSS, Cookies, and Session ID Authentication ? Three Ingredients for a Successful Hack > The XSS Vulnerability

Written by Fneuch on 14.8.06

Article TRÈS intéressant sur l'utilisation d'un site externe pour "Hacker" une application Web.

Cet article est un "MUST" pour toutes personnes qui développent en mode Web. On se doit d'être toujours en mesure de prévenir les attaques possibles. Et pour les prévenir, il faut les connaître!

Donc, lisez : The XSS Vulnerability

JPedal

Written by Fneuch on 14.8.06

Ok, le titre du projet est poche, mais la librairie semble intéressante...

Donc si vous avez besoins de manipuler des pdf en java vous pouvez toujours essayez JPedal!

BeanView

Written by Fneuch on 14.8.06

À étudier plus tard.
Attainware » BeanView

Satya Komatineni's Blog: Reflections on the importance of HTML prototyping for IT

Written by Fneuch on 14.8.06

Bref, il veut un Thierry!
Satya Komatineni's Blog: Reflections on the importance of HTML prototyping for IT

Tant qu'a y être!

Written by Fneuch on 13.8.06

Fait longtemps que les gens se demande comment appliqué le modèle ailleurs!

On sait parcontre, qu'où il y a de l'homme, il y a de l'hommerie... Donc, c'est certain qu'on risque de se faire arnaqué! Mais, si ce n'était du paiement mensuel, l'idée, d'après moi, pourrait fonctionner!

Mais de quoi je parle? Et bien voici donc une idée originale :
The Original Open Source Company

Bonne fête!!!

Written by Fneuch on 12.8.06

Je suis tombé sur un billet de Roman Strobl ce matin qui m'a rappelé que le PC à 25 ans aujourd'hui. (Premier PC le 12 aout 1981)

Sur le billet de Roman, il y mentionne le nom de M. Ballmer.

A chaque fois que je pense à Ballmer, j'ai toujours envie de rire. Pour ceux qui ne connaissent pas l'histoire de Microsoft, Ballmer est le premier directeur engagé par Bill . Si vous voulez connaitre l'origine de Microsoft, vous devriez voir le film : Pirates of Silicon Valley (1999) (TV)

Bref, je disait donc que Ballmer me fait toujours rire. N'oubliez pas, il est le nouveau numéro un chez Microsoft. Il a longtemps joué un rôle décisionnel intense dans la compagnie. En le voyant, on ne se pose plus de question, nous savons pourquoi Microsoft en arrache autant de nos jours.

Vous pensez que j'exagère... Je vous présente donc M. Steven A. Ballmer :

Premièrement, il est quelqu'un de dévoué à son produit. À un point tel qu'il le vent lui-même! Voici donc la première pub de Windows

Deuxièmement, il est quelqu'un qui se soucis de son monde... Il participe souvent à des journées techniques. Pour y avoir souvent participé, je peux vous dire que ces journées constituent souvent de grande publicité durant 2 ou 3 jours. Quand tu vas dans ces journées, il faut en prendre et en laisser. Ces journées sont souvent "developer centered" car plus t'as de monde qui développe dans tes technos, plus t'as de produit sur le marché et plus les gens risques d'acheter un de tes produits... Steve connait ce principe et encourage donc fortement son monde! Vive les Developers

Maintenant que vous avez plein de produit sur le marché, vous devez avoir des publicistes... Il faut que la planète entière sache que vous avez autant de produit. Vive les Advertiser

Et pourquoi est-ce qu'un homme autant dévoué pour Microsoft encourage des publicistes quand il peut le faire lui-même? Voyez donc Windows 2000 propaganda! Vous remarquerez encore une des techniques de Microsoft pour vendre ces produits... Faites peurs au monde, comme ça ils vont acheter de vos produits... Dénigrer le concurrent! Parce que si un client achète le concurrent, il va se rendre compte qu'il n'est pas si mauvais. Donc faite peur au client comme ça il n'achètera pas chez le concurrent.

La plus grosse joke du siècle chez Microsoft, c'est Apple! Pour ceux qui ne le savent pas encore, Microsoft est en partie propriétaire d'Apple... Microsoft et Apple ont diraient un couple homme-femme, je vous explique :

Voici l'opinion de Bill envers Apple au tout début : What Bill tought of Apple

Après que Bill aie piqué Apple pour faire Windows : Jobs on Microsoft

Et maintenant ils sont revenu ensemble: Ballmer at MacWorld (Encore une fois, Ballmer fait un fou de lui)

Mais, on peut pas être fou tout le temps. Et je termine ce billet sur Steve Ballmer en vous partageant son opinion sur les blogs

Le PC à 25 ans aujourd'hui et Microsoft à toujours fait partie de cette histoire...

Bonne fête PC!

Message Driven POJOs!

Written by Fneuch on 11.8.06

Nous savons tous que Spring 2.0 est supposé être merveilleux, fantastique, simple, puissant, rapide, magnifique...

Mais qu'en est-il vraiment? Un autre aperçu du nouveau Spring 2.0: Message Driven POJOs!

Woodstox - Home

Written by Fneuch on 10.8.06

Pas le temps de le regarder, donc note à moi-même pour revoir plus tard...

Woodstox - Home

ANT, encore en vie?

Written by Fneuch on 10.8.06

S't'une blague! Je sais très bien qu'Ant est encore très populaire. (Mais commence être temps que vous songer à Maven 2)

Alors pour les vieux de la vieille qui utilise encore Ant :Ant 1.7: Using Antlibs

Becoming Attached to SOAP

Written by Fneuch on 10.8.06

Interessant article sur la façon d'attacher des pièces jointes dans un fichier XML dans le but de faire un message SOAP.
Becoming Attached to SOAP

Simplifying Enterprise Applications with Spring 2.0 and AspectJ

Written by Fneuch on 9.8.06

Un article que je doit absolument lire bientôt (tente pas vraiment ce soir).
InfoQ: Simplifying Enterprise Applications with Spring 2.0 and AspectJ

Websites as Graphs

Written by Fneuch on 9.8.06

Capoté!

Le site quit suit vous permet de voir votre site web sous forme de graphe. Vous entrez l'URL du site à visiter, un applet s'ouvre et vous montre toute la structure du site sous forme de graphe. Vous y verrez des ronds de couleurs apparaitrent. Si vous voulez connaitre leur signification, regardez la légende sous le graphe.

En passant, si vous voyez une majorité de point rouge apparaitre, c'est probablement parce que vous faites du web comme on en faisait il y a 10 ans... en tableau! Vous pouvez faire un essais avec mon blog, chercher le rouge! C'est ça un pro... lol. Faut donner le crédit à celui qui m'a enseigner. Essayez la même chose avec le site à Gou! Vous pouvez aussi l'essayer avec le site du ministère qui m'emploi. (Le site est géré par la direction des communications)

Bref, des heures de plaisir!

Websites as graphs - an HTML DOM Visualizer Applet

Interview with Sun's Tim Bray and Radia Perlman - Part 1: Web history and future, P2P

Written by Fneuch on 9.8.06

Première d'une série de je ne sais combien.
Richard MacManus interview 2 personnes importantes influentes chez Sun: Tim Bray, Directeur des technologies Web, et Radia
Perlman
, Ingénieure spécialisé en réseaux et sécurité.

L'interview est intéressante, la suite le sera probablement plus. Il vont discuté du Web 2.0... C'est à lire!

Interview with Sun's Tim Bray and Radia Perlman - Part 1: Web history and future, P2P

Boiling oceans

Written by Fneuch on 9.8.06

M. Java (James Gosling) décrit dans son dernier billet une réalité commune à plusieurs développement de système: Le premier pas!

Lisez-le, vous vous y retrouverez j'en suis certain!

James Gosling: on the Java Road

2 nouveautés chez Oracle

Written by Fneuch on 8.8.06

Oracle dans leur tendance à être de tous les fronts et tous faire depuis leur BD, nous arrive avec 2 nouvelles options que vous pouvez vous procurer pour un magnifique petit supplément... (Un peu de sarcasme, désolé!)


Premièrement, avec cette outil, les DBA ne voit plus le contenu, seulement le contenant... Oracle Database Vault

Et en parlant de contenu, voici maintenant qu'Oracle se lance dans la melée des gestionnaire de contenu avec leur
Oracle Content Database

The Java XML Validation API

Written by Fneuch on 8.8.06

Petit article d'IBM démontrant comment valider un schéma XML avec l'API de Java.

The Java XML Validation API

Pragmatic Service-Oriented Architecture: Introducing the WOA/Client

Written by Fneuch on 8.8.06

Est-ce un nouveau buzzword WOA, Web-Oriented Architecture? Je vais devoir m'y penché un peu avant de répondre à cette question.

En attendant, voici une introduction.

Pragmatic Service-Oriented Architecture: Introducing the WOA/Client

Ten Common Misconceptions About Spring... - O'Reilly ONJava Blog

Written by Fneuch on 8.8.06

Article très intéressant et instructif sur le site d'O'Reilly:

Ten Common Misconceptions About Spring...

Microsoft: Open source is too complex

Written by Fneuch on 8.8.06

Est-ce que Microsoft perd encore des plumes faces à son plus grand compétiteur (Linux)?

Je ne sais pas où en est rendu la guerre des OS, mais Microsoft critique encore contre Linux. Dans cette article : Microsoft: Open source is too complex, Microsoft laisse sous-entendre qu'il est plus facile d'offrir du support avec Microsoft qu'avec toutes les distributions de Linux.

En contrepartie, Microsoft qui trouve que l'open source est trop complexe, a ouvert un programme pour aider les ISV à transferer leur produit Linux sur Microsoft: NXT.

Y voyer vous une façon de faier habituelle à Microsoft? Sortir un produit pour ammener le monde chez vous et par la suite criez haut et fort, que la solution concurrente est mauvaise! Pensez-vous que j'exagère, pensez seulemep à JUMP qui permet de convertir vos application Java en .Net et la quantité de publicité qui disait que C# est meilleurs que Java.

Le "buzzword" SOA

Written by Fneuch on 8.8.06

Je viens de voir un site qui parle de "Service Oriented Architecture".

L'auteur présente 2 séries d'articles ("Principles of service-orientation" et "Business analysis and SOA") sur le SOA ainsi que le "top 5 SOA adoption pitfalls"

SOA Advisor

To be or not to be... a "Checked Exception"

Written by Fneuch on 7.8.06

Très bon article résumant quelques principes sur la déclaration des Exceptions en Java.
Declared Unchecked Exception: The Best of Both Worlds

Encore une nouvelle feature mal supportée!

Written by Fneuch on 7.8.06

Avec Tiger (J2SE 5.0) Java a introduit la notion d'Enum
Par contre, il semble que cette notion ne soit pas applicable à toute les composantes de la jdk.
Voici donc comment faire pour encoder les Enum dans le XMLEncoder:

How to encode Enums?

MyEclipse 5.0 est sortie!

Written by Fneuch on 7.8.06

La nouvelle version de MyEclipse vient de sortir.

Elle se base sur le nouveau Eclipse Callisto.

À voir : MyEclipse 5.0

RUP dans un ministère?

Written by Fneuch on 7.8.06

Dans le cadre de mon travail, il m'arrive souvent d'avoir à répondre à toute sorte de question.

Nous évaluons, ces temps-ci, la possibilité d'utiliser RUP dans le cadre de nos activités de développement. Nous avons un projet pilote et avons donné à une firme externe le mandat de faire l'architecture du système.

L'analyste chez nous, bien que très compétent, ne connaît pas la méthodologie RUP. (On ne peut tout connaître, faut pas t'en vouloir Jean-Claude! ;) ) La firme devait lui donner l'information nécessaire pour être en mesure de faire un parallèle avec ce qu'il connaît. Mais, tout le monde le sait, une firme est contrainte par le temps. Semblerait donc que la firme n'aura peut-être pas le temps de le faire!

Comment faire dans ce cas pour déterminer si la documentation fournie est correcte? On demande son opinion à votre humble serviteur!

Je me suis dit que cette réponse serait probablement utile à plusieurs, alors voilà...

Avant de déterminer si une architecture est bonne ou non, il faut premièrement se mettre en contexte. Quest-ce que le RUP? Premièrement, RUP signifie Rational Unified Process. Une bonne définition se trouve sur le site de Wikipedia

Comme vous pouvez voir, RUP divise le développement d'une application en 4 grandes phases:
* Inception Phase
* Elaboration Phase
* Construction Phase
* Transition Phase

Vous pouvez trouvez sur le net plusieurs explications sur les 4 phases du RUP. Mais, j'aime bien celle-ci: Rational Unified Process Whitepaper: Best Practices for Software Development Teams, car elle situe l'architecture d'un système.

J'ai aussi mis sur ma page d'articles, 2 pdf qui aide à définir ce qu'est le RUP.
   Le premier, RUP vs XP, donne une explication sommaire du RUP et une comparaison TRÈS sommaire avec XP (Extreme Programming).
   Le deuxième (beaucoup plus intéressant), More RUP anti-patterns est plus une explication par quelqu'un qui l'utilise. Ce que j'aime dans ce document, c'est qu'il donne une explication claire, pour aider à comprendre le but derrière chaque phases du RUP.

Bon, après vous avoir mis Jean-Claude en contexte du RUP (et par le fait même, vous cher lecteur), il est temps de commencer à répondre à la question: Est-ce que la documentation fournie est correcte? Et bien, si vous avez-bien lu les informations que je vous ai fournis sur le RUP, vous devez vous doutez qu'il est presque impossible de déterminer si la documentation d'architecture fournie est suffisante.

Par contre, je vais vous aider à y répondre en définissant ce qu'est une architecture de système. Pour ce faire, je vous ai déniché une série de 4 articles très pertinent sur le site d'IBM.


Si quand vous lisez les 4 articles, vous êtes en mesure de voir votre architecture, et bien, elle est probablement suffisante.

Il est a noté, quand vous regardez RUP, que l'architecture n'est jamais vraiment arrêté à 100%.

Qui suis-je ?

Je suis un "accro" de Java: que vous parliez de programmation, ou de café! Je suis architecte organique pour une compagnie de consultation à Québec.

PLAYSTATION®Network

Utiliser vous Twitter?

Twitter Updates

Blog Archive