Pratiques de développement

Astuces et solution State Pattern – Bracket Show, épisode 36

Dans la série des trucs et astuces, voici un petit aperçu sur le patron de conception, le State Pattern. Présentation de l’un des nombreux patrons de conception Le patron état est un patron de conception (design pattern en anglais, ou encore modèle de conception), de la famille des patrons comportementaux. Il s’agit de l’un des

Lire plus

Patron de conception « Stratégie » — Bracket Show, épisode 34

Présentation du patron de conception « Stratégie » Single responsibility Open-closed principle Cas d’utilisation : avec et sans stratégie Exemples de code Tests Optimisation Tester les stratégies individuellement Implémentation de l’interface Classes minimalistes Conclusion : la stratégie permet de prendre un algorithme compliqué et le séparer en plusieurs morceaux qui n’ont chacun qu’une seule intention, un seul but pour

Lire plus

Histoire de C# de 2002 à 2019 — Bracket Show, épisode 35

La version 8 de C# vient d’être lancée et c’est l’occasion de retracer l’histoire de C# depuis la version 1.0 en 2002. Version 1.0 : précurseur de la programmation orientée-objet Classes, Structures, Interfaces, Événements, Propriétés, Délégations, Expressions, Statements, Attributs, Literals. Version 2.0 : Génériques, Types partiels, Méthodes anonymes, Nullable types, Itérateurs, Covariance et contravariance Version 3.0 : LinQ

Lire plus

Industrie 4.0 et Internet des objets

Le concept d’Internet des objets (Internet of things ou IoT) est à la base très simple. On parle parfois également de IIoT (Industrial Internet of Things) pour le secteur industriel. L’idée consiste tout simplement à relier des objets physiques au monde numérique par le biais de l’Internet. Cela permet de donner à ces objets leur

Lire plus

L’Agilité sur un nuage…

Avez-vous déjà entendu parler de plateformes comme Amazon Web Services (AWS), Google Cloud Platform ou Microsoft Azure? Savez-vous comment en tirer un maximum de bénéfices? Si on ne comprend pas bien les différents services offerts et comment ils peuvent interagir les uns avec les autres, effectuer la transition vers l’infonuagique (Cloud Computing) peut être un

Lire plus

Spikes et architecture émergente

Initialement introduite par l’Extreme Programming, il existe une technique qui consiste à ajouter un élément au carnet de produit (product backlog) qu’on peut qualifier de « Spike ». Il s’agit d’un item pour lequel l’équipe s’entend sur une limite de temps à investir. Le but est d’acquérir des connaissances qui sont nécessaires pour réduire le risque, pour

Lire plus

Retour sur la soirée Bièr&Teknö

La deuxième soirée Bièr&Teknö organisée par Pyxis Studio a été un franc succès! Le 1er novembre dernier, une trentaine de personnes s’étaient réunies pour assister à la présentation d’Éric de Carufel et Bruno Barrette : « Blazor & .NET : Une application web monopage (SPA) sans javascript » Les deux collègues ont exploré ce que Blazor peut et

Lire plus

Extensions Visual Studio — Bracket Show, épisode 30

Dans cet épisode, Marc-André Viau nous explique comment faire une extension à Visual Studio de A à Z, de “File — new project” jusqu’au déploiement sur le Marketplace. Marc-André nous parle notamment d’une extension Visual Studio sur laquelle il a travaillé durant son stage : FokusTask.   Qu’est-ce qu’une extension Visual Studio? Application qui s’intègre à

Lire plus

.NET Core Localisation — Bracket Show, épisode 29

.NET Core nous apporte plusieurs nouvelles façons de faire les choses. Voyons comment s’y prendre pour faire la localisation de nos applications avec Bruno Barrette. Changements par rapport au framework .NET standard Comment démarrer Différentes manières de localiser Configuration Singleton Transient Options de localisation Mvc : ViewLocalization, DataAnnotationsLocalization Controller ViewModels Ressources contextuelles String format Attributs et

Lire plus

Astuces et Solution Explorer Scope — Bracket Show, épisode 28

Dans la série des trucs et astuces, voici un petit truc rapide pour vous faciliter la vie pour la navigation dans les fichiers d’une solution.   Présentation d’une fonctionnalité de Visual Studio qui peut vous être utile pour gérer des projets avec beaucoup de dossiers. Dans les projets MVC : diviser en areas Domain Driven Design

Lire plus

Mocking — Bracket Show, épisode 26

Dans cet épisode, nous allons voir comment rendre notre code testable et y introduire le concept de mock pour éviter des tester les dépendances avec notre code.   Comment arriver à faire du Mocking? Il ne s’agit pas d’une présentation des outils de Mocking qui présupposent que l’on a déjà notre code avec des interfaces

Lire plus

Unit Testing — Bracket Show, épisode 25

Dans cet épisode nous comparons trois des plus populaires “frameworks” de “unit testing” soit MSTest, NUnit et XUnit. Nous verrons comment ces différent “frameworks” fonctionnent. Survol des similarités et différences entre MSTest, NUnit et XUnit. Repository Évènements Processus asynchrone Return true Règles d’affaires et validation Tests avec NUnit: Attributs à utiliser TestFixture SetUp Tests paramétriques Theory :

Lire plus

Architecture, de « layered » à « clean » — Bracket Show, épisode 24

