Quotidien Shaarli

Tous les liens d'un jour sur une page.

May 25, 2025

A Pragmatic guide to SOLID principles in Symfony | by Roman Huliak | May, 2025 | Medium

L'article explore comment appliquer les principes SOLID dans le cadre du développement avec Symfony. Voici un aperçu des points clés abordés :

  1. Single Responsibility Principle (SRP) : L'article explique comment structurer les classes dans Symfony pour qu'elles aient une seule responsabilité, facilitant ainsi la maintenance et les tests.

  2. Open/Closed Principle (OCP) : Il montre comment concevoir des composants Symfony qui sont ouverts à l'extension mais fermés à la modification, en utilisant des techniques comme l'héritage et les interfaces.

  3. Liskov Substitution Principle (LSP) : L'article discute de l'importance de s'assurer que les objets des sous-classes peuvent remplacer ceux des classes de base sans affecter le comportement du programme, un concept crucial pour la réutilisabilité du code.

  4. Interface Segregation Principle (ISP) : Il met en avant l'avantage d'utiliser plusieurs interfaces spécifiques plutôt qu'une seule interface générale, permettant aux classes de n'implémenter que les méthodes nécessaires.

  5. Dependency Inversion Principle (DIP) : L'article souligne l'importance de dépendre des abstractions plutôt que des implémentations concrètes, en utilisant l'injection de dépendances et les interfaces pour rendre le code plus flexible et réutilisable.

En appliquant ces principes, les développeurs peuvent créer des applications Symfony plus robustes, maintenables et évolutives. L'article fournit des exemples pratiques et des conseils pour intégrer ces principes dans les projets Symfony.

PostgreSQL pour remplacer Redis · Accueil

En 2024, Redis a changé de licence, incitant l'auteur à explorer PostgreSQL comme alternative pour gérer des données volatiles, offrant une meilleure organisation des données et simplifiant la stack technique. PostgreSQL permet de structurer les données de manière plus élégante grâce à l'héritage de tables et gère l'expiration des données via des requêtes planifiées, bien que cela nécessite une gestion manuelle. Bien que Redis soit plus performant, PostgreSQL, avec des tables UNLOGGED, offre des performances suffisantes pour la plupart des applications, tout en simplifiant l'infrastructure et en évitant les problèmes de licence.

How to Build Scalable Web Apps with React JS — SitePoint

La scalabilité est essentielle pour la survie des applications, permettant de gérer plus d'utilisateurs, de données ou de fonctionnalités sans dégradation des performances. React, avec son architecture basée sur les composants, le Virtual DOM et un flux de données unidirectionnel, offre une base solide pour construire des applications web évolutives. L'article présente les meilleures pratiques pour des applications React évolutives : l'optimisation de la taille des bundles avec le code splitting et le lazy loading, une gestion efficace de l'état, et l'utilisation de composants et de hooks personnalisés.

Passwords are okay, impulsive Internet isn't

L'article critique l'adoption des "passkeys" comme alternative aux mots de passe, soulignant les problèmes liés à la dépendance envers les grandes entreprises, les implémentations propriétaires complexes et la nécessité d'utiliser des smartphones. Il met en garde contre les risques pour la vie privée et la liberté, tout en remettant en question l'efficacité réelle des passkeys pour améliorer la sécurité.

Logs serveur Linux : guide complet pour surveiller le démarrage et les connexions

L'article explique comment surveiller les logs sur un serveur Linux pour améliorer la sécurité et diagnostiquer les problèmes. Il détaille l'emplacement des fichiers de logs dans /var/log et l'utilisation d'outils comme journalctl pour analyser les logs de démarrage et de connexion. Il aborde également la configuration de la rotation des logs via /etc/logrotate.conf.

How I Set Up New MacBooks

L'auteur détaille son processus d'installation pour ses machines sous MacOS :

  • utilisation d'un fichier Brewfile pour installer des outils avec Homebrew
  • définition de paramètres par défaut (en utilisant la ligne de commande)
  • installation de plugins Zsh et définition d'alias