Journal Le TapTempo du web, mais plus rapide

Posté par  .
Étiquettes :
15
19
juin
2022

spacefox a lancé dans ce journal un "concours" d'implémentation d'un programme dans divers langages. Le but est d'écrire un serveur HTTP qui retourne une redirection vers une page aléatoire : https://avatar.spacefox.fr/Renard-$random.png.

Pas mal d'implémentations ont déjà été proposées, je vais essayer à mon tour en essayer 4 :

  • Deno, pour découvrir
  • Node.js, pour avoir une référence par rapport à Deno
  • nginx (ngx_http_lua_module) et Varnish, car ce sont deux outils qu'on utiliserait dans la vraie vie pour implémenter le programme.
(…)

Journal recherche-totoz en JavaScript

Posté par  .
Étiquettes : aucune
8
30
nov.
2018

En discutant avec plusieurs personnes, j'ai constaté qu'ils pensaient que JavaScript était encore pénible à utiliser, en particulier en ce qui concerne l'appel d'APIs asynchrones et le "callback hell".

Pour illustrer le sujet, j'ai fait un petit programme qui recherche des totoz sur totoz.eu et affiche leur nom sur le terminal.

Le programme doit :

Ecrire le programme ne présente aucune difficulté, mais (…)

Journal Non, l'inférence de types n'est pas du typage faible. Oui, elle rend les programmes plus lisibles

Posté par  .
Étiquettes : aucune
41
21
nov.
2018

En lisant le journal sur la sortie de JDK 10 qui mentionnait notamment l'ajout d'une inférence de type sommaire, j'ai vu qu'il y avait une mauvaise compréhension et un fort rejet de ce concept.

Ça m'a bien surpris car je trouve au contraire l'inférence de types géniale : non seulement elle permet de bénéficier d'un langage fortement typé sans taper des types à rallonge partout, mais aussi elle rend la lecture des programmes bien plus facile (et je ne parle (…)

Journal Vérifiez vos types avec TypeScript et io-ts

Posté par  .
Étiquettes : aucune
16
11
sept.
2018

TL,DR : avec TypeScript et io-ts, on peut passer d'un programme JavaScript court et correct, mais fragile et difficile à maintenir, à un programme facile à refactorer et robuste contre les modifications externes inattendues, rien qu'en ajoutant une définition de type et un if.

TL,DR bis : vous pouvez regarder le premier et le dernier exemple de code du journal pour vous faire une idée.

JavaScript c'est quoi ?

JavaScript est un langage au typage dynamique et faible.

Pour décrire (…)

Journal UPSERT dans PostgreSQL ça déchire

Posté par  .
Étiquettes : aucune
30
7
sept.
2018

UPSERT, c'est quoi ?

Comme son nom l'indique, UPSERT est un mélange de la mise à jour (UPDATE) et de l'insertion (INSERT). Ça consiste à insérer un enregistrement, et, s'il existe, à le mettre à jour, en une seule commande.

L'intérêt "de base" de cette commande est lié au parallélisme, mais on verra juste après qu'elle est aussi très pratique.

Le parallélisme
Avant UPSERT, il fallait utiliser plusieurs commandes, par exemple :

  1. vérifier si les enregistrements existent
  2. insérer les enregistrements (…)