Paris JUG "Holly Cummins"

Le Paris JUG accueille pour sa séance du mois de juin un invité de marque, en la personne de Holly Cummins.

Holly présentera deux séances ce soir :

  • Java Performance Tuning - not so scary after all
  • OSGi and the Enterprise: A match made in a… box?

Vous trouverez ci-dessous une retranscription en temps réel de la conférence, sous la forme d'une Wave. N'hésitez pas à participer !
(PS : Google Wave est désormais en accès libre, si vous n'avez pas de compte il vous suffit de vous inscrire !)

Lire la suite...

Java Quiz #38

Can you help the poor Exception to escape the Matrix ?
Beware, the Agents are nearby and will spot you if you attempt in any way to modify or remove the existing lines of code ! (but you may add new ones).

  1. public class Matrix {
  2. public static void getTheSpoon() {
  3. throw new java.lang.NoSuchMethodException("There is no spoon !");
  4. }
  5. }
  1. public class Test {
  2. public static void main(String[] args) {
  3. try {
  4. Matrix.getTheSpoon();
  5. } catch (Exception ex) {
  6. System.out.println(ex instanceof java.lang.NoSuchMethodException ? "You passed the Quiz !" : "You failed !");
  7. }
  8. }
  9. }
Lire la suite...

Java Quiz #37

Voici un nouveau quiz, pour bien finir le mois de mai avant d'entamer ce beau mois de juin.

La classe ColoredPoint ci-dessous pose un problème assez subtil. Lequel ?

  1. public class Point {
  2. private int x;
  3. private int y;
  4.  
  5. public Point(int x, int y) {
  6. this.x = x;
  7. this.y = y;
  8. }
  9.  
  10. public boolean equals(Object o) {
  11. if (this == o) { return true; }
  12. if (!(o instanceof Point)) { return false; }
  13.  
  14. final Point point = (Point) o;
  15. return (x == point.x && y == point.y);
  16. }
  17.  
  18. public int hashCode() {
  19. int result = x;
  20. result = 31 * result + y;
  21. return result;
  22. }
  23. }
  24.  
  25. public class ColoredPoint extends Point {
  26. private Color color;
  27.  
  28. public ColoredPoint(int x, int y, Color color) {
  29. super(x, y);
  30. this.color = color;
  31. }
  32.  
  33. public boolean equals(Object o) {
  34. if (this == o) { return true; }
  35. if (!(o instanceof ColoredPoint && super.equals(o))) {
  36. return false;
  37. }
  38.  
  39. final ColoredPoint point = (ColoredPoint) o;
  40. return (color == null ? (point.color == null) : color.equals(point.color));
  41. }
  42.  
  43. public int hashCode() {
  44. int result = super.hashCode();
  45. result = 31 * result + (color != null ? color.hashCode() : 0);
  46. return result;
  47. }
  48. }
Lire la suite...

Et le gagnant du concours est...

La semaine dernière, il était possible de concourir pour gagner un livre au choix : Pragmatic Programmer ou Clean Code.

Après tirage au sort, la gagnante est Florence. Félicitations !

Why I Don't Read Your Comments - Votre avis ?

Il y a deux semaines, j'étais en Crète en compagnie des meilleurs experts Java (Michael Hunger d'Allemagne, Larry Presswood des USA, Herman Lintvelt pour l'Afrique du Sud, David Gomez pour l'Espagne, et David Hallett pour la Nouvelle-Zélande), pour suivre le séminaire de certification des formateurs du Java Specialist Master Course, sous la houlette du Champion Java Heinz Kabutz.

Nous en avons profité pour enregistrer un webinar intitulé "Why I Don't Read Your Code Comments", dans lequel nous confrontons nos avis quant aux bonnes et mauvaises pratiques relatives aux commentaires de code (et pas de blagues sur mon accent anglais :). Heinz avait déjà défriché le terrain dans sa newsletter n°39, mais il était intéressant d'avoir des avis supplémentaires.

Je me tourne donc vers vous à mon tour, pour recueillir vos témoignages :

  • Quelles sont vos bonnes pratiques personnelles ?
  • Quelles sont les meilleurs et pires commentaires que vous ayez vus / écrits ?
  • Que faut-il commenter ? Est-ce une perte de temps ?
  • Quels conseils donneriez-vous à un développeur débutant ?

Cadeau bonus : gagnez au choix Pragmatic Programmer ou Clean Code.
Pour participer au tirage au sort qui aura lieu ce week-end, il suffit de laisser un commentaire intelligent sur ce billet et d'habiter la France métropolitaine. Le gagnant sera contacté par l'email associé à son commentaire.

