Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 18 (May 1, 2023)

TypeScript : Programmation de types - Code Heroes

L'auteur explique la création de types personnalisés en TypeScript, et leur utilité.

8 Cognitive Biases in Software Development

L'auteur explique les effets néfastes des biais cognitifs dans le développement. Il met l'accent sur 8 biais :

  • le biais de l'optimisme (notamment pour les estimations de durée de développement)
  • le biais de sur confiance
  • le biais de confirmation (on ne tient compte que ce qui va dans nos préjugés)
  • le vœu pieux (on ne confronte pas à la dure réalité)
  • le biais d'ancrage (toujours pour les estimations de durée, la 1ère étant souvent prise comme référence -> d'où l'idée du poker planning, où toutes les estimations sont dévoilées en même temps pour éviter de s'influencer)
  • l'effet du "train en marche" (notamment sur l'envie collective d'essayer une nouvelle technologie, sans que ça serve au business)
  • le culte du cargo ("on a toujours fait ainsi")
  • le biais de correspondance (si j'écris du mauvais code, c'est les circonstances - si mes collègues écrivent du mauvais code, ils sont mauvais)

Il donne quelques pistes pour y remédier (jouer l'avocat du diable, ne pas prendre de décision à chaud, formuler ses phrases pour éviter d'influencer via le biais d'ancrage, etc.)

Apache et PHP sous Rocky Linux 8 – Le blog technique de Microlinux

Tout est dans le titre

Typesense, le remplaçant d'ElasticSearch ?

Il s'agirait plutôt d'un concurrent d'Algolia, en tant que moteur de recherche multi facettes

Kubernetes - Premiers pas avec l'operateur Ansible

Tout est dans le titre

What is Software Entropy And How To Manage It?

Tout est dans le titre

Neovim and Tree-sitter: An Overview with Examples

Tree-sitter est un outil de génération de parsers et une bibliothèque d'analyse progressive. Il peut construire un arbre de syntaxe pour un fichier source et le mettre à jour efficacement lors de l'édition du fichier.

L'auteur montre comment l'intégrer à Neovim

Vim for PHP: The Complete Guide for a Powerful PHP IDE

Tout est dans le titre

A Vim Guide for Adept Users

Suite de https://thevaluable.dev/vim-advanced/, on y apprend :

  • plein de raccourcis claviers pour les modes INSERT et VISUAL
  • les regex dans Vim ont plus ou moins de "magie"
  • un atome dans une regex Vim est un pattern correspondant à un caractère
  • les métacaractères de taille 0 (comme ^ et $) ne correspondent à aucun caractère mais peuvent permettre de restreindre les correspondances selon le contexte
  • on peut utiliser les "marks" dans les regex
  • on peut lancer n'importe quelle commande du shell avec :!
  • on peut insérer la sortie de commandes shell dans Vim avec :read
  • on peut plier / déplier du contenu
OpenSSL Cookbook 3rd Edition

(via https://linuxfr.org/news/openssl-cookbook-est-maintenant-en-libre-diffusion-cc-by-nc) une liste de manières d'utiliser OpenSSL, que ce soit pour créer une autorité de certification privée complète ou pour tester la sécurité de votre serveur.

À noter que ce cookbook est extrait du livre de référence Bulletproof TLS et PKI

Aligning Content In Different Wrappers - Ahmad Shadeed

Un problème de mise en page CSS

Modern Font Stacks

Un ensemble de polices (pour les CSS) organisé par type et présent dans chaque OS : cela évite le téléchargement d'une police avec l'effet FOUT

Comment fonctionnent les billes déshumidifiant en silicates ? - Couleur-Science

Tout est dans le titre

Ne confondons pas hiérarchie et expertise - Le Hollandais Volant

Rien à ajouter

Retour sur les conférences de la Kubecon 2023, partie 3/3 - La sécurité

Tout est dans le titre

Retour sur les conférences de la Kubecon 2023, partie 1/3 - L’outillage, DevOps & CI/CD

Tout est dans le titre

Partie 6 : Vers une normalisation des dérivations

Suite de https://lafor.ge/nix-5/ l'auteur montre une approche pour normaliser / automatiser la création de dérivations.

SwebDev - Améliore ta gestion des couleurs avec hsl()

L'auteur montre aussi l'utilisation de variables CSS pour créer des déclinaisons

(mcorbin.fr): Kubernetes multi cluster et multi région en GitOps avec ArgoCD

Tout est dans le titre

Serveurs DNS DOH/DOT - Liens en vrac de sebsauvage

Tout est dans le titre

Programming Side Project Case Study With DevDash

L'auteur présente le contexte de développement de DevDash, un outil en CLI pour afficher des données type Google Analytics.

En particulier, on y apprend où et qand il a eu l'idée, comment il a défini ses buts, comment il a géré le projet et choisi la technologie. Comment s'est passé le process de développement (Pomodoro) et comment il a fait la promotion de son outil.

A Vim Guide For Experts

Suite (et fin ?) de https://thevaluable.dev/vim-veteran/, on y apprend :

  • l'utilisation de :verbose pour afficher où une abréviation, une option, un mapping ou une commande utilisateur est défini
  • l'existence d'arguments spéciaux pour augmenter les capacités de nos mappings
  • la commande :execute pour exécuter une chaîne de caractère comme si c'était une commande
  • les autocommandes liées au déclenchement d'un événement (ouverture de fichier, etc.)
  • l'utilisation de groupes d'autocommandes, notamment pour éviter d'ajouter plusieurs fois la même commande dans une liste d'autocommandes
  • les fonctions custom
  • l'autoloading et les namespaces - pratique pour accélérer le temps de chargement de Vim
A Vim Guide for Intermediate Users

La suite de https://thevaluable.dev/vim-commands-beginner/ on y apprend :

  • l'utilisation des buffers, des windows, des tabs et de la liste des arguments.
  • comment créer ses propres raccourcis clavier pour n'importe quel mode de Vim
  • comment utiliser des raccourcis pour naviguer à travers la liste des changements, des fichiers ouverts, etc.
  • comment créer et utiliser des macros
  • comment lancer / relancer des commandes et naviguer dans l'historique (y compris en les modifiant)
  • comment la fonction undo de Vim permet d'annuler une modification, même après avoir fermé Vim
  • comment gérer et installer des plugins
Flexbox Dynamic Line Separator - Ahmad Shadeed

Tout est dans le titre

Sécurité - Trivy scanne désormais les clusters Kubernetes

Trivy est un outil d’audit de sécurité tout-en-un pour les conteneurs Sa dernière version ajoute le scan des clusters Kubernetes

Utilisation de træfik pour publier ses conteneurs Docker · Olivier DOSSMANN

Tout est dans le titre

An Introduction to the :has() Selector in CSS — SitePoint

Tout est dans le titre

Retour sur les conférences de la Kubecon 2023, partie 2/3 - L’architecture Cloud Native

Tout est dans le titre

Les Keynotes de la Kubecon Europe 2023

Tout est dans le titre

Understanding and Preventing Burnout as a Software Developer

Tout est dans le titre

10 Ways You Can Use ChatGPT to Learn Better - Scott H Young

Tout est dans le titre

Comment avoir plusieurs profils Git ? | vmaerten's blog

Une bonne astuce

Quick Tip: Set Relative URLs With the “base” Tag

Tout est dans le titre

L'algorithme KMP

L'auteur explique le fonctionnement de l'algorithme KMP, algorithme de recherche de sous-chaîne.

Les limites des bandes magnétiques

Tout est dans le titre

Versioning, Releases : semantic-release est là ! - Première partie - Aukfood

Tout est dans le titre

Apache et les hôtes virtuels sous Rocky Linux 8 – Le blog technique de Microlinux

Tout est dans le titre

How to Blur Faces in a Video from Command Line

Tout est dans le titre

A Vim Guide For Veteran Users

Suite de https://thevaluable.dev/vim-adept/, on y apprend :

  • d'autres raccourcis en mode INSERT et en mode COMMAND-LINE
  • l'utilisation des abréviations
  • comment enregistrer ses réglages courants dans un fichier avec :mk nom_du_fichier
  • comment enregistrer sa session courante avec :mks nom_du_fichier
  • ce qu'est un fichier viminfo (pour Vim) ou shada (pour Neovim)
  • l'utilisation des redirections et des filtres
A Vim Guide for Advanced Users

Suite de https://thevaluable.dev/vim-intermediate/ on y apprend :

  • plusieurs raccourcis commençant par "g"
  • comment remplacer une expression par une autre (utiliser de préférence :sm si le pattern cherché est une regex)
  • les intervalles (par exemple .,.+10 désigne l'intervalle allant de la ligne courante à 10 lignes après)
  • la liste des positions dans différents fichiers
  • la liste des "quickfixes" et des "locations"
  • l'utilisation des "marks"