Revue du web .NET du 17 novembre

Les tweets de la semaine

http://twitter.com/shanselman/status/5740020895 Channel 9 la chaîne pour les développeurs .NET diffusera en direct un flux vidéo depuis la grande salle du centre de conférence. Au menu : interviews et démos par les présentateurs, partenaires et développeurs de la communauté.

http://twitter.com/giovannibassi/statuses/5738375005 il y a bien une underground PDC (enfin pas si underground car le principal intervenant est Scott Gutherie) mais sur twitter on a trouvé la “nopdc”, une conférence virtuelle ou une simple blague ?

http://twitter.com/tomconte/statuses/5720465827 mise à jour du Azure SDK (Novembre 2009) juste avant la PDC. L’accent est mis sur le support de Visual 2010, l‘amélioration des fonctionnalités de logs mais aussi sur le service comme la puissance des machines virtuelles, les ports HTTP ouverts etc.

La question Stackoverflow

 http://stackoverflow.com/questions/36296/whats-the-answer-to-this-microsoft-pdc-challenge une question PDC sur Stackoverflow, un peu tirée par les cheveux mais sympathique, voir le lien de la première réponse pour un explication

Actualités Microsoft

Nous y voilà. La PDC est le rendez-vous des développeurs .NET. Pour se tenir au courant Twitter est d’une grande aide. Azure sera sûrement la vedette de cette édition, Visual Studio 2010 étant déjà disponible on pourra sans doute approfondir certains points. Des surprises ? Peut-être du côté de Sharepoint ou de Office en ligne dont on a pas entendu parler même si certains produits comme Excel sont déjà disponibles.

Actualités “Alt.NET”

On parlait récemment du manque de Maven pour les projets .NET. Voici un début de solution avec HornGet. Ce site est un repository des librairies et frameworks couramment utilités. On y trouve la version stable courante mais aussi le trunk. Voici un exemple avec NHibernate : http://www.hornget.net/packages/orm/nhibernate/ A chaque fois les dépendances sont incluses dans le package.

De l’autre côté

La version 3 de Spring va bientôt voir le jour. Du framework simplifiant le développement J2EE en passant par l ‘injection des dépendances, Spring a eu un fort impact sur la communauté Java. Racheté par VMware, le contenu payant (outils, support, serveur d’application …) est de plus en plus étoffé. Au niveau des fonctionnalités c’est le support des annotations (lire attributs en .NET) de plus en plus présents ainsi que des API REST complètes. Mais c’est aussi un mouvement de fond et Spring est passé d’une multitude librairies pour combler des manques à un stack complet qui  est en concurrence avec Java EE6.

Un projet

Quartz.NET est un portage .NET d’une librairie de planification de tâches. On y trouve toutes les fonctionnalités pour ce type de programme :

Voici un extrait des tutoriaux :

// construct a scheduler factory

ISchedulerFactory schedFact = new StdSchedulerFactory();

// get a scheduler

IScheduler sched = schedFact.GetScheduler();

sched.Start();

// construct job info

JobDetail jobDetail = new JobDetail(“myJob”, null, typeof(HelloJob));

// fire every hour

Trigger trigger = TriggerUtils.MakeHourlyTrigger();

// start on the next even hour

trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);

trigger.Name = “myTrigger”;

sched.ScheduleJob(jobDetail, trigger);

Le planificateur a la notion de calendrier attaché aux triggers ce qui permet d’exclure des dates pour lesquelles ceux-ci ne se déclenchent pas  :

HolidayCalendar cal = new HolidayCalendar();

cal.AddExcludedDate(someDate);

sched.AddCalendar(“myHolidays”, cal, false);

// fire every one hour interval

Trigger trigger = TriggerUtils.MakeHourlyTrigger();

// start on the next even hour

trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.Now);

trigger.Name = “myTrigger1”;

trigger.CalendarName = “myHolidays”;

// .. schedule job with trigger

// fire every day at 08:00

Trigger trigger2 = TriggerUtils.MakeDailyTrigger(8, 0);

// begin immediately

trigger.StartTimeUtc = DateTime.UtcNow;

trigger2.Name = “myTrigger2”;

trigger2.CalendarName = “myHolidays”;

// .. schedule job with trigger2

billet publié dans les rubriques coding le