Je vais aujourd’hui vous parler d’une nouvelle méthode de disposition CSS que j’ai eu l’occasion d’utiliser dans un récent projet : CSS Grid Layout !
Qu’est-ce que CSS Grid Layout ? Cette propriété CSS a été dévoilée officiellement en mars 2017 et son support dans la majorité des navigateurs fut relativement rapide (environ 70% en quelques mois, ce qui est assez important pour être souligné !). Je vous invite à consulter le site CanIUse pour le vérifier.
J’ai récemment eu besoin de manipuler des données SQL du type VARCHAR(MAX) via SSIS. Dans SQL Server, ce type permet de stocker des données de type chaîne de caractères d’une taille jusqu’à 2 Go. Voilà le scénario que je souhaitais réaliser :
Une procédure stockée me retourne une donnée de type VARCHAR(MAX) représentant un contenu XML J’appelle cette procédure dans une tâche de type “Script Task” et je stock le résultat dans une variable J’utilise cette variable en tant que paramètre entrant dans une OleDB Source d’un DataFlow Je récupère le résultat via une OleDB Destination A 1ère vue, ce scénario ne pose pas de soucis particulier, mais nous allons voir que SSIS a une gestion très partielle du type de données VARCHAR(MAX).
J’ai été récemment confronté à un problème avec l’utilisation de SSIS et je souhaite vous faire partager l’astuce qui m’a permis de m’en sortir ;)
Le projet sur lequel je travaille utilise de nombreux traitements SSIS pour importer de la donnée et la manipuler (traitements, calculs…). Ces traitements utilisent le plus souvent un Data Flow composé d’une source OleDB et d’une procédure stockée. Le problème est le suivant : certaines de mes procédures stockées utilisent des tables temporaires et dans ce cas, SSIS n’est pas capable de générer le mapping entre les colonnes sources et les colonnes cibles !
Suite à la rédaction d’un “Guide du développeur” pour ma boite, j’ai eu l’idée de rédiger un article référençant les bonnes pratiques en C#/.NET. L’idée n’est pas de faire une énième liste comme il en existe des dizaines sur le net, mais d’essayer d’apporter des astuces pertinentes et argumentées par rapport à mon expérience. Et surtout, ce que je souhaiterais, c’est d’avoir des retours sur VOS astuces, VOUS lecteurs de mon blog, basées sur VOS expériences.
Après avoir présenté .NET Core dans la 1ère partie de cet ensemble d’articles, nous allons désormais rentrer dans le vif du sujet en commençant la construction de notre API web.
Qu’est-ce qu’une API ? Si l’on veut faire une analogie, l’API est au développeur ce que l’UI (User Interface) est à l’utilisateur. C’est donc la partie visible et accessible de notre programme, permettant au monde extérieur de saisir des données et de récupérer le résultat des traitements.
En .NET, il arrive encore régulièrement d’avoir à développer des services Windows pour réaliser des traitements. Du coup, se pose rapidement la question du débogage et de ses problèmes… Il est en effet nécessaire de régulièrement démarrer/arrêter le service, ainsi que de l’installer/désinstaller, et ces opérations demandent de passer par différents outils en ligne de commande (installutil, net start…). Cela devient très vide rébarbatif et est chronophage, mais heureusement, il existe quelques astuces très simples pour résoudre ces soucis !
Je voulais profiter de cet article pour faire un rapide retour d’expérience sur une conférence que j’ai donné dans le cadre de mon travail, avec mon collègue Florian Rousselet. Cette conférence a eu lieu à l’école d’ingénieur Polytech Tours devant un parterre d’une quarantaine d’étudiants en informatique. Pour rendre la conférence plus interactive, nous avons utilisés l’outil Klaxoon (https://klaxoon.com/fr/) qui permet, à partir d’un site web/smartphone, d’envoyer en direct des messages, de répondre à des votes ou encore de participer à des séances de brainstorming.
Dans le cadre de plusieurs projets, j’ai été amené à utiliser une base de données SQLite dans un contexte .NET. C’est une technologie très intéressante dans le cas où l’on a besoin d’embarquer un stockage de données simple et léger dans une application cliente. Je souhaite revenir avec vous sur le fonctionnement de cette technologie et son utilisation avec l’ORM SQLite.NET.
Table des matières Qu’est-ce que SQLite ? Une base de données embarquée Fonctionnement Configuration Utilisation de “l’ORM” SQLite.
Aujourd’hui, je souhaite partager avec vous une petite astuce très simple et rapide. Lors de mes projets, j’ai souvent besoin de mesurer la durée d’exécution d’un bloc de code pour générer des statistiques ou faire de l’optimisation de performance. Généralement, j’utilise la classe C# “Stopwatch” qui fait très bien le job mais est un peu lourde à utiliser toute seule. Je me suis donc amusé à écrire un petit outil me permettant de faciliter et simplifier cette tâche :
Je vais me lancer dans une série d’articles à propos de la création d’un service web WebAPI et de son utilisation via plusieurs technologies. L’idée va donc être de créer un ensemble de services web et de les consommer via différents moyens : site web, application mobile native/hybride… Chaque article sera donc dédié à une technologie, et contiendra une présentation et un cas pratique (décliné à partir de l’API). Pour vous donner une idée de où je veux vous emmener, voici le sommaire prévisionnel de cet ensemble d’articles.