23 avril 2009

Snippet Visual Studio pour propriété notifiant avec INotifyPropertyChanged

image Si comme moi vous écrivez des applications Silverlight ou WPF avec le modèle MVVM, vous en avez sûrement assez d’écrire le code (verbeux) d’une propriété notifiant de ses changements.

Voici un snippet Visual Studio permettant de vous simplifier la vie. Placez-le dans un fichier MonSnippet.snippet, allez dans le menu Outils/Gestionnaire des extraits de code et cliquez sur le bouton Importer. Sélectionnez le fichier MonSnippet.snippet que vous venez de créer et c’est gagné. Pour l’utiliser vous n’avez plus qu’à taper propnotif dans votre code et appuyer sur la touche Tab.

Code à mettre dans lefichier MonSnippet.snippet:

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>
        Notifier property.
      </Title>
    <Shortcut>propnotif</Shortcut>

    </Header>
    <Snippet>

      <Declarations>
        <Literal>
          <ID>PropertyType</ID>
          <Default>string</Default>
        </Literal>
        <Literal>
          <ID>PropertyName</ID>
          <Default>MyProperty</Default>
        </Literal>
        <Literal>
          <ID>FieldName</ID>
          <Default>myProperty</Default>
        </Literal>
      </Declarations>
      <Code Language="CSharp">
        <![CDATA[
                    $PropertyType$ $FieldName$;
                    public $PropertyType$ $PropertyName$
                    {
                        get
                        {
                            return $FieldName$;
                        }
                        set
                        {
                            $FieldName$ = value;
                            base.RaisePropertyChanged("$PropertyName$");
                        }
                    }
                ]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Ce snippet suppose bien sûr que vous héritez d’une classe ayant une méthode RaisePropertyChanged(string propertyName).

21 avril 2009

Ecart type en Silverlight avec LINQ

Pour une fonctionnalité de sécurité dans projet Silverlight, j'avais besoin de calculer l'écart-type (standard deviation) d'une série de nombres. Google étant notre ami, j'ai rapidement trouvé un exemple de code. Mais c'était du code d'avant LINQ. Il y en a pour 70 lignes.

Grâce à LINQ, on peut calculer un écart-type en 3 lignes seulement. Ca fonctionne avec Silverlight 2 (et 3) et avec n'importe quelle application .NET 3.5 (WPF, ASP.NET, ...). Voici mon code:

using System;
using System.Data.Linq;

public static class SecurityMaths
{
    public static double StandardDeviation(this IEnumerable<double> data)
    {
        double average = data.Average();
        var individualDeviations = data.Select(num => Math.Pow(num - average, 2.0));
        return Math.Sqrt(individualDeviations.Average());
    }
}

Notez que j’ai défini la méthode en méthode d’extension, ce qui permet de l’utiliser comme la méthode Average de LINQ. On peut donc à l’utilisation écrire:

double[] numbers = new double[] { 2,4,4,4,5,5,7,9 };
double average = numbers.Average();
double standardDev = numbers.StandardDeviation();

Notez la lisibilité du code, il est presque aussi clair que la définition mathématique de l’écart-type. Merci qui? Merci LINQ!

08 avril 2009

Tutoriel Windows Azure – partie 1

azurelogo Besoin de faire vos premiers pas en tant que développeur sur la plateforme Windows Azure? Suivez le guide.

Dans cette première partie, nous configurons notre machine, ce qui a déjà de quoi occuper notre soirée.

Etape 0: assurez-vous que vous avez entre les mains une machine de test, ou utilisez une machine virtuelle. Certains logiciels sont en version CTP, ce qui veut dire qu’ils pourraient vous causer des problèmes lors d’un passage vers la version finale quand elle sera disponible.

Etape 1: inscrivez-vous pour recevoir un code d’accès.

Etape 2: prenez Windows Vista ou Windows Serveur 2008 et installez-y les logiciels suivants:

  • IIS 7 (c’est une feature de Server 2008 à activer, voyez ici)
  • Visual Studio 2008 SP1 ou Visual Web Developer 2008 Express SP1, ce dernier étant gratuit

Etape 2: installez les logiciels suivants. Bon à savoir: il faut avoir au moins Windows Vista ou Windows Server 2008 pour les installer.

Etape 3: allez-voir dans votre boîte mail si vous avez reçu le code d’accès. L’e-mail contient les informations nécessaires pour finaliser votre inscription à Windows Azure:

image

Vous êtes prêt. Suite dans la partie 2, à venir.

02 avril 2009

Formation nouveautes Silverlight 3

Silverlight 3 vient de sortir en beta, et pour fêter ça je vous ai préparé une petite formation de mise à jour en une journée seulement.

Si vous connaissez Silverlight 2 et que vous souhaitez rapidement apprendre les nouveautés de Silverlight 3, cette formation est pour vous: Nouveautés Silverlight 3 pour développeurs Silverlight 2

Et pour ne rien gâcher, la prochaine session est dans moins de deux semaines.

Au programme, notamment: applications offline (en-dehors du navigateur), 3D, effets de rebondissements et autres effets physiques sur les animations, retour sur la liaison de données et ses améliorations, et j’en passe.

01 avril 2009

Microsoft Web Platform

C’est l’une des annonces de MIX09 comme nous l’indique Scott Guthrie: une boîte à outils complète pour réaliser votre prochaine application Web.

Microsoft Web Platform, c’est la volonté de Microsoft de rendre le développement Web encore plus simple. Exécutez un programme d’installation, et c’est parti; plus besoin d’installer séparément IIS, Visual Studio et SQL Server, le toolkit Silverlight et ASP.NET MVC, tout est inclus. Avec des tutoriels en ligne pour tout apprendre, dont le tutoriel ASP.NET MVC. Et une gallerie d’applications prêtes à l’emploi.