NH Profiler

by matthieu 1/3/2009 4:15:56 AM

Que cela soit en Java ou en .NET on a bien quelques conseils sur l’utilisation des frameworks de mapping objet-relationnel. Par exemple avec Hibernate, il est conseillé d’activer le “show_sql” afin de voir les requêtes SQL exécutées contre le serveur de base de données, et puis de mettre en lazy les collections par défaut etc … Mais Oren Eini frappe fort avec NH Prof, un profiler pour les applications utilisant NHibernate.

Bien sûr il peut servir en cas de “crise” quand  votre DBA hurle à la requête trop lourde mais on peut aussi l’employer de façon pro-active afin de détecter les problèmes au plus tôt. Voici quelques copies d’écrans. Je l’ai utilisé dans une application POC avec ASP.NET MVC et Spring.

Côté Application, on ajoute une ligne d’initialisation :

HibernatingRhinos.NHibernate.Profiler.Appender.NHibernateProfiler.Initialize();

Et on lance le client puis notre application. NH Prof collecte les informations, on peut voir ici qu’il mets bien en évidence le informations statistiques de la session :

l'écran de stats de NH Prof

Mais là où l’intérêt de NH Prof réside c’est dans sa capicité à remonter des alertes sur certains anti-pattern comme le fameux SelectN +1 dans le code suivant d’une DAO :

public override List LoadAll()
{
	List subs = base.LoadAll();
	foreach (Subscriber sub in subs)
	{
		//force n+1
		foreach (Address adress in sub.Addresses)
		{
			Blabla(adress.Country);
		}
	}
	return subs;
}

SelectN+1 dans NH Prof

ou le chargement d’entités sans filtre :

requête sans filtre

Pour chaque alerte une page du site explique les tenants et aboutissants, par exemple avec le Select N+1

Il est amusant de voir cette application pour la version .NET du framework JAVA qui est devenu un standard dans son incarnation “JPA”, car bien qu’il existe des outils de type console pour Hibernate un peu plus évolués que le “sysout des familles” je n’ai pas encore vu de profiler aussi développé.

A noter :  l’application est codée en WPF.

dans le tgv

by matthieu 12/30/2008 4:41:13 PM

dans le tgv
Originally uploaded by MatthieuGD

Avec une application sur l'iphone qui permet de connaître sa vitesse de déplacement (MotionX navigation lite) . C'était quand le TGV atlantique est sur le tronçon haute vitesse entre Tour et Paris.

Pro WF – Bruce Bukovics

by matthieu 12/26/2008 10:22:29 PM

couverture du livre

Ce livre a deux mérites : il est exhaustif (800 pages pour couvrir les fonctionnalités de Windows Workflow) et à jour puisqu’il aborde les ajouts de la version 3.5 du Framework dans le domaine du workflow.

Ayant travaillé avec son pendant dans le monde JAVA, jBPM, je voulais voir ce que couvrait le “workflow foundation” en .NET sachant qu’il va jouer un rôle plus important dans Dublin, le serveur d’application basé sur .NET Framework 4.0.

On retrouve bien sûr dans cet ouvrage l’explication sur les workflows de type séquentiel, machine à états et les activités de base, comment interagir avec l’environnement d’execution (runtime du workflow). Ainsi on retrouve la notion de services attachés à l’hôte. Ceux-ci sont de deux sortes :

  • locaux, ils sont personnalisés et c’est eux qui permettent d’interagir depuis ou vers les activités définis dans les processus par le biais d’évènements et d’identifiant de corrélation
  • de base : le service qui gère la persistance dans le cas des processus “long” ou de tracking pour faire de l’audit très fin sur les activités (par exemple conserver la valeur de propriétés tout au long du processus). Ces services ont une implémentation de base fourni par le framework, on peut aussi en fournir une pour des traitements spécifiques. Le libre aborde façon détaillée cette partie notamment le système de queue qui permet au sein du framework de passer des messages (notamment pour la persistance).

La partie sur les transactions est aussi intéressante, WF propose des activités spécifiques autour de la gestion des transactions et de la compensation ce qui permet une vision plus “métier” que technique.

La version 3 ne proposait qu’un système sommaire pour supporter les webservices (obligation de passer par des webservices client avec cookie) mais l’intégration avec WCF dans la version 3.5 autour des services de workflow permettent des scenarios plus évolués par le bais d’un host WCF dédié comme il a été fait pour les services de type REST ou JSON.

La dernière partie est consacrée aux activités personnalisées, là aussi le côté graphique de WF est très appréciable (c’était une partie dans JBPM qui était très obscur et très attaché à Eclipse), l’auteur montre même un exemple de designer  complètement personnalisé dans une application de type client lourd. Le futur designer de WF 4.0 devant être basé sur WPF, j’espère qu’on ne perdra pas de souplesse.

Différentes postes

by matthieu 12/26/2008 12:29:13 AM

