Hebdomadaire Shaarli

Tous les liens d'un semaine sur une page.

Semaine 03 (January 16, 2023)

Symfony 6.2 : Simplifiez vos contrôleurs avec ArgumentResolver – CODE|DESIGN•fr

L'idée est de construire un objet automatiquement à partir de paramètres de l'URL... ce que permet de faire l'ArgumentResolver de Symfony (remplace le ParamConverter)

Quick Tip: How To Read a Local File with PHP — SitePoint

Tout est dans le titre

Mon apprentissage du TDD (retour d'expérience)

L'auteur décrit les 7 étapes dans son apprentissage du TDD

Étape 1. Le lâcher prise : barrière psychologique
Étape 2. Petit à petit, on est moins petit : la vraie valeur de TDD
Étape 3. Abuser de son IDE
Étape 4. La liberté du refacto : la confiance en notre code
Étape 5. Ne pas refacto trop tôt
Étape 6. Tests techniques versus tests métier
Étape 7. Double loop BDD TDD <3

CORS

Une BD humoristique sur les problèmes liés à CORS... avec quelques liens pour les résoudre

Découverte de l'IAM de Scaleway

L'auteur présente la solution d'IAM (Identity and Access Management) de Scaleway, notamment vis à vis de son intégration à Terraform.

The DRY Principle: Benefits and Costs with Examples

L'auteur évalue les avantages et inconvénients du principe DRY - don't repeat yourself - tel qu'énoncé dans le Pragmatic Programmer. Ce principe explique surtout qu'il y a un gros avantage à avoir une seule source de vérité pour la connaissance métier. Cela n'implique pas que le code ne soit jamais dupliqué - "la duplication est bien moins coûteuse qu'une mauvaise abstraction"

Using Symfony service tags to keep code maintainable | by Leaseweb | Jan, 2023 | leaseweb

Un service Symfony a besoin d'un autre service, mais ce besoin varie selon le contexte d'exécution. L'auteur montre l'utilisation des tags pour injecter automatiquement tous les services utilisés.

Détecter les vulnérabilités dans les dépendances de son projet - Blog de Simon Vieille

L'auteur présente Open Source Vulnerability Detector aka osv-detector qui permet de détecter les vulnérabilités des dépendances de tous types de projet (utilisation de npm, de composer, etc.) Il a même créé une image docker pour l'utilisation dans une CI

Petite introduction à WebAssembly

L'auteur présente WebAssembly, à travers quelques exemples de programmes.

Developer Side Projects: 10 Steps From Creation to Launch

L'auteur donne de bons conseils pour gérer ses side projets

PHP 7.2: the Traps to Avoid for a Better and Cleaner Code

Dans ce vieil article, l'auteur montre les dangers de nouveautés introduites par PHP 7.2, notamment le possible mauvais usage du type "object". D'une manière générale, il insiste sur le fait de préciser au maximum la classe / interface des objets plutôt qu'un type générique ne donnant aucune information sur les champs / méthodes possibles.

How My Views on Learning Have Changed Over Time - Scott H Young

Scott Young fait une rétrospective de l'évolution de ses idées sur l'apprentissage.

Gestion du cycle de charge et de décharge d'une tablette sous Home Assistant | OmiTech

Tout est dans le titre

Decathlon, à fond la surveillance | Pixel de tracking

Tout est dans le titre

AWS - Activez l'auto-complétion boto3 dans vscode

La librairie boto3 facilite le développement sur lambda AWS ou l'écriture de code d'infrastructure AWS. L'auteur montre l'installation d'une extension boto3 dans VSCode qui fournit l'autocomplétion

fetch with Timeout

Tout est dans le titre

Que vaut Symfony-UX/Turbo en production ?

L'auteur présente les avantages de Symfony UX / Turbo / Stimulus

Symfony service subscribers

Dans un projet Symfony, un service peut avoir besoin d'autres services, mais ce besoin varie en fonction du contexte d'exécution...Au lieu d'injecter tous les services pouvant être utilisés dans le constructeur, on peut utiliser un "service subscriber" à la place. L'auteur montre comment faire.

Side Projects for Software Developers: Tools and Practices

L'auteur détaille les outils qu'il utilise et ses méthodes - voici le résumé :

  1. Noter ses idées dans Google Keep
  2. Définir les objectifs de son projet : objectifs généraux et objectifs "temporels" (court, moyen et long terme)
  3. Demander des retours au bon moment, aux bonnes personnes (définir son audience)
  4. Apprécier le temps de développement (choix des technos, frameworks, etc.) - utilisation de la méthode Pomodoro. S'il ne se sent pas motivé, l'auteur tente pendant 10 min de coder... Souvent ça suffit, mais sinon il s'arrête.
  5. Moins on s'éparpulle, mieux c'est - utilisation de Kanban avec Trello, une seule tâche "en cours" à la fois - pas d'évaluation précise du temps mais un macro sizing
  6. Prendre des habitudes - méthode "ne pas briser la chaîne" pour s'assurer de consacrer un minimum de temps chaque jour.
  7. Ne pas se mettre de pression inutile
  8. Éviter le perfectionnisme en se donnant des limites
La mémoire physique

L'auteur vulgarise l'architecture de Von Neumann : comment fonctionne la RAM, sa relation avec le CPU, etc. L'article est long mais se lit très bien

Minimal Dark Mode Styling – Eric’s Archived Thoughts

Le code css pour avoir un dark mode minimaliste

@media (prefers-color-scheme: dark) {
    html body {filter: invert(1);}
    /* the following really should be managed by a cascade layer */
    html img, 
    html img.book.cover, 
    html img.book.cover.big, 
    html [#archipelago](./add-tag/archipelago) a:hover img {filter: invert(1);}
    html [#thoughts](./add-tag/thoughts) figure.standalone img {
      box-shadow: 0.25em 0.25em 0.67em [#FFF8](./add-tag/FFF8);
    }
}
5 tips for using oc to work faster in Kubernetes | Enable Sysadmin

Remplacer la commande kubectl de Kubernetes par oc d'OpenShift

Behat pour les tests fonctionnels d'une commande Symfony

L'auteur montre, via ce tutoriel, l'utilisation de Behat pour tester une commande Symfony. Il donne des solutions pour quelques problèmes que l'on pourrait rencontrer : utilisation du service locator, contexte d'exécution, etc.