Archive pour la catégorie 'Au travail'

Une revue scientifique intelligente

Lundi 12 novembre 2007

Je viens de découvrir à travers ce billet sur linuxfr.org un excellent article dans le Journal of Machine Learning Research, intitulé The Need for Open Source Software in Machine Learning, publié par 16 scientifiques qui explicite l’importance du Logiciel Libre dans la recherche scientifique.

Dans le même temps, le journal fait appel à des communications présentant des logiciels libres du domaine. Ces logiciels libres seront ensuite référencés sur une page du site du journal consacrée.

Elle est pas belle la vie :-)

Introspection et types paramétrés en Java

Mardi 19 juin 2007

Plusieurs fois déjà, j’ai eu recours à l’introspection pour extraire la structure de donnée encapsulée dans une classe Java. Avec quelques méthodes classiques des classes Class et Field, on réussit à extraire pas mal de chose :

  1. Dans un objet de type Class, getDeclaredFields permet d’obtenir la liste des attributs de cette classe, et getSuperclass permet de naviguer dans les classes parentes de l’arbre d’héritage pour récupérer les attributs hérités.
  2. Dans un objet de type Field, getName() donne le nom de cet attribut et getDeclaringClass donne son type déclaré (l’instance pouvant être d’un type héritant de ce type déclaré).

Viennent ensuite les types paramétrés qui contiennent de l’information supplémentaire sur la structure de données. En effet un attribut de type List<integer></integer>, ne sera considéré que comme un attribut de type List avec les méthodes précédentes. Or, le fait que cette liste contiennent des entiers est une information importante. De même un attribut de type List<list <MaClasse>></list>, n’est pas une vulgaire liste, mais bien un élément complexe de la structure de donnée. Il est donc important de bien gérer ces types paramétrés lors d’une telle introspection.

(more…)