Article explicatif de l'implémentation du Write-Ahead Logging (WAL) dans SQLite.
Le WAL est le mécanisme permettant de garantir que l'on ne perd pas de données lors de la persistence de la base de données sur le disque.
Un exemple d'utilisation des Protocol Buffers en Node.js.
L'exemple utilise l'excellente lib Protobuf.js qu'on utilise aussi dans le coeur de Kuzzle pour la communication entre les noeuds du cluster ;-)
J'en parlait ici aussi https://links.aschen.tech/shaare/R6dzhw
Un REX du gouvernement Britannique qui a enlevé JQuery de ses pages (32Kb compressé).
Ils ont observé une amélioration de 17% des performances en moyenne!
Par contre, ils n'ont pas utilisé d'autre lib JS à la place non plus :-)
Deno annoncent quelques changements avec notamment le support des packages JS en provenance de NPM!
Ils annoncent aussi qu'ils souhaitent être le moteur JS le plus rapide.
Je ne serais pas surpris que cela soit poussé par la sortie de Bun.js qui a de très bonnes performances, supporte le typescript et les packages NPM
Un excellent exercice de refactor pour appliquer l'injection de dépendance !
L'injection de dépendance est un des principaux design pattern pour réduire le couplage entre les classes et pour créer du code plus facilement testable.
Je partage totalement cet opinion sur Typescript du point de vue du développeur de framework.
Quand on est simplement utilisateur, on est content d'utiliser les types et on veut en voir partout.
Quand on doit écrire ces types, c'est rapidement un casse-tête assez important si on veut le faire correctement!
Regardez cette définition dans redux-toolkit par exemple 🙄
Les créateurs de Deno ont même décidé de ne PLUS utiliser Typescript dans leur codebase interne car cela devenait trop complexe de maintenir les types.
VScode est un produit "gratuit" de Microsoft, donc nous sommes les produits.
Plus de 1600 données différentes sont collectées par VSCode avec notamment:
- toutes les informations de sessions (temps passé, dernière session, etc)
- toutes les informations sur votre ordinateur
- tout ce que vous faite dans l'IDE (ouverture de fichier, search & replace, etc)
Il est impossible de désactiver totalement la télémétrie.
Si possible, il faut se tourner vers l'alternative libre VSCodium
Bun, le runtime Javascript qui se présente comme une alternative à Node.js, a levé 7 millions de dollars.
Ils recrutent maintenant pour sortir une version stable de leur produit.
A suivre de très près !
Un article intéressant de Spotify qui avait besoin d'une manière de visualiser correctement les interactions entre leurs centaines de services.
Ils n'ont pas utilisé UML (thanks god!) mais plutôt le C4 Model qui est un diagramme à 4 niveaux:
- Contexte: comment s'intègre notre système avec d'autres systèmes (service mail externe, autre système métier, etc)
- Containers: quels sont les principaux composants de notre système (app mobile, base de données, frontend admin, etc)
- Components: principales briques métiers de chaque container (CartController, EmailService, etc)
- Code: classes composants les briques métiers
Je connaissais pas mais ça à l'air d'être un outil approprié pour définir visuellement des systèmes très complexes tout en offrant la possibilité de "zoomer" dans des niveaux plus détaillés
Un article présentant un framework pour micro-frontend avec tout le tooling pour se simplifier la vie.
Attention car même avec Piral, gérer un ensemble de micro-frontend est beaucoup plus compliqué.
Une telle décision d'architecture doit se reposer uniquement sur un besoin d'organisation d'une grande équipe en plus petites équipes focalisée sur un domaine de l'application.
Plus d'info sur les micro-frontend https://links.aschen.tech/shaare/AuKMeA
Un moyen d'eméttre un bip sur linux à chaque fois qu'une info est envoyée à Google.
Ça fonctionne avec tcpdump
et une liste d'IP appartenant à Google.
Chez moi j'ai du spécifier toutes les interfaces avec -i any
Voir le résultat en vidéo
Un autre article qui parle d'Equity, orienté sur les mécanismes qui existent au US (le dernier parlait des mécanismes Français, les BSPCE)
Ils donnent une liste de "red flags" de certaines entreprises qui font miroiter monts et merveilles:
- termes abusifs si on quitte l'entreprise, comme rendre les actions si on part avant 4 ans
- période d'activation (exercer ses BSPCE pour acheter des actions) supérieur à 4 ans
- courte période pour exercer ses BSPCE si on quitte l'entreprise
- BSPCE donnés en euro plutôt qu'en nombre
Des ordinateurs qui crashent lorsqu'on joue une musique dessus, et qui font même crash les ordinateurs voisins!
Une musique contenait des fréquences qui correspondaient à la fréquence de résonnance des disques dur de certains modèles de laptop.
Un site qu'il faut ouvrir depuis une application pour savoir si le navigateur intégré à l'application injecte du javascript pour espionner le comportement de l'utilisateur pendant qu'il navigue.
TikTok sont vraiment les pires car ils enregistrent toutes les touches clavier et empêchent d'utiliser le navigateur natif du téléphone.
Les applications de Meta (Facebook, Instagram, Messenger) analysent votre comportement sur le site web via les cliques.
Une centrale qui crée du Kérosène à partir de l'énergie solaire, de l'eau et du dioxyde de carbone.
Le rendement énergétique est de 4%, ce qui est énorme comparé à la photosynthèse des plantes (0.1 à 2.5%)
(Via https://lehollandaisvolant.net/?mode=links&id=20220816141619)
Un revendeur de skin CS:GO s'est fait hacké ses comptes contenant les skins et les voleurs ont donc mis la main sur plus de 6 millions de dollars de skins.
Cette industrie du skin est vraiment dingue, ça rappelle beaucoup celle des NFT sauf qu'il n'y a pas besoin de blockchain pour ça au final 🙄
😄
Une bonne introduction aux micro-frontends.
Finalement ça répond au même besoin que les micro-services, pouvoir scale son produit en plusieurs équipes qui peuvent travailler de manière indépendante sur des parties du produit.
Les micro-frontends sont au frontend ce que les micro-services sont au backend.
A utiliser avec parcimonie donc
C'est vrai que Redux n'est pas forcément nécessaire pour démarrer une app React, tout comme Vuex ne l'est pas pour une app Vue.
Comme pour chaque outil, il faut se demander si l'on en a vraiment besoin et surtout si ça répond à un problème.
Chaque outil rajoute une couche de complexité cognitive supplémentaire qui ralentit et complique le développement.