Blog d'un développeur .NET
Mattk
Microsoft Student Partner et étudiant en Master 1 Informatique à Bordeaux 1
Accueil: http://www.mattk.info
Article par Mattk
Direction : Developpez.com
3/07/10
De gros changements vont arriver cet été sur ce site :
Le blog n’est plus maintenu (il l’a jamais vraiment été d’ailleurs). Pour la suite de mes aventures :
- http://blog.developpez.com/mattk
- http://mattk.developpez.com
En effet, je switch tout mon contenu technique sur developpez.com pour question de visibilité.
Mattk.info deviendra donc plus qu’une vitrine. Plus précisement, le site contiendra le flux rss de mon blog developpez.com, une galerie photo (que je remplirai cette fois-ci), et mon CV. Cette « mise à jour » s’effectuera en fin d’été au mieux, fin septembre au pire. A vrai dire, je quitterai wordpress au profit d’une plateforme que je développe moi-même.
Voilà
TechDays 2010 : petit bilan
14/02/10
Bilan qui se résume en un seul mot : déçu.
La plénière Développeur de Lundi ne m’a pas semblé être… une plénière. Comparée aux années précédentes : moins de fun, moins de démo, beaucoup trop de marketing (la petite « pub » d’Intel était de trop). En revanche, la plénière de Mardi fut ce que j’appelle une vraie plénière. Logiquement elle était orientée IT, mais intéressante et amusante à suivre !
Les sessions :
- Développement parallèle efficace : j’ai eu l’impression de revoir mes cours de parallélisation de la fac,
- Nouveautés C#4 : Conférence par la démo : clair, concis, technique. Bref, du Mitsu Furuta
- Entity Framework 4.0 : qu’en dire… 30min de présentation, puis 30min de présentation d’un hors-sujet : les T4. Petit ponpon : le self-tracking. On sait que ça existe, mais le délire T4 a complétement fait oublier le sujet,
- Les nouvelles technos d’accès aux données : un panel de l’existant, ennuyeux au possible,
- Le langage Axum : trop de succés, je n’ai pas pu rentrer dans la salle :’(
- Windows Azure AppFabric : de la démo avec un cas d’utilisation concret, assez intéressant,
- C# et Linq avancé : A nouveau du Mitsu : fantastique.
- Modélisation : Rien de bien fou sur le domaine, la session a rempli ses promesses : présenter les outils de modélisation de Visual. Bien.
Pour résumer, j’ai été déçu par cette journée de Lundi. Les sessions auxquelles j’ai assisté étaient pourtant de niveau 300 ou 400 mais soyons franc : certaines n’ont même pas atteint du 200. Ajoutons ce que l’on peut appeler : une organisation bizarre des bars. Plus de café à midi, jus d’orange, coca, etc… servis en canette (ou demie canette en fin de journée). Pire : le café était en capsule. C’est très bien pour de l’individuel, mais quand il y’a 40 personnes qui attendent de se faire servir… pourquoi avoir fait ce choix ??
Toutefois, je vais finir sur une note positive : mes collègues et moi nous sommes bien amusés pendant ces deux jours.
Techdays 2010 : J-1
7/02/10
J-1 avant le classique annuel : les Microsoft Techdays. Accès aux données, évolutions des languages, parallélisation, et…. une petite couche de communications donne le planning suivant :
Faisons simple : y’aura-t’il des connaissances à ces sessions ? ^^
[Article] Introduction à Microsoft Velocity
22/01/10
Comme promis ce début de mois, mon étude sur Microsoft Velocity est désormais disponible en ligne dans ma section « Articles » ou en lien en fin de ce post. Ce dossier n’est qu’une introduction à la solution de cache distribué de Microsoft. Réalisé pour la matière Technologies Logicielles Avancées de mon Master 2, j’ai dû considérer que les lecteurs de ce rapport n’ont aucune notion sur le cache.
Ainsi, cette introduction à Microsoft Distributed Cache Service s’articule de la façon suivante :
- Qu’est-ce que le cache ?
- Présentation de Microsoft Velocity
- Tests
Bref, je n’en dis pas plus. Bonne lecture aux intéréssés
Etude : Introduction au cache et Microsoft Velocity
P.S : Moyennant quelques modifications, cette article sera publié sur la MSDN Library
Renouveau
2/01/10
Encore une longue absence sur ce blog, où décidément j’ai du mal à écrire sérieusement. Nouvelle année, résolution, etc… Soit renouveau de ce blog. L’étape 1 a été faite avec un nouveau thème « Mystique » de DigitalNature. Etape 2 : le contenu.
Actuellement, je travaille sur un sujet qui éveille la curiosité des personnes sensibles aux performances sur les accès aux données. Une des problématiques les plus courantes est : comment réduire considérablement les accès à une donnée qui n’est pas ou peu modifiée. La réponse : le cache.
Une des question fréquente sur le cache est : est-ce que chaque machine de mon cluster doit posséder son propre cache local, quitte à le dupliquer/synchroniser avec les autres machines, ou est-ce que j’héberge certaines données sur un serveur de cache ? Voilà exactement l’étude que je mène en ce moment : usage du cache distribué, architecture et gains en performances et fiabilité. Pour cela, je me sers de Microsoft Velocity, faisant désormais parti de l’ensemble applicatif Microsoft Server AppFabric. Ce travail est réalisé dans le cadre d’un projet universitaire pour la matière « Technologies Logicielles Avancées » au programme de ma seconde année de Master, et mon contrat pro me permet d’appliquer cette étude sur un cas concret : les besoins d’un certains site d’e-commerce.
Le résultat de cette étude est à rendre à la fin de ce mois. Une fois que le mémoire sera lu et la note délivrée, je publierai mon étude ici-même. Se sera ma première publication de l’année sur ce blog. Les suivantes devraient se tenir à .NET 4, avec son nouveau framework de cache, Entity Framework, et MEF (Managed Extensibility Framework).
Voilà. J’espère que cette fois-ci j’arriverai à tenir cette envie d’écrire pour partager et apprendre (Car c’est ce qui pêche : l’envie d’écrire ^^)
Sur ce, bonne année 2010
Import d’un fichier csv dans une table SQL Server
18/10/09
Un petit pense-bête bien connu : comment importer le contenu d’un fichier *.csv dans une table SQL Server ?
INSERT [dbo].[Customer]
FROM 'D:\customers.csv'
WITH
(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
GO
Bref… article écrit pour me permettre de retrouver facilement ce bout de code pour des usages futurs
Retour sur un stage
26/09/09
Date de mon dernier article : 3 Juin 2009 … Cela fait donc trop longtemps que je n’ai pas bloggué ici, et vais donc reprendre mes petites activités.
Sujet du jour : mon stage
Ne voulant pas avoir à chercher des occupations pendant l’été, j’avais décidé de faire un stage. Ainsi de Mai à Septembre, j’étais en stage à Cdiscount.
Que dire ? Beaucoup de choses…
Tout d’abord, le cadre de travail était excellent. J’ai été très bien accueilli, toutes les personnes que j’ai croisé ont été ouvertes à répondre mes questions et m’aider quand cela était nécessaire. De plus, tout les projets qui m’ont été assignés ont été particulièrement intéressant. Enfin le must : je travaillais sur LA techno qui me plait : .NET
En bref, j’ai appris :
- Ce qu’était une méthode Agile (plus précisement Srum et XP)
- L’architecture SOA
- ReSharper
(d’ailleurs, je conseille son extension StyleCop for ReSharper, un must à avoir)
Au final : je remercie encore une fois toutes les personnes croisées durant ce stage (et que je continue encore de croiser
) pour m’avoir donné cette belle expérience.
La suite ?
Dernière année d’étude : Master 2 Génie Logiciel, spécialité Conception de Projets. Mais il est connu que la simplicité n’est pas mon fort, donc j’ai décidé d’ajouter un peu de piment à cette dernière année en faisant un contrat de professionnalisation. Grâce à mon stage, j’ai pu décrocher un contrat pro chez Abase Sud Ouest (petite SSII) et ai été placé en régie chez…. Cdiscount (pourquoi changer de travail quand on s’y plait ^^). Sauf que la fac a un peu de mal collaborer et en résulte que j’ai l’emploi du temps d’un étudiant normal. Je passe donc mon temps dans les transports en commun pour jongler entre Cdiscount et la Fac. Cela donne des journées assez lourdes, mais j’y gagne une expérience professionnelle importante.
Et ce blog ?
MEF, Velocity, ça vous chante ? Ces deux thèmes seront les sujets d’articles qui seront traités ici dans les jours/semaines à venir
P.S : Je sais, je n’ai pas été très inspiré pour la rédaction de cet article.
Ajout des articles AJAX Toolkit
3/06/09
Développez.com vient de publier les 58 tutoriels traduits sur l’AJAX Toolkit. Vous pouvez retrouvez l’intégralité de ces tutoriels ici, et sur ma page « Articles » vous trouverez ceux que j’ai traduit.
En relisant les articles, je me suis rendu compte de quelques erreurs de traduction, voire d’orthographe. Donc je prépare un petit pack avec mes modifications et enverrez ça au responsable de developpez.com pour correction.
Installation de TFS, suite et fin
1/06/09
Les péripéties de mon installation de Team Foundation Server 2008 continuent…
L’installation s’est bien déroulée, mais…. la procédure de création des bases de données pour le SQL Server & SQL Analysis a foiré : je n’avais pas de tables dans mon Analysis Server, ce qui entraîne donc de grosses erreurs pour obtenir la liste des tâches restantes. Voici donc comment j’ai résolu le problème :
- Recréer tout le cube de TFS (remplacer Domain\blablabla par les bons utilisateurs, et localhost par le nom de votre serveur) :
setupwarehouse -o -s Server -d TfsWarehouse -c Warehouseschema.xml -a Domain\TfsService -ra Domain\TfsReports -v -mturl http://Server:8080 -rebuild - Suivre les étapes Thomas Jaskula dispo ici
Et hop, plus d’erreur et cette fois-ci mon TFS fonctionne.
Installer VSTFS 2008 SP1 sur SQL Server SP1
1/06/09
Pour tout ce qui concerne la sauvegarde de données, je suis un grand un flemmard. Ajoutons à cela le fait que j’apprécie tout de même le fait de pouvoir faire du contrôle de version sur mes projets, et un minimum de gestion de projet….. cela donne une envie d’installer Visual Studio Team Foundation Server 2008.
Je récupére donc mon vieux pc portable (Pentium M 1,6Ghz ; 2Go de ram) et installe les pré-requis :
- Windows Server 2008 SP2
- IIS7 + options de compatibilités IIS6
Petite remarque au passage : FTP7 a été mis à jour en FTP7.5 et le module URL Rewrite est passé en version 1.1, plus d’infos sur http://www.iis.net - SQL Server 2008 SP1
On arrive au moment critique : l’installation de VSTS. Première farce, la version 2008 RTM n’est pas compatible SQL Serv 2008. Il est donc nécessaire de télécharger le SP1 de VSTS 2008 et de le fusionner à l’install de VSTS avec la procédure suivante fournie par MS:
- Téléchargez le SP1 sur le site Web Microsoft et enregistrez la mise à jour dans un dossier sur l’ordinateur local (nommé <sp1 dir>)
- À partir des fichiers d’origine du DVD de Team Foundation Server, copiez le dossier AT à un emplacement sur l’ordinateur local (je nommerai cet emplacement <local AT>).
- Ouvrez une fenêtre d’invite de commandes et tapez la commande suivante (<sp1 extract> est le dossier d’extraction du service pack) :
<sp1 dir>/TFS90SP1-KB949786-ENU /extract:<sp1 extract> - Créez le dossier <tfs merged> qui contiendra l’installation fusionnée, puis exécuter la commande suivante :
msiexec /a <local AT>vs_setup.msi /p <sp1 extract>TFS90sp1-KB949786.msp TARGETDIR=<tfs merged>
Petite note : <tfs merged> doit être un chemin absolu, les autres peuvent être des chemins relatifs.
Et donc là tout content, vous exécutez l’installation…… Et vous obtenez une magnifique erreur qui vous indique que votre instance d’SQL Server 2008 n’est pas compatible avec TFS. Youpi \o/
En fouillant un peu sur le web, j’ai réussi à trouver une solution :
- Dans le dossier <tfs merged>, ouvrez le fichier : Hcpackage.xml
- Cherchez :
<WQL namespace= »\.rootMicrosoftSqlServerComputerManagement10″ query= »SELECT * FROM sqlserviceadvancedproperty WHERE ServiceName=’[%VSTF_SERVICENAME_MSSQL%]‘ AND PropertyName=’VERSION’ AND PropertyStrValue>=’10.00.1433′ AND PropertyStrValue LIKE ’10.00.%’ » action= »= » count= »0″ />Remplacez par :
<WQL namespace= »\.rootMicrosoftSqlServerComputerManagement10″ query= »SELECT * FROM sqlserviceadvancedproperty WHERE ServiceName=’[%VSTF_SERVICENAME_MSSQL%]‘ AND PropertyName=’VERSION’ AND PropertyStrValue>=’10.00.1433′ AND PropertyStrValue LIKE ’10.%’ » action= »= » count= »0″ /> - Cette entrée est présente deux fois dans le fichier, donc relancez la recherche afin de bien modifier les 2 occurences.
- Cherchez :
<MsiProductVersionCheck prodid= »[%SQLServer2008%] » action= »< » version= »10.1″ />
Remplacez par :
<MsiProductVersionCheck prodid= »[%SQLServer2008%] » action= »< » version= »10.2″ /> - Sauvegardez Hcpackage.xml
- Lancez le setup présent dans <tfs merged> et …….. oh miracle, tout s’installe
Voilà, il m’a donc fallu une bonne journée pour trouver cette solution.