« Python remplace Javascript en première place des langages utilisés dans les projets sur Github. Malheureusement c'est pour faire du code utilisant le l'IA ou généré par une IA. Il va falloir plus de centrales nucléaires... »
« Une présentation succincte de Jupyter Releaser, outil développé par l'équipe Jupyter pour automatiser le processus de publication de ses projets mais utilisable, selon l'article, pour des publications PyPI ou npm tierces. »
« If you want to build your own front-end on top of your favorite GenAI, or if you are simply curious about how web interfaces work with LLMs, this post is for you. It covers for example Fetch API alongside the Streams API, the EventSource API and async iterables. »
Reckoning
[Romain (via le blog de Simon Willison)]
mardi 20 août 2024
« Une série d'articles où l'auteur discute comment l'obsession pour l'écriture complète des front-ends web en Javascript (sous forme de single-page app ou SPA) nuit aux usagers des services publics aux États-Unis (c'est sans doute généralisable...), en particulier à ceux du service SNAP qui fournit une aide alimentaire. »
« Si vous utilisez polyfill.io dans vos sites web: arrêtez tout de suite. Si vous allez sur des sites qui l'utilisent, bloquez polyfill.io. Le code javascript fourni inclut du code malicieux. »
« Co-creator of SQL, Donald Chamberlin, discusses about SQL, NoSQL, and an attempt to overcome the "impendance mismatch" between JavaScript, JSON and Relational Databases: SQL++. »
« A deep dive and code from scratch to better understand how React hooks work. It talks about JavaScript fundamentals like closures, module pattern, ... It has been partially reviewed by one of the React creator, Dan Abramov and turned since into a talk. »
« This HackerNoon's post discuss the motivation behind migrating away from an ORM to get closer to SQL and the database. An excellent reminder that an ORM is just a tool that comes with costs and benefits. »
« Next.js is a popular framework built on top of React. Coming from React, or simply the "frontend" world, where everything runs on the browsers could feel a bit confusing. In Next there are different ways like CSR (Client Side Rendering - everything runs on the browser), SSR (Server Side Rendering), Static Site Generation (SSG), ISR (Incremental Static Regeneration). This article explains all of them. »
« Early in 2023 the Svelte library was "ditching" TypeScript for JavaScript and JSDoc. This article gives some ideas about how strong typing can be achieved with JavaScript, JSDoc and VSCode (and ... TypeScript types :D). For those who are less familiar with TypeScript, (and are not afraid of stumbling people animated gifs) this article covers a lot too. »
« TypeScript 5.0 is now available, with some changes as: standard decorator support (it was experimental before), const parameters, real union enums ... »
« From Wikipedia: "Images of the Mandelbrot set exhibit an elaborate and infinitely complicated boundary that reveals progressively ever-finer recursive detail at increasing magnifications; mathematically, one would say that the boundary of the Mandelbrot set is a fractal curve. The "style" of this recursive detail depends on the region of the set boundary being examined."
This purely in-browser application (with JavaScript Web Workers) let you explore this mesmerizing fractal. You can zoom in any region many times. For an optimum experience you could read the instructions. »
« JavaScript does not come with concept of classes, as other mainstream language do. Instead it comes with prototypes. Since around 2016 though, with its ES6 version, JavaScript has a "class" keyword. This article, strongly opinionated, gives insights about what are prototypes, and how the "JS Classes" may confuse programmers. »
« Des équipes de l'université de Washington ont travaillé avec des utilisateurs de lecteurs d'écran pour concevoir VoxLens, un plugin JavaScript qui permet aux gens d'interagir avec des visualisations en ligne en ajoutant une seule ligne de code. »
« On pensait qu'avec l'usage généralisé de l'Unicode dans la représentation des chaînes de caractères les mauvaises surprises en manipulant des strings resteront derrière nous. Hélas, sur le terrain, cela ne se vérifie pas toujours ... »
« macOS n'est pas en reste: un malware très performant qui peut installer une backdoor si on se rend sur un site malicieux avec un navigateur se fondant sur WebKit a été détecté (le lien donné en fin d'article rentre plus dans les détails techniques). »
« Deno is a runtime for JavaScript and TypeScript, started by the creator of Node (Ryan Dahl) around 2018. Its stable release is a bit more than one year old. This article gives a bit more detail than the official documentation about the differences between Node and Deno. »
« Express gives you an entire freedom regarding how you structure your REST API. For seasoned backend developers, it is very nice as they can implement whatever layering they are experienced with (model, controler, services, data access layer, ...). For beginners it could be very disturbing. This articles gives explanation about an implementation with few layers, and why they should be separated. »
« Choosing a language is an architectural choice critical for many things: safety, libraries support, recruitment, ... There is no right or wrong, only choices. Once chosen, it is nice to estimate the balance between benefits and costs. Eric Elliott shares one of hist experience on the matter. »
« In JavaScript, 'modules' come from a long way. From wrappers to IIFE (Immediatly Invoked Function Expression) Modules, this articles explains a lot of what happens behinds the hood when you confidently type 'require' or 'import', and when you use bundlers such as Webpack. »
« Sometimes Design patterns have different names depending on the programming languages, sometimes not. Today I would like to share with you the 'Mixins'. This first part describes well the JavaScript Side. »
« This talks start from basic stuff and manages to explain in a very visual (and funny) way how the event loop and the different queues works (tasks, animation callback, micro tasks). Understanding the way a JS engine works behind the hood is very important to render things at the screen frequency, and avoid some some traps encoutered when testing pages with JS. »
« Si WebGL ne suffit pas pour vous, voici une série d'article (en cours) qui présente WebGPU, la récente API Javascript destinée à fournir de nouvelles possibilités en matière d'affichage 3D et de calcul. La progression de l'intégration de cette API dans les différents navigateurs est suivie sur cette page: https://github.com/gpuweb/gpuweb/wiki/Implementation-Status. Il vous faudra par exemple activer le flag enable-unsafe-webgpu dans Chrome Canary pour voir le résultat. »
« Comme tous les ans depuis 2015, le standard ECMAScript se renouvelle sous le nom de ES11 ou ES2020 (sortie prévue en juin). Cet article nous donne un aperçu des nouveautés attendues cette année. »
« Un article très pédagogique pour définir le fonctionnement d'un compilateur just-in-time. C'est en fait la deuxième partie d'une série d'articles très intéressants présentant WebAssembly. »
« WebAssemby ouvre les portes du Web à d'autres langages que le Javascript comme C, C++ et Rust. L'auteur fait ici un retour d'expérience sur son utilisation en C++ et propose un banc de test pour tester ses propres librairies. »
« PixiJS est une bibliothèque qui vous permet de créer des graphiques riches et interactifs, des applications multiplates-formes et des jeux sans connaître l'API WebGL ni gérer la compatibilité des navigateurs et des appareils. »
« JavaScript est un langage qui a énormément évolué ce dernier temps. C'est pourquoi, un manuel qui intègre les dernières ses nouveautés peut s'avérer utile pour tous ceux qui sont confrontés, même occasionnellement, au développement dans ce langage propulsé sur le devant de la scène depuis quelques années, avec l'arrivée du HTML5. »
« Un environnement de programmation interactive créé par Mike Bostock (à qui on doit notamment d3). Un peu semblable aux notebooks Jupyter, mais fonctionnant côté client uniquement, il offre un modèle de programmation réactive. Cet article explique la démarche qui a conduit à la création de l'outil, et ce tutoriel explique les bases de l'environnement. »
« Un article sur l'utilisation de deeplearn.js, une bibliothèque open source par Google qui permet de former des réseaux neuronaux sur un navigateur, pour améliorer le choix de couleurs d'avant-plan/arrière-plan. »
« Sage2 (Scalable Amplified Group Environment) est un environnement qui permet d'afficher et d'interagir avec des contenus Web sur des plateformes où l'affichage est distribué. Une installation été faite sur le mur d'image Wilder et présentée lors d'une session Code Monkeys (http://tiny.cc/codemonkeys) en Octobre. N'hésitez pas à vous manifester si vous voulez tester vos applications en 14400x4800 ! »
« Ce retour d'expérience du développement de la librairie swip.js nous permet aussi bien de comprendre comment est née l'idée de cette librairie, les choix techniques, les temps de développement et les applications qui pourraient découler de cette librairie. Et si vous n'avez pas le temps de lire l'article, vous pouvez juste voir les vidéos. »
« Redux est une bibliothèque (et un patron de conception) qui structure l'état
d'une application côté client (en particulier, tous les changements d'état
sont réifiés).
Cet article en propose une implémentation simplifiée et commentée. »
« L'équipe de Reddit décrit la réalisation d'un projet (un grand canevas collaboratif) sous plusieurs angles:
architecture, représentation des données, interface utilisateur, problèmes rencontrés.
Ici, un autre programmeur explique
comment il a construit un clone de ce projet, avec des choix différents. »
« Pour tester son application web, y compris le javascript et les websockets,
cet outil permet d'avoir un client web que l'on peut scripter pour faire cliquer
sur des liens ou autres boutons, attendre l'apparition d'éléments dans la page,
etc. On peut également, par exemple, afficher le DOM sur la sortie standard,
pour ensuite l'analyser avec des outils comme
BeautifulSoup (Python)
ou Lambda-soup (OCaml). »
« "Fortune 100 Radar Chart" est un exemple très pédagogique d'utilisation
des technologies Angular2 et D3 qui a été présenté par son auteur lors
de la dernière session
de Demandez le programme ! »
« Create-react-app est un projet de Facebook qui permet de créer facilement
des applications React avec un outillage complet et sans aucune configuration.
Idéal quand on est débutant sur React ou l'outillage dev front. »
« Une conférence d'anticipation très drôle de Gary Bernhardt à PyCon 2014.
On est en 2035, comment un langage conçu en 10 jours -Javascript- a pu dominer le monde et mourir. »
« Un framework simple et flexible de tests asynchrones pour javascript utilisant node.js
Sur le site ils mettent simple, flexible et fun mais faut pas exagérer quand
même... 😉. On peut utiliser différentes bibliothèques d'assertion. »
« NativeScript est un framework de développement d'applications mobiles natives.
La version beta est lancée sous la licence Apache v2. Le framework permet de
développer des applications mobiles natives en utilisant Javascript pour les
plateformes mobiles iOS et Android, y compris Windows dans le futur proche »