Archive pour juin 2007

Un rasoir solide

Vendredi 22 juin 2007

Alors voilà, pendant longtemps, j’ai eu un rasoir qu’on trouve en super-marché. Un de ces trucs qui doit vous rendre super viril (en ai-je besoin franchement ;-) ), dont le manche censé être sorti d’un laboratoire de conception est voué à être réutilisé, et on ne doit changer que la tête contenant les lames. Au final, ce manche n’est qu’un vulgaire bout de plastique, et la tête n’a rien de standard (c’est du propriétaire en somme), ce qui vous oblige à acheter toujours les mêmes lames.

Étant donné le prix de ces jeux de lames, je me suis tourné vers des rasoirs jetables pour essayer de trouver quelquechose d’un peu mieux. L’avantage est que je ne me sentais plus attaché à un modèle, et j’en ai essayé quelques uns. Mais voilà, ça reste tout de même cher, et surtout polluant. Car à chaque jeu de lame usé, on jette le manche en plus. Ce n’est pas négligeable.

Après tout ce temps, et une bonne quantité de bouts de plastique finissant dans ma poubelle, je me suis mis en quête d’une autre solution … Mon critère étant de trouver quelque chose de solide, donc durable, donc moins polluant (cette dernière déduction n’est pas systématiquement vraie, mais ne chipotons pas s’il vous plaît).

(more…)

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…)

Greffon anti-spam

Mardi 12 juin 2007

Bon, on ne peut pas dire que j’aligne les billets en ce moment … Par contre, je suis spammé dans les commentaires de mes billets. Ces commentaires n’apparaissent pas car ils doivent d’abord passer par une étape de modération manuelle. Mais, c’est tout de même rébarbatif de devoir les vérifier avant de les supprimer !

C’est pour ça que j’ai voulu mettre en place un anti-spam. J’ai vaguement cherché sur le site de wordpress, mais je n’ai pas trouvé grand chose. En fait, je cherchais quelquechose de simple, pour moi et pour l’utilisateur. J’ai alors trouvé le greffon comment-policy qui demande simplement de cocher une case pour que le commentaire soit pris en compte.

C’est donc à partir de cette méthode, que j’ai créé mon propre plugin qui ne fait rien qu’ajouter un champ dans le formulaire de saisie d’un commentaire. Pour que le commentaire soit valide, il faut laisser le champ vide. J’ai déjà vu cette méthode sur d’autres sites, et ça me paraît pas mal. Je verrai à l’usage.

En attendant, si ça vous intéresse vous pouvez le télécharger pour voir à quoi ça ressemble (rien de bien sorcier), et pourquoi pas l’essayer.