Le prix Turing 2008 pour Barbara Liskov
Posted On vendredi 13 mars 2009 at à 08:26 by ehsavoie
Félicitations à Mme Liskov célèbre pour le principe de programmation objet qui porte son nom publié en 1987 :
If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2, then S is a subtype of T.
Voici la nouvelle originale en français publiée sur Linuxfr.org.- Le principe de substitution de Liskov
- The Liskov Substitution Principle for "Duck-Typed" Languages
Netbeans 10 ans déjà
Posted On jeudi 16 octobre 2008 at à 07:02 by ehsavoie
Cela fait 10 ans que Netbeans existe :o))
Je regarde en arrière et je me rends compte à quel point le temps a passé.
Le temps où avoir 512 Mo de RAM sur un PC était un luxe. Eclipse n'existait pas et on avait VisualAge écrit en Smalltalk. Ça ramait dans tous les sens, les EJB 2.0 et 2.1 nous faisaient des misères, ....
Joyeux anniversaire Netbeans, pour télécharger ça se passe ici
Master he is breathing
Posted On lundi 13 octobre 2008 at à 00:43 by ehsavoie
Et oui le voilà, il est tout beau, il est tout chaud notre premier plugin Maven est enfin sorti en version 1.0.
J'espère que vous allez tous pouvoir en profiter :o))
Ça se passe ici.
Créer une référence JNDI sur une BasiDataSource
Posted On mercredi 9 avril 2008 at à 23:36 by ehsavoie InitialContext ic = new InitialContext(); |
Java2html |
Mock mock mock
Posted On mercredi 12 mars 2008 at à 02:24 by ehsavoieComment tester une application J2EE 1.3 (et oui :-(( ) hors conteneur. Heureusement que l'on trouve pas mal de projets sympathiques sur le web :
- Je conseille fortement Mock Javamail pour tester l'envoi et la réception de mail, il est très très simple d'utilisation et facilite grandement la vie.
- L'implémentation FileSystem de JNDI permet d'avoir un espace de nommage très facilement.
- Enfin pour la partie plus J2EE j'ai utilisé Mockrunner même si les factories ne sont pas compatibles JNDI et qu'il faille ajouter une instance d'ObjectFactory.
Sans oublié les classes de tests de base que fournit Spring et qui sont un plaisir notamment pour les DAOs).
Si on couple tout cela à EasyMock on est capable de faire du TDD correctement.
Groovy et Jonas
Posted On mardi 5 février 2008 at à 02:17 by ehsavoieJ'ai enfin réussi à faire comprendre l'intérêt de l'intégration continue et d'un outil comme Hudson auprès de mes voisins. Mais tout n'était pas si simple :o(( car alors on m'a gentiment expliqué qu'ici on utilise JOnAS.
Et là surprise JOnAS utilise ASM 1.5.3 qui est fortement incompatible avec ASM 2.2 utilisé par Groovy et donc Hudson.
Pour que tout fonctionne bien il faut ajouter un fichier jonas-web.xml dans le répertoire WEB-INF d'Hudson avec le contenu magique suivant :
<?xml version="1.0" encoding="ISO-8859-1"?>
<jonas-web-app xmlns="http://www.objectweb.org/jonas/ns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.objectweb.org/jonas/ns
http://www.objectweb.org/jonas/ns/jonas-web-app_4_0.xsd">
<java2-delegation-model>false</java2-delegation-model>
</jonas-web-app>
J'imagine que cela s'applique aussi pour Grails.
PS: voici la jolie exception que l'on récupérait
2008-02-05 09:47:36,929 : StandardContext.filterStart : Exception starting filter authentication-filter
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:213)
at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:691)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:885)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:436)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:289)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:488)
at groovy.lang.GroovyShell.parse(GroovyShell.java:500)
at groovy.lang.GroovyShell.parse(GroovyShell.java:480)
at groovy.lang.GroovyShell.parse(GroovyShell.java:539)
at hudson.util.spring.BeanBuilder.parse(BeanBuilder.java:133)
at hudson.security.HudsonFilter.init(HudsonFilter.java:62)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:223)
Java et X11
Posted On jeudi 29 novembre 2007 at à 05:06 by ehsavoieIl n'y a pas à dire, développer sous un véritable OS change beaucoup de choses.
On a remarqué récemment sous Windows nos collègues mettaient plus de deux fois plus de temps à construire le projet que sous Linux; Et encore je ne parle pas des problèmes d'anti-virus quand on n'est pas administrateur du poste.
Mais hélas parfois notre petit pingouin pose des soucis spécifiques notamment avec X11.
Voici donc une petite astuce lorsque l'on se trouve avec l'erreur suivante:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
Il ne suffit pas de définir la variable d'environnement DISPLAY mais aussi autoriser les connexions au serveur X grâce à a commande magique suivante :
xhost +localhost +LOCAL:all
