Revue du Web 5 avril

Les tweets de la semaine

http://twitter.com/AdaTheDev/statuses/11296750619 un podcast sur NServiceBus

http://twitter.com/neilkilbride/statuses/11303426526 on en parlait dans la revue du web il y a un moment, .LESS un framework de CSS dynamique pour .NET semble plaire

 http://twitter.com/webtopics/statuses/11478950321 un nouveau monde de debugging s’ouvre à ASP.NET

La question Stackoverflow

http://stackoverflow.com/questions/2443697/tdd-exercise-ideas Des idées de TDD pour s’exercer ou donner l’envie à ses collègues de s’essayer avant de plonger dans le vrai TDD.

Actualités Microsoft 

Une semaine très calme dans le Monde MS, sans doute parce que tout le monde se prépare pour la sortie conjointe de Visual Studio 2010 et de la version 4 du framework le 12 avril prochain. Un mois après, le 12 mai exactement, intervient la sortie officielle d’Office 2010 et Sharepoint 2010 (les particuliers devront attendre le mois de juin). Dans l’article de Marie Jo Foley  consacré aux futures conférences on peut apprendre aussi qu’il n’y aura sans doute pas de PDC cette année.

Actualités “Alt.NET”

Eric Evans auteur du livre Domain-Driven Design: Tackling Complexity in the Heart of Software propose une newsletter sur l’actualité de sa société mais aussi sur son travail depuis la sortie de son livre en 2003. Dans sa dernière édition il parle des “Domain Events”. Il les considère comme un pattern à part entière aux côtés des entités, des “value objects” etc.  Autant il est facile de représenter l’état courant de nos objets du domaine, il est plus difficile d’accéder à l’historique  des évènements qui ont amené à cet état. Cela peut être pour répondre à des exigences légales ou tout simplement pour repérer dans le temps l’apparition d’un erreur. Les évènements sont généralement marqués dans le temps et sont immutables. Il cite enfin CQRS étant une architecture mettant les évènements au centre des préoccupations – on pourra consulter aussi le blog de Greg Young sur “Event Sourcing” qui pousse le concept encore plus loin en supprimant le stockage d’un état courant pour ne retenir seulement que les évènements.

De l’autre côté 

 Matt Raible, célèbre bloggeur du monde web Java, a fait une chronologie des frameworks web qu’on peut retrouver sur flickr :

History of Web Frameworks
History of Web Frameworks

crédit : Matt Raible

Dans sa présentation on peut entrevoir cette évolution depuis MVC (Struts 1) vers Component (Flex, GWT) et les nouveaux défis qu’apporte HTML5 pour les technologies RIA. On y trouvera aussi un  comparatif Flex/GWT qu’on peut aussi bien appliquer à Silverlight.

Un projet

On connait tous notre bonne vieille “Output window” de Visual Studio qui nous permet d’accéder à la sortie standard des programmes. Mais parfois cela n’est pas suffisant comme par exemple avec les applications ASP.NET et log4net. Logview4net peut vous servir énormément.

log4viewnet arrive avec un écran prêt pour configurer un UDP Appender très utilisé avec AS.NET par exemple (n’oubliez pas d’utiliser l’IP 127.0.0.2 pour les PC sous Vista/Windows 7 c’est un bug de log4net 1.2.10). Ici une configuration typique pour NHibernate :

<log4net>

<appender name=“udpLogAppender” type=“log4net.Appender.UdpAppender” >

  <encoding value\="utf-16" />

  <remoteAddress value\="127.0.0.2" />

  <remotePort value\="8888" />

  <layout type\="log4net.Layout.PatternLayout"\>

    <conversionPattern value\="%date %level \[%thread\] %type.%method - %message%n%exception" />

  </layout\>

</appender\>

<root\>

  <level value\="ERROR" />

  <appender\-ref ref\="udpLogAppender" />

</root\>

<logger name\="NHibernate" additivity\="false"\>

  <level value\="ERROR"/>

  <appender\-ref ref\="udpLogAppender" />

</logger\>

<logger name\="NHibernate.SQL" additivity\="false"\>

  <level value\="DEBUG"/>

  <appender\-ref ref\="udpLogAppender" />

</logger\>

</log4net>

et la configuration de l ‘application :

configuration de logview4net
configuration de logview4net

et l’application en action :

action
action

Vous pouvez changer les couleurs des différents niveaux (INFO, WARNING, DEBUG, ERROR), faire des recherches (l’utilisation d’expressions régulières est en cours de développement), faire une pause etc.

On n’est pas limité à l’utilisation d’UDP, une grande variété d’appenders est disponible : Fichier, Dossiers, SQL, EventLog ou encore RSS :

session RSS et SQL Server
session RSS et SQL Server

billet publié dans les rubriques coding le