Le taux de couverture de code (code coverage) est un indicateur très incomplet, dont l'auteur montre bien les limites. Il propose d'utiliser, en plus, le taux de couverture des chemins d'exécution (branch coverage) qui pallie certains défauts du code coverage.
Tout est dans le titre
Sebsauvage partage ses astuces pour faire des sauvegardes efficaces, en vérifiant l'intégrité des données.
Un lanceur d'applications
Scott Young décrit en quoi consiste l'étape d'apprentissage appelée "plateau intermédiaire". Il s'agit du moment où l'acquisition de nouvelles compétences dans un domaine est de plus en plus difficile.
Il donne 3 causes possibles à ce problème, et propose 1 solution pour chaque.
L'auteur présente une manière de connecter Joplin à son instance Nextcloud afin de limiter l'accès au strict nécessaire
L'auteur montre comment installer Stable Diffusion en local
L'auteur montre comment se créer son petit système d'intégration continue, à partir d'une machine compatible unix. L'idée est d'héberger des dépôts git "bare" et d'utiliser des hooks "post-receive" (après exécution d'un git push) pour lancer des tâches. Ces hooks passent en paramètre les "git ref" nécessaires pour connaître le contexte d'exécution (branche pushée) L'auteur propose d'utiliser redis pour stocker les messages (statut, ref, etc.)
Apache Guacamole sert à la prise en main à distance d'applications bureautiques, via le support de protocoles tels que VNC, RDP et SSH mais aussi via le navigateur web grâce au HTML5. L'auteur détaille une procédure d'installation pour les applications suivantes :
- Audacity
- Blender
- Darktable
- Digikam
- Doublecommander
- Filezilla
- Firefox
- Kdenlive
- Libreoffice
- Mysql-workbench
- Pidgin
- Qdirstat
- Remmina
- Sqlitebrowser
- Wireshark
L'auteur explique les choix qu'il a fait en matière d'hébergement :
- un cluster de Raspberry Pi sur lequel tournent des containers d'application
- réseau géré via Docker Swarm
- un stockage distribué avec Gluster
- sauvegarde toutes les nuits sur un NAS et toutes les semaines chez un hébergeur
- supervision avec Prometheus / Grafana
Dans ce tutoriel, l'auteur montre comment configurer un serveur Web Apache de manière à bloquer l'accès à notre site Web à certains pays, ou à l'inverse, autoriser uniquement certains pays à se connecter.
Pluto est un outil cli qui vérifie si vos fichiers yaml de configuration Kubernetes sont à jour vis-à-vis de l'évolution de Kubernetes.
L'auteur présente des exporters Prometheus qui peuvent s'avérer pratiques pour administrer un cluster Kubernetes.
L'auteur utilise Redis et la création d'un attribut PHP (décorateur) pour marquer certains points d'entrée comme "lockables" pendant un certain temps (sémaphore).
L'auteur explore comment se conformer à la Clean Architecture en utilisant Symfony.
document.elementFromPoint permet d'obtenir l'élément directement présent aux coordonnées x,y
Il existe aussi document.elementsFromPoint qui liste l'ensemble des éléments (par inclusion)
Les navigateurs fournissent des événements liés à l'impression : beforeprint et afterprint
Les navigateurs fournissent les propriétés booléennes window.personalbar, window.locationbar, et window.menubar properties
L'auteur présente une alternative aux UUID qui permet de conserver l'ordre : les ULIDs - Universally Unique Lexicographically Sortable Identifier
L'un des problèmes de la récursivité est le dépassement de mémoire, chaque appel récursif ajoutant des données à mémoriser. Il est possible d'éviter cela tout en conservant la récursivité en utilisant la récursion terminale. Au lieu d'écrire
function factorielle(int n) {
if (n <= 1) {
return 1;
}
return n * factorielle(n - 1);
}