Mon propos n’est pas de tirer de conclusions hâtives entre la France et le Canada, car je ne connais pas assez encore ce dernier pour en faire état. Mais ayant dû envoyer du courrier à Montréal, j’ai trouvé marrant le résultat suivant :

  • Sur le site de la poste française, il y a presque un site de suivi par type de produit : lettre simple suivie, lettre recommandée, colis national, colis international. Voici le résultat pour un suivi de recommandé international, qui en fait après recherche d’informations n’est pas suivi :

suivi de la poste française

Par hasard je suis allé sur le site de la poste canadienne et j’ai saisi mon numéro de recommandé dans la seule page de “tracking” et voilà, j’ai un suivi détaillé avec même la copie scannée de la signature de l’avis de réception :

laposteca

Muséum de Toulouse

by matthieu 12/20/2008 11:26:17 PM

 

Visite agréable au muséum rénové.

This book will save your life – A.M. Homes

by matthieu 12/19/2008 6:09:44 PM

save_your_life

A.M. Homes commence à être traduit en français, This books will save your life n’est pas une exception. Le texte originale n’est pas difficile et comme le dernier livre que j’ai lu, l’écriture est très plaisante. A.M. a un style très direct mais elle fut aussi plus pessimiste (voir Music for Torching). Ici aussi il est question de personnes avec un passé dérangé et un présent pas très glorieux mais ce n’est pas une descente aux enfers.

L’histoire se passe à Los Angeles, ce qui est aussi un changement pour l’auteur new yorkaise et bien sûr on est en voiture, on change souvent de décor (Hôtel, Villa à Malibu, sur les collines). Le personnage principal est Richard Novak, un businessman à la retraite, divorcé, et qui vit seul dans sa grande maison sans parler et retiré du monde derrière son casque Boss. Et puis une douleur soudaine, une visite aux urgences l’oblige à sortir de son monde. Tout s’enchaîne : des rencontres, un déménagement, encore plus de rencontres s’ensuivent. Tous les personnages sont attachants et même s’ils sont “fuck up” j’ai trouvé le ton très naïf et optimiste.

Pont des catalans

by matthieu 12/15/2008 12:46:15 AM

Pont des catalans
Originally uploaded by MatthieuGD

The coming – Joe Haldeman

by matthieu 12/14/2008 12:01:03 AM

coming

C’est rare de trouver un livre de science-fiction qui ne fasse pas 9999 pages mais qui reste intéressant. C’est peut-être aussi le défaut de ce livre puisque la fin est peu “short”. On ne voit pas d’alien si ce n’est que dans les derniers moments et encore …. La méthode de  narration est un peu originale : chaque ensemble de paragraphes est le point de vue d’un personnage. Dans une même scène on peut donc passer de protagoniste en protagoniste et ceux-ci pour certains font preuve d’un très bon humour, autre surprise de ce livre.

Nous sommes en 2054 à Gainesville en Floride, où une astronaute intercepte un message venant de l’espace annonçant une arrivée. Les USA est en pays en mauvais état, l’administration courante est républicaine et le président est une femme “plus cutéreuse , tu meurs”. On ne s’ennuie pas, cela peut se lire en une journée ou un gros voyage en train pendant les fêtes.

James Joyce – Portrait de l’artiste en jeune homme

by matthieu 12/13/2008 11:39:03 PM

Là il faut s’accrocher, James Joyce est un auteur Couverture du livrequi est difficile à lire. J’imagine même pas le lire en version originale car les notes de traduction en donne un aperçu assez rude. On connaît surtout l'auteur pour son œuvre majeure qu’est Ulysse.

L’histoire du personnage principal, Stephen Dedalus, est fortement inspiré de la vie de James Joyce qui fait de ce roman une œuvre presque autobiographique. Il raconte sa jeunesse et le début de la vie d’adulte.

Outre les monologues d’un garçon plutôt solitaire on y découvre la dureté de l’école catholique irlandaise, une éducation fondée sur la culpabilité. Le sermon notamment d’un jésuite sur les péchés et les différentes phases de torture  qu’un croyant endure en enfer est édifiant .La dernière partie, l’époque étudiante à Dublin avant le départ pour Paris est plutôt drôle autour des joutes oratoires avec ses camarades. C’est plus léger car le garçon est devenu agnostique, et il s’est libéré. On connaît peu de chose de sa famille finalement, un père qui a fait tous les métiers du monde et une mère pieuse, mais presque de ses frères et sœurs qui seront pourtant importants dans sa vie.

Le roman est court mais très dense, je ne suis pas sûr que la traduction soit aussi fidèle que ça au texte. Sans avoir lu le reste, je pense que cela peut être une bonne entrée en matière de l’œuvre de James Joyce.

nouveau mur

by matthieu 12/10/2008 2:48:18 AM

nouveau mur
Originally uploaded by MatthieuGD

boulevard armand duportal - toulouse