Catégories
Programmation

Why reflection can be a smell, even in Go.

Reflection is often viewed as a Smell in Java, C#, etc. Even if Golang have interface{} in too many places, you are using a static typed language, how did you come not to know which type do you use? Some usages are perfectly legal, but it’s quite regularly a smell, especially when if multiply or […]

Catégories
Programmation

Subtilité sur les tableaux supports des slices en Go

Si vous êtes un adepte des slices en Go voici une petite subtilité sur laquelle il faut faire attention. Code exemple Analyser dans votre tête le code suivant. On crée un slice puis un slice de slice et on modifie et ajoute des valeurs.Concentrez-vous sur la dernière instruction. Qu’affiche s1 et s2 ? Voici la […]

Catégories
Programmation

Les enums en Go, de zéro à héros

Présent dans beaucoup de langages, les énumérations, ou enums en anglais, ne sont pourtant pas un type de base du langage Go. Les concepteurs avares en mot clés (grand bien leur fasse) ont pourtant laisser une piste et les bonnes pratiques ont émergés. Faisons ensemble le tour du propriétaire avec un exemple d’enum des jours […]

Catégories
Astuce Programmation

Résoudre les raccourcis claviers de Visual Studio Code sous Ubuntu

Si vous utilisez autre chose que de l’azerty, il est possible que Visual Studio Code ne prenne pas en compte les layouts supplémentaires. Par exemple, en bépo, le Ctrl+C devient un Ctrl+H… Pratique… Pour remédier à cela il va falloir changer la clé de configuration keyboard.dispatch et la passer de code à keyCode.Par le menu […]

Catégories
Programmation

Vérifier et mettre à jour une application PWA en Angular

Une application PWA c’est génial mais on ne maitrise pas toujours bien quand elle se met à jour, si elle a détecté une mise à jour, etc. Aujourd’hui je vais vous montrer comment créer un service d’update qui vous donnera le squelette de base pour des gestion plus fine. Angular a tout ce qu’il faut […]

Catégories
Programmation

Comprendre la différence entre new et override en C#

Je reviens parfois à la documentation de base Savoir quand utiliser les mots clés override et new quand j’ai un doute car cette subtilité du langage peut être source d’erreur très compliquée à débusquer. Pour résumé avec deux phrases (prenez votre souffle) : override est obligatoirement utilisé sur une méthode abstract et doit être utilisé […]

Catégories
Logiciel Programmation

Installer virtualenwrapper pour Python 3 dans un environnement Python 2

Par exemple, sur une Linux Mint 19.3 Tricia basée sur Ubuntu 18.04.3 l’environnement de base est lié à Python 2. Cela pose problème quand on veut installer et utiliser virtualenv avec Python 3. Pour commencer, installez les setuptools spécifiques à Python 3 : Vous pourrez alors utiliser pip pour installer virtualenvwrapper pour Python 3 : […]

Catégories
Programmation

Inline des variables out à partir du C# 7

Si vous recevez des avertissements de variable out qui peuvent être inline, vous êtes en C# 7 ou plus. Depuis cette version, il n’est plus nécessaire de déclarer les variables out avant les appels de méthodes. Vous pouvez les déclarer inline, c’est à dire à la volée proche de la déclaration out. Elle peut être […]

Catégories
Programmation

Comment lancer un débogueur par programmation en C# ?

Si vous faites de la programmation avec des threads, il vous est déjà arrivé de vouloir attacher un débogueur à un process déjà lancé. C’est parfois trop long à faire à la main, le traitement est déjà fini, etc. Heureusement la CLR sait interpréter certaines fonctions bien pratique ! Vous pouvez appeler la méthode magique […]