Je partage l'avis de l'auteur !
Les microservices apportent plus de problèmes que de solutions aux problèmes qu'ils traitent. Ils augmentent d'un ou deux ordres de grandeurs la quantité de compétences à détenir pour exécuter une même tâche, ralentissent considérablement les développements, réduisent la robustesse applicative et impliquent des compétences folles en architecture réseau pour se maintenir.
Je suis intervenue sur un projet qui aurait clairement dû être un batch monolithique mais qui fût à la place découpé en trois microservices.
Résultat :
-
Des lenteurs incroyables car de simples appels de fonctions ont été remplacées par des appels réseau.
-
Lancer une des applications en local impliquait :
- De setuper le Postgre d'une appli A, puis de migrer son schéma à l'aide de liquibase.
- Idem pour l'application B.
- Idem pour l'application C qu'il fallait coder.
- Puis setuper un Kafka, créer et paramètrer une dizaines de topics, puis y injecter des messages.
- Lancer l'appli A
- Lancer l'appli B.
- En enfin, on pouvait lancer C pour la vérifier/debuger en local.
Moralité :
-
1 an de développement planifié, déja 1 an de retard et une livraison replanifiée au bout de 3 ans avec 70% des fonctionnalités initialement prévues.
-
Le projet qui aurait dû coûter 500 k€ aura coûté 5 millions.
-
Des problèmes de performances qui ont requis l'intervention d'experts de haut vol et une réécriture partielle des grosses briques.
Les microservices, c'est comme les antibiotiques, c'est pas automatique !
Task est un super outil d'automatisation. Il y a 4/5 ans @Kysofer avait décidé que nous n'utiliserions plus ni les jenkins file, ni les gitlab-ci.yml. Au début personne ne comprenait pourquoi ce changement et un jour j'ai percuté quand il m'a demandé de changer notre toolchain !
En scriptant tous nos processus de build sur Task, comme ce dernier avait été installé sur notre serveur d'intégration continue et ses agents, alors nous avons pu reproduire les build complets de la CI sur nos postes de dev, aussi bien pour les mettre à jour, que les débugger ou les tester ; mais en plus, nous étions devenus indépendant de la CI utilisée, par exemple nous avons quitté Jenkins en une demi journée à peine, sans impact sur une cinquantaine de builds.
Task est une excellente abstraction des moteurs de scripting des CI et elle marche partout !
Merci à @Kalvn pour le lien
Quelle est la meilleure technique pour utiliser des SVG en tant qu'icônes ?
Le principe est simple, Live.js va regarder régulièrement si les fichiers récupérés par votre page ont changé et va automatiquement réactualisé votre page.
Bref, vous ajouter la lib en balise <script> et vous obtiendrez le même mécanisme qu'avec Browser-Sync ! Super pour des sites dont le rendu est côté serveur <3
Certains arguments se tiennent. Le marketing autour de l'IA est surtout là pour vendre des licences afin de rembourser les sommes folles dépensées en R&D.
Les produits comme Copilot sont pour l'instant gratuit pour aider Microsoft à accumuler de la donnée (sur comment le code généré a été corrigé/adapté par le développeur), pénétrer le marché et s'éviter des problèmes juridiques puisque l'outil reproduit du code sous licence (en général Apache, MIT ou GPL) ce qui peut poser de sérieux problèmes en entreprise.
Design Patterns, Anti-Patterns and Refactoring articles and guides. Design Patterns video tutorials for newbies. Simple descriptions and full source code examples in Java, C++, C#, PHP and Delphi.
Un librairie avec plein d'effet de survol (hover) en CSS
Et vive le cycle en V
C'est vrai qu'elle traduit très très bien notre façon de procéder avec le fameux "code spaghettis" ou "tirage de pelote de laine".
Chlouchloutte, tu me posais la question de comment faire une appli mobile multi-plateformes et sans se prendre la tête.
Je te laisse me dire ce que tu penses de Cordova.
via : http://user23.net/links/index.php?g7BerQ (qui fournit une explication de comment installer l'outil)
Quelques bonnes pratiques résumées. J'ai bien le schéma de construction de la voiture.
Bon, je suis suis pas une grande fana de Cohen mais ce que j'ai pu lire dans cet article me semble être une rétrospective de bon sens.
Si vous ne comprenez pas, c'est que vous n'êtes pas un développeur web :D