Java Specialist Master Course

Chers lecteurs, si nous n'avez plus de nouvelles depuis deux semaines, c'est normal : je reviens tout juste de Crète, où j'ai suivi une formation très spéciale : le Java Specialist Master Course.
Pendant une semaine, j'ai étudié les arcanes de Java sous la houlette du Java Champion Heinz Kabutz, en compagnie de quelques pointures internationales.
Nous en avons également profité pour enregistrer un petit "webinar" intutilé "Why I don't read your comments", où nous confrontons nos points de vue sur les commentaires dans le code.

Je vous le dis tout de suite, cette formation est réservée à des développeurs déjà très expérimentés.
Le contenu est très dense, et les travaux pratiques offrent un challenge certain. Pour vous donner une idée, c'est à peu près du niveau des fameuses java specialist's newsletters. Débutants, passez votre chemin...

La bonne nouvelle en revanche, c'est que je suis désormais certifié pour l'animer en Français !
Si vous n'avez pas peur du challenge, allez vite vous inscrire à la session de juin chez Zenika ; je vous promets qu'on passera une semaine sympa et très intéressante !

Lire la suite...

Gestion des fenêtres modales avec Wicket

Le framework web Wicket fournit un composant ModalWindow permettant de gérer des fenêtres modales.
Dans cet article, nous verrons comment le mettre en oeuvre, au travers de cas d'utilisation de plus en plus complexes.

Lire la suite...

Google Wave Embedded : Mise à jour

Google a récemment (et sans prévenir) changé son API permettant d'intégrer des Waves sur des sites.
Rien de méchant, car cela concerne surtout les options graphiques, mais cela a suffi pour empêcher mes compte-rendus de conférence de s'afficher correctement : à la place, il n'y avait plus que du blanc... J'ai donc fouillé un peu pour trouver d'où cela pouvait venir.
Vous trouverez ci-dessous les nouvelles instructions détaillées.

Et puis, j'en profite pour vous annoncer la bonne nouvelle : il est maintenant possible de consulter les Waves intégrées sans posséder de compte Wave !
C'était la principale critique remontée à Google, et elle a visiblement été écoutée. Par contre, la modification de la Wave est toujours réservée aux utilisateurs authentifiés.

Lire la suite...

Paris JUG "Scala"

Le Paris JUG d'avril a pour thème le langage de programmation Scala.
Il se tiendra le mardi 13 à partir de 19h30, dans les locaux de l'ISEP.

Au programme :

  • 19h15 à 19h30 : Accueil
  • 19h30 à 20h15 : Scala, par Sadek Drobi
  • 20h20 à 20h35 : Surprise de Belgique
  • 20h35 à 21h15 : Buffet
  • 21h15 à 22h00: Scala par la Pratique, par Romain Maton et Nicolas Jozwiak

Si je parviens à trouver un accès internet, vous pourrez suivre la conférence en temps réel sur la Wave ci-dessous. Elle sera ouverte en écriture lors de la conférence, pour que vous puissiez poster vos commentaires et questions.

EDIT : Le mode "embedded" semble capricieux aujourd'hui, et certaines Waves ne s'affichent plus.
Je vous recommande donc de suivre la conférence depuis votre client web à cette adresse : wave #A9AMCKoIA

EDIT 2 : J'ai trouvé pourquoi les Waves intégrées ne fonctionnaient plus : ces farceurs de Google ont sournoisement changé l'API... J'ai réparé tout ça, vous devriez pouvoir les consulter à nouveau. Je ferai un billet sur toute cette affaire prochainement, pour expliquer la nouvelle manière d'intégrer les Waves.
Et comme d'habitude, les lecteurs ne possédant pas de compte Wave peuvent lire la transcription textuelle de la conférence, tout en bas de cet article.

Lire la suite...

Venez aider le Torréfacteur !

Je veux vous parler d'une initiative intéressante qui est en train de se mettre en place : le site du Torréfacteur.
Il vise à traduire en français un maximum de ressources sur le développement Java / Groovy / etc., pour aider les développeurs ne maîtrisant pas l'anglais.

Tout article intéressant est potentiellement un bon candidat à la traduction ; les tutoriaux officiels de chez Sun Oracle pourraient constituer un bon début.
Bien sûr, il est nécessaire d'obtenir préalablement la permission de l'auteur de l'article original et de le citer dans l'article.

Si vous trouvez l'idée intéressante et que vous souhaitez contribuer, vous pouvez contacter Jocelyn LECOMTE sur le site !

- page 2 de 26 -

Archives

Contacts

Olivier Croisier : mail, site
HollyDays : mail
Wikio - Top des blogs - Logiciels libres