Catégorie : javascript
-
Nouveau tour dans les CSS-in-JS
L’histoire J’ai abandonné mes premiers amours qu’étaient les feuilles de style séparées avec des nommages bien sémantiques. Je travaille par les applications front-end par composants, j’ai besoin que les styles fonctionnent de façon similaire. BEM était une bonne idée mais impraticable. Le nommage est pénible et il fallait encore garder une synchronisation entre la feuille…
-
Promise Maps
J’aime beaucoup Simon Willison depuis des années. Il tient un carnet de notes en guise de blog, comme j’aurais longtemps voulu avoir le courage de faire. Il relaie là un commentaire ycombinator : When caching the result of an expensive computation or a network call, don’t actually cache the result, but cache the promise that awaits…
-
Où je dis du bien du CSS-in-JS
Il n’y a que les imbéciles qui ne changent pas d’avis et c’est mon avis depuis toujours Coluche J’ai toujours regardé avec dédain les tentatives des dev JS pour contourner l’écriture de CSS mais je commence à considérer que les outils de CSS-in-JS type Emotion sont la bonne solution pour les webapp React. J’ai été…
-
Une histoire de dépendances
Le mainteneur d’un paquet NPM n’a plus eu envie et a donné la main à un tiers. Ce tiers a injecté un code malicieux dans une version publique et potentiellement infecté pas mal de monde. Ça n’a été détecté qu’au bout de deux mois et demi alors que le paquet est utilisé un peu partout.…
-
Comment on fait de la crypto dans le navigateur ?
Faire de la cryptographie dans le navigateur se révèle bien plus simple que prévu. Laissez tomber les portages de libsodium & co. Quasiment tous les navigateurs supportent désormais une API native dédiée. Seul IE11 ne le fait pas totalement mais il a au moins le minimum qu’est la génération de nombres réellement aléatoires. Ceux qui…
-
Donnée confidentielle dans une session de navigation.
Je partage, ça peut servir à d’autres. Je cherchais à garder confidentiel une information confidentielle le temps d’une session de navigation. En gros je cherchais un genre de cookie de session mais qui reste côté client sans jamais transiter sur le réseau. Le localStorage est top mais il persiste au delà de la session de…
-
[Aide] Communication entre une page et une extension navigateur
J’ai une page qui fait des traitements javascripts basés sur des appels XHR authentifiés vers son origine et sur des communications en window.postMessage avec des <iframe>. Elle n’a besoin d’aucune permission privilégiée, c’est juste une page web avec une origine normale. J’aimerais pouvoir interroger cette page depuis une extension Firefox et qu’elle me communique le…
-
Variables et constantes — Javascript 103
Travailler avec ES2015 c’est quelques changements sur les déclarations des variables. Premier changement : Les modules ES2015 sont implicitement en mode strict. Y utiliser une variable non déclarée provoque une erreur. Ce seul changement est une bénédiction vu l’ubuesque comportement par défaut de Javascript. Il reste que ça ne changera pas grand chose pour qui utilisait…
-
Résoudre le callback hell — Javascript 102
Après la mise en place, il est peut-être temps de faire un premier script. J’ai tenté un petit script que j’ai fait la veille en ruby : lister toutes les images dans une hiérarchie de répertoires et faire un gros fichier Json qui récapitule les différentes tailles. Faire un petit fichier outil CLI à l’aide de…
-
Recommençons à zéro — Javascript 101
PHP a été mon langage favori pendant presque 10 ans. Ruby l’a suivi pour à peu près la même durée. Javascript a été l’outil secondaire pas très attirant pour quand il n’y a pas d’autre choix, c’est à dire sur navigateur. Avant-hier j’ai eu un petit pincement de frustration en cherchant à déstructurer un dictionnaire…