Des exemples d'utilisation de Postgres pour:
- un système de queue
- du pub/sub
- lock de ressources
Après les perfs ne sont pas les mêmes et Redis tiendra beaucoup plus la charge et avec une latence plus faible.
Un framework pour développer des extensions navigateur
Une explication sur le fonctionnement du stockage de données avec Postgres
Pleins de bon conseils de performance en Javascript
Une lib de composants UI. Sous le coude.
Un article qui parle des timeout en Node.js et de la manière dont ils peuvent être la cause de memory leak même en utilisant clearTimeout
.
L'objet Timeout conserve un contexte qui vient de la closure utilisée lors de la déclaration et il conserve aussi les références en provenance de AsyncLocalStorage si un contexte ASL est présent.
Bref, il vaut mieux set la variable à null une fois que l'on a clear le timeout.
Une queue de message construite avec Postgres.
Projet prometteur mais assez récent donc à utiliser avec précaution.
Tout se fait en SQL:
-- creates the queue
SELECT pgmq.create('my_queue');
-- messages are sent as JSON
SELECT * from pgmq.send('my_queue', '{"foo": "bar1"}');
SELECT * FROM pgmq.read('my_queue', 30, 2);
-- or
SELECT pgmq.pop('my_queue');
Une manière intéressante de calculer à quel point une lib est en retard par rapport à sa dernière version.
Rails 5.0.0 (June 2016) is 1 libyear behind 5.1.2 (June 2017).
Le document de travail de l'équipe de Flutter pour proposer une alternative à la stack HTML + CSS + JS.
En se basant sur des API low level: WASM, WebGPU et ARIA (accessibilité) pour render directement les pages web.
Web pages today are built on 25-year-old technology: a markup language for scientific documents from 1991, a scripting language from 1995 whose first version was implemented "in ten days", a styling and layout model from 1996, and an API from 1997 whose initial design was based on combining the independent inventions of two teams with little regard to the developer experience
Any application that can be written in JavaScript, will eventually be written in JavaScript.
Un historique de l'utilisation de Javascript dans le web. Les SPA n'ont pas les mêmes besoin qu'un site web (blog, e-commerce) et pourtant on se retrouve partout avec la même complexité.
Une version frontend des chiffres de latence à connaitre comme la latence d'une connexion 4G (15-50 ms) ou le temps nécessaire pour parser 1Mo de Javascript (150 ms)
La syntax de Javascript est tellement nul que depuis le début du langage, tout le monde cherche à utiliser des syntaxes alternatives.
Aucune de ces syntaxes ne survit sur le long terme car cela rajoute une couche de complexité à appréhender pour les développeurs.
Ici on a une nouvelle syntaxe qui change complètement le paradigme et le flow d'exécution.
Attention à ne pas mettre ce genre de chose en prod car c'est une énorme dette technique instantanément
Une liste de bon conseils pour structurer son JSON correctement dans la sortie d'une CLI.
Un système de queue qui utilise Postgres.
Ils expliquent comment ils ont construit cette gestion des queues et surtout le dépilage des tâches par des workers en présentant la structure des tables et les requêtes.
Ça à l'air chouette mais encore très peinture fraiche donc prudence :-)
Une solution pour faciliter la réalisation et le déploiement d'applications event-driven.
Ça gère la distribution des évènements dans des queues pub/sub avec des SDKs mais aussi la partie déploiement local et production de la stack en mode IAC.
Il y a aussi une UI pour la configuration, l'observabilité, les logs, etc
Ça peut être intéressant plutôt que de partir sur une infrastructure Kafka ou Rabbit
Comme Javascript, l'écosystème Python est aussi un sacré bordel 😅
Un article très complet et très intéressant sur le fonctionnement de HTTP/3 et de QUIC.
Une surcouche sur esbuild qui gère tout le bundle d'un projet Node, même dans un monorepo, sans rien avoir à configurer.
Enfin il faut juste créer tsup.config.ts
et mettre ça dedans:
import { defineConfig, type Options } from 'tsup'
export default defineConfig((options: Options) => ({
entryPoints: ['start.ts'],
clean: true,
format: ['cjs'],
target: 'node18',
sourcemap: true,
...options,
}))
Puis npx tsup
et finalement lancer avec node --enable-source-maps dist/start.js
Avec la hype des framework frontend bundlé, on a des pages qui chargent constamment plusieurs Mo uniquement de Javascript.
Même de simple landing page font plusieurs Mo.
La palme de performance review à Pornhub avec seulement 1.4 Mo et bien sur Jira se positionne confortablement dans les dernières places (50 Mo)
Mention spécial à react.dev qui charge continuellement du JS jusqu'à atteindre la centaine rien qu'en scrollant quelques articles.
C'est intéressant de voir dans la dernière partie comment le fisc utilise la technologie pour traquer les fraudeurs fiscaux.
Des data scientist qui travaillent avec R, surement du machine learning en Python et même Neo4J pour explorer les graphs de relations.