Il y a 10 ans -
Temps de lecture 5 minutes
Revue de Presse Xebia
La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.
Agilité
The Battle : Priorisation using MoSCoW vs Kano Analysis
Lors d’une récente formation j’ai eu à décrire le modèle Kano, outil parmi les pratiques Agiles d’aide à la priorisation des besoins et j’avoue être plus à l’aise avec la méthode MoSCoW (Must have ; Should have ; Could have ; Won’t have), dont je trouve l’approche plus assimilable par des porteurs du besoin métier.
J’ai eu l’occasion d’échanger sur ce sujet avec Gilles Mantel (Coach Agile Xebia et membre de la FSUG) dont les explications du fonctionnement de Kano me sont alors parues très claires et pertinentes.
Aujourd’hui je vous propose de vous faire votre propre opinion, au travers de 2 vidéos, décrivant pour l’une la méthode MoSCoW (du site Agile Academy) et l’autre le modèle Kano.
Bonne lecture et n’hésitez pas à me faire part de vos opinions sur le sujet!
5 raisons de célébrer ses erreurs au travail
Dans cet article de 2010 mais toujours d’actualité, Alexander Kjerulf commence par citer Zappos, l’entreprise dont le nom était sur toutes les lèvres la semaine dernière au scrumday après la keynote de Robert Richman. Il donne ensuite 5 raisons de célébrer ses erreurs au travail!
- Quand vous célébrez vos erreurs, vous apprenez de ces dernières;
- Vous ne perdez plus votre temps à couvrir vos arrières;
- Quand les erreurs sont célébrées, vous renforcez votre créativité et votre innovation;
- Les failles ouvrent souvent de nouveaux horizons;
- Quand vous célébrez vos erreurs, vous en faites moins!
Web
Browser Diet
Un guide des performances front-end très complet et efficace qui va du javascript/jquery jusqu’aux sélecteurs CSS en passant par les stratégies de chargement de fichier et la compression des images:
Afficher une page mobile en moins d’une seconde
Un talk très instructif donné par Ilya Grigorik (ingénieur chez Google).
- Pourquoi 1 seconde ? C’est le temps maximum qu’un utilisateur mobile passera à attendre le chargement d’une page sans penser à autre chose.
- Pourquoi est-ce difficile ? Les réseaux mobiles ont une latence beaucoup plus élevée que les réseaux filaires, afficher une page web nécessite très souvent plusieurs requêtes.
- Comment y arriver ?
- Une seule requête HTTP par page.
- Inliner le contenu essentiel à la page.
- Reporter le chargement du contenu non-essentiel dans d’autres requêtes HTTP.
Le talk en video :

Les slides : http://www.igvita.com/slides/2013/breaking-1s-mobile-barrier.pdf
Le coin de la technique
Les nouveautés de JPA 2.1
Pour les inconditionnels des ORM, Red Hat a récemment publié la version 4.3.0.Beta1 de son très populaire framework Hibernate. Cette version apporte le support de JPA 2.1 (spécification de JEE7 pour gérer la persistance des données), et nous donne donc l’occasion de faire un point sur les évolutions futures de la norme :
- le support des procédures stockées (plus de détails dans cet article : http://relation.to/Bloggers/CallableStatementSupport)
- la possibilité de générer des requêtes de mise en jour et de suppression de données via l’API criteria (UPDATE et DELETE)
- de nouveaux mots clefs dans la syntaxe JPQL : FUNCTION pour utiliser directement les fonctions du SGBD, ON pour définir des critères supplémentaires pour les jointures et TREAT qui permet d’utiliser des propriétés d’une sous classe de l’entité pour une jointure ou une clause where.
- la possibilité d’injecter un entityManager en mode « UNSYNCHRONIZED ». Celui-ci n’appellera pas la méthode flush à moins d’avoir rejoint explicitement une transaction (entityManager.joinTransaction()). Ceci permet de modifier des entités sans que les modifications soit sauvegardées en base de données.
Java Microbenchmark Harness
Effectuer des tests de performance demande beaucoup de rigueur. Il en faut encore plus lorsqu’il s’agit de microbenchmarks, destinés à mesurer l’efficacité d’une méthode ou d’une classe.
Pour aider les testeurs à faire des tests probants et faire face à un grand nombre de microbenchmarks erronés sur internet, un framework de microbenchmark (Java Microbenchmark Harness) a été intégré aux outils livrés avec OpenJDK. Ce framework a d’ores et déjà été utilisé pour vérifier les performances de l’api java.util.concurrent (JSR-166) , l’inclusion de nouveaux langages dynamiques (JSR-292, InvokeDynamic) et plus récemment pour le projet Lambda (JDK 8).
Lingual : une interface SQL pour Cascading
Cascading fait partie des solutions telles que Pig ou Hive vous permettant de grandement réduire la complexité de conception et de maintenance de vos jobs MapReduce pour un cluster Hadoop. De nombreuses surcouches ont été créées afin de se détacher de la verbosité de java mais surtout afin de fournir des abstractions encore plus élevées. Cascalog (clojure) et Scalding (scala) sont les deux exemples les plus connus. Le dernier de la famille, Lingual, vient de sortir finalement au grand jour. Il se distingue de ses ainés en proposant à ses utilisateurs un langage plus connu : le SQL. Il se place ainsi en concurrence directe avec Hive qui lui aussi propose de traiter les données par l’intermédiaire de requêtes formulées en (pseudo-)SQL. Affaire à suivre.
Commentaire