Dans cet épisode nous parlons de l’évolution de l’architecture logicielle à partir des modèles en couche (layered) juasqu’aux modèles plus modernes centrés sur le domaine.   Comment transformer une architecture de « layered » à « clean »? Qu’est-ce que l’architecture? Vue d’ensemble d’un système Structure du système : les différentes composantes Les couches (layers) Les relations entre les composantes

Lire plus

Builder — Bracket Show, épisode 22

Dans la série des “design pattern” nous vous parlons aujourd’hui du “Builder”. Vous utilisez ce “pattern” plus souvent que vous ne le pensez sans vous en rendre compte. Voyons comment en faire un soi-même.   Version Fluent qui permet de chaîner les appels pour bâtir nos objets et plus spécifiquement dans un contexte de tests

Lire plus

Bracket Show – Visual Studio 2017

Dans cet épisode du Bracket Show, nous passerons en revue les nouvelles fonctionnalités de Visual Studio 2017 qui ont retenu l’attention de Bruno et Eric. Ils vous parleront principalement des fonctionnalités utiles pour le développement de logiciel. Avec une attention pour ce qui est utile aux développeurs, nous faisons le tour de quelques-unes des fonctionnalités qui ont

Lire plus

Pair Programming : comment tirer profit de la collaboration à son maximum?

La programmation en paire, communément appelée « Pair Programming », est une technique de développement logiciel Agile qui a été popularisée dans les années 90 par la méthodologie « Extreme Programming ». Une de ses règles est que chaque unité de travail réalisée doit passer entre les mains d’au moins deux membres de l’équipe. Par réflexe, nous pourrions penser

Lire plus

Tester en production — Bracket Show, épisode 27

Dans cet épisode, Bruno et Eric reçoivent Mario Cardinal, architecte de longue date et co-animateur du podcast Visual Studio Talk Show (http://visualstudiotalkshow.libsyn.com/). Il vient nous parler de son projet (https://to-do.studio/) et comment il compte le tester en production. Il est convaincu qu’en appliquant le “shift left testing” la qualité sera meilleure.  

Vous moquez-vous des tests?

Je me suis récemment « entretenu » avec le moi d’il y a plusieurs années, et nous en sommes arrivés à parler de tests unitaires. À cette époque, je me moquais des tests unitaires. Aujourd’hui, je m’en moque encore, mais de façon différente. Malgré les années passées, plusieurs des questions soulevées au cours de cette

Lire plus

Les microservices : une architecture Agile — Deuxième partie

Lisez la première partie de cet article ici : « Les microservices : une architecture Agile — Première partie ». Utiliser le DDD (Domain Driven Design) pour créer des microservices En nous appuyant sur la séparation des modèles qu’offre le DDD, nous pouvons rejoindre facilement le même concept qui est à la base des microservices. Il suffit de décomposer

Lire plus

Les microservices : une architecture Agile — Première partie

  L’ère numérique dans laquelle nous vivons présentement nécessite que nous apportions plusieurs changements dans nos manières de faire. Les entreprises qui perçoivent encore le développement logiciel comme un fardeau coûteux et non comme une force de frappe feront bientôt face à de nombreux défis importants. Pour surfer sur la vague technologique, les entreprises doivent

Lire plus

Développer son potentiel avec les tests

De nos jours, l’apprentissage de tout programmeur passe par un certain nombre d’étapes. Une de celles-ci est la découverte des tests. Cette découverte se fait généralement progressivement et pour plusieurs d’entre nous, un peu à l’envers. Voici le récit de mon expérience personnelle, mais je me doute que certains d’entre vous s’y reconnaîtront. Une perte

Lire plus

Hello World mobile

Avec la récente acquisition de Xamarin par Microsoft, on pouvait s’attendre à ce que le développement d’applications mobiles devienne un peu plus accessible, surtout considérant que cette acquisition a fait passer le coût de Xamarin à… rien du tout! Il est donc possible aujourd’hui, grâce à Xamarin Forms et à Visual Studio édition Communauté, de

Lire plus

Hello World version entreprise

Le Hello World de base La meilleure façon d’apprendre un nouveau langage reste encore d’écrire l’application typique Hello World. Je ne compte plus le nombre de fois que j’ai commencé un nouveau projet par cette simple application. Par exemple, voici la plus simple application Hello World qui peut être faite en C# : Après avoir démarré

Lire plus

CQRS — Event Sourcing

CQRS est un schéma (« pattern ») d’architecture et de conception qui sépare la lecture des données (requête) des actions (commandes) dans le but de produire un système qui peut facilement être mis à l’échelle (« scaling ») et offrir des avantages utiles. Consultez la présentation d’un de nos experts. Voici quelques articles connexes (anglais

Lire plus

3 trucs de développeur pour passer une bonne nuit

Avez-vous de la difficulté à décrocher du travail? Continuez-vous à penser à votre projet une fois rendu à la maison? Est-ce que votre sommeil est compromis par des réflexions sur votre code? Est-ce que vous avez de la difficulté à vous remettre dans le contexte le lendemain matin? Si vous avez répondu oui à au

Lire plus

Imaginez un monde où le passé est la seule vérité… toute la vérité (partie 1)

Vos systèmes informatiques contiennent sûrement plusieurs bases de données structurées et relationnelles. Vous devez faire des copies régulièrement pour ne pas perdre d’information. Malgré ces précautions, vous perdez tous les états intermédiaires (états du système après un événement passé) de vos systèmes d’information. Si tout ce qui vous intéresse, c’est l’état final, ce n’est pas

Lire plus