Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 40 (October 2, 2023)

The Ultimate Guide to Stress-Free Symfony App Management with Supervisord

Tout est dans le titre

screen : Un multiplexeur de terminal pratique - Wiki - Wiki

Tout est dans le titre

Enrichir les Enums PHP avec des attributs : Guide complet Laravel

Tout est dans le titre

bassistance.de » Decision Record: Mocking in Jest tests

Tout est dans le titre

Utilize Dynamic Dispatch | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique en quoi l'utilisation des traits en PHP pose problème, ceux ci étant "statiques" par essence -> Il est impossible d'altérer le fonctionnement d'une des méthodes du trait pour l'un de ses utilisateurs. Au contraire, en utilisant une interface, on peut choisir la classe implémentant le comportement dont on a besoin (dispatch dynamique)

Abstract Classes vs. Interfaces | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html

L'auteur donne les règles du bon usage des interfaces versus les classes abstraites. Attention donc à ne pas sur utiliser les interfaces au détriment des classes abstraites

Google Testing Blog: The Secret to Great Code Reviews: Respect Reviewers' Comments

Tout est dans le titre

Linkwarden

Un concurrent de Shaarli

Devops - une refondation nécessaire ?

Tout est dans le titre

Comment rendre une PWA installable ?

Tout est dans le titre

Blog Stéphane Bortzmeyer: Visite des plate-formes Pharos et Thesee

Tout est dans le titre

Ubuntu 22 : Harbor

Harbor permet de stocker des images docker custom et de pouvoir les utiliser dans le cluster K8S.

Quelle touche utiliser pour accéder au BIOS UEFI de sa carte mère

Tout est dans le titre

CSS Shorthand Syntax Considered an Anti-Pattern – Harry Roberts – Web Performance Consultant

Souvent, écrire background: red signifie en réalité définir toutes les composantes du background : image, position, size, etc. L'autuer préconise d'être explicite et d'écrire plutôt background-color: red (via https://www.baldurbjarnason.com/2023/weeknote-6/ )

Build a GraphQL Gateway: Combine, Stitch or Merge any Datasource — SitePoint

L'auteur introduit la notion de BFF - Backend for Frontend - qui permet de combiner / orchestrer les requêtes du front : au lieu de multiplier les requêtes (CRM, commandes, notifications, etc.), on crée une API qui renvoie ces informations avec un seul appel. L'auteur montre ensuite comment GraphQL permet une grande flexibilité et évite "l'overfetching"

Optimizing Performance with Early Hints in Symfony 6.3

Tout est dans le titre

Fondamentaux de SAFe : De l’agilité d’équipe à l’agilité d’échelle

Tout est dans le titre

Débuter avec docusaurus | ROBERT Stéphane - Devops

Tout est dans le titre

Comment la lecture change votre cerveau

Tout est dans le titre

Extracting Data Objects | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique l'intérêt d'utiliser un objet pour passer des paramètres à une méthode (DTO). Il montre aussi comment réécrire le code pour passer d'un ensemble de paramètres / d'un tableau associatif à un DTO

static considered harmful | Kore Nordmann

L'auteur explique en quoi l'utilisation de méthodes statiques dans des classes PHP est généralement une mauvaise idée (sauf dans le cas d'une fabrique)

Code Reuse By Inheritance | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux mentionnés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique que la réutilisation de code par héritage est un code smell et il montre comment le corriger

Struct classes in PHP | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux référencés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html L'auteur défend l'usage des "struct classes" par rapport à l'utilisation de tableau avec clé / valeur (typage des champs, autocomplétion, cohérence, maintenance, etc.) Il attire l'attention sur un petit problème à ne pas oublier : les objets sont passés par référence dans les fonctions / méthodes et sont donc mutables.

[Synology] Envoyer un email de notification

Tout est dans le titre

Systèmes vs. objectifs

D'après l'auteur Système > Objectif car le système peut vivre sans objectif alors que le contraire est faux.

13 super rad web dev tricks you don't know about (but should) | Go Make Things
every Linux networking tool I know

Tout est dans le titre

Goodbye to sequential integers, hello UUIDv7!

Tout est dans le titre

FranceConnect+ ou GafamConnect+ ? | Grise Bouille

Navrant

Clean controllers in Symfony (II): response handling - DEV Community

Tout est dans le titre

tmux : Un multiplexeur de terminal pratique - Wiki - Wiki

Tout est dans le titre

Basic Refactoring Techniques: Extract Method | Kore Nordmann

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique la technique de refactoring d'extraction de méthode : comment faire et surtout dans quel but - diminuer la complexité, masquer les détails d'implémentation (ne pas mélanger les degrés d'abstraction), etc. Il donne aussi quelques recommandations pour ne pas introduire de bugs subtils (manipulation de tableaux, etc.)

Object lifecycle control | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur préconise de ne pas utiliser des noms de classes en paramètre d'une méthode car cela casse le principe d'inversion de dépendance entre autres.

L’origine astronomique d’Halloween - Couleur-Science

Tout est dans le titre

Injectables vs. Newables | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur fait la distinction entre newables, des objets chargés d'un état, et les injectables, des objets accomplissant les tâches.
Les bonnes pratiques qu'il défend sont :

  • les newables ne doivent pas dépendre d'injectables
  • les injectables ne doivent pas inclure de newables dans leurs attributs.
    Si ces 2 règles ne sont pas suivies, des effets de bord peuvent avoir lieu.
18 Life Lessons I’d Give My 18-Year-Old Self - Scott H Young

Tout est dans le titre

stepci/awesome-api-clients: List of awesome API clients. Postman and Insomnia alternatives

Tout est dans le titre

The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!) @ tonsky.me

Tout est dans le titre

Patterns for Reactivity with Modern Vanilla JavaScript | Frontend Masters
Les bagels en une heure (enfin presque) | Michtoblog

Tout est dans le titre

Présentation de BorgBackup, l'un des meilleurs outils de sauvegarde disponibles sous Linux - FLOZz' Blog

Tout est dans le titre