La méthode du rubber duck debugging ou l’art de résoudre un problème quand on est programmeur.
Lorsque vous écrivez du code pour un logiciel, s’il y a bien une chose dont un programmeur est certain, c’est qu’à un moment donné il se retrouvera bloqué. Ce genre de situation arrive tout le temps et n’importe quel programmeur pourra vous le confirmer. Peu importe votre expérience que vous soyez débutant ou vétéran, vous
Test E2E avec Jean-Michel Gingras — Bracket Show, épisode 41
Tester en production – avec Mario Cardinal — Bracket Show, épisode 27
Dans cet épisode Mario Cardinal, architecte de longue date et co-annimateur du podcast Visual Studio Talk Show (http://visualstudiotalkshow.libsyn.com/) 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. http://visualstudiotalkshow.com https://to-do.studio/
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
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
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
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
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
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
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
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 à
.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
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
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
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 :
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
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
Bracket Show épisode 21 – .NET Standard 2.0
Bracket Show épisode 20 – Unity 3D avec Luc Aspirot – Partie 2
Bracket Show épisode 19 – Unity 3D avec Luc Aspirot – Partie 1
Bracket Show épisode 18 – Dynamics CRM avec Salim Adamon
Bracket Show épisode 17 – MediatR avec Éric Renaud
Bracket Show épisode 14 – Visual Studio Team Services avec Étienne Tremblay – Partie 2
Bracket Show épisode 13 – Visual Studio Team Services avec Étienne Tremblay – Partie 1
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
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
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
Pourquoi ai-je envie de recommencer à programmer depuis que je suis Product Owner?
Imaginez que vous êtes le Product Owner d’une application de Sudoku : vous seriez probablement capable de décrire les règles du jeu à votre équipe de développement et de lui fournir comme condition de succès, une grille résolue à partir d’une grille de départ valide. Mais il serait plus difficile de spécifier une grille de départ
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
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
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
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
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é
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
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
La valeur des événements de l’Event Store (partie 2)
Top 5 des meilleures façons d’améliorer votre code
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