Il arrive encore souvent que je dégote des informations précieuses dans les livres (informations que je n’aurais pas trouvées sur internet), et c’est pourquoi je lis beaucoup. J’ai eu l’occasion de lire pas mal de choses récemment et certaines ne valaient clairement pas le coup, mais d’autres m’ont beaucoup apporté, je les partage donc avec vous ici !

Go en long et en large

Si vous connaissez déjà les bases de Go (Golang) et que vous souhaitez approfondir, The Go Programming Language (Donovan & Kernighan) est un excellent ouvrage.

Personnellement, avant d’ouvrir ce livre j’avais déjà eu l’opportunité de développer plusieurs projets en Go mais certaines notions essentielles du langage me faisaient toujours défaut, notamment l’esprit du langage et la façon d’écrire du code idiomatique en Go. Ce livre m’a vraiment aidé. Il débute par les bases mais creuse le sujet très en profondeur jusqu’à aborder des points comme la réflexion, les tests, la programmation bas niveau… Les exemples sont très concis (je déteste lire trop de lignes de code dans un livre papier) et systématiquement adaptés de cas utiles de la vie réelle.

Go et la concurrence

Si vous estimez que l’ouvrage ci-dessus ne va pas assez loin en ce qui concerne la concurrence, vous pouvez lire Concurrency In Go (Cox-Buday).

Ce livre est très court et va droit au but. Il met vraiment l’accent sur les bonnes pratiques à appliquer lorsque l’on développe un programme concurrent (en général, et plus particulièrement en Go). Ce livre vous fournit des patterns que vous pouvez reproduire dans vos propres applications.

Astuces et outils autour de Python

Python est un langage relativement ancien, par conséquent de nombreux supers outils existent autour de ce langage (bibliothèques, frameworks, etc.). En revanche il n’est pas facile d’avoir une vision claire de toutes les options existantes. The Hitchhiker’s Guide to Python! (Reitz) résume tout ce que vous devez savoir à propos de l’écosystème Python. Il peut vous faire économiser énormément de temps. Attention : ce livre n’est pas un livre de code !

Le management technique

Si vous êtes en charge d’une équipe de développeurs vous savez déjà à quel point la tâche est complexe. Si vous n’êtes pas encore dans cette situation, alors soyez préparé ! Dans les deux cas il est important de se documenter sur le sujet. Manager et faire preuve de leadership est un job difficile, en particulier dans le domaine de la programmation (lead developer, manager technique, CTO, …). Ce livre a été d’une grande aide pour moi : Managing the Unmanageable (Mantle & Lichty). Il ne vous noie pas dans des concepts théoriques autour du management mais au contraire il vous donne de nombreux trucs et astuces faciles à appliquer concrètement.

Conclusion

Si vous avez lu l’un de ces ouvrages alors dîtes-moi ce que vous en avez pensé !

Also available in English

Rate Limiting d'API avec Traefik, Docker, Go, et la mise en cache

Limiter l'utilisation de l'API en fonction d'une règle avancée de limitation du débit n'est pas si facile. Pour y parvenir derrière l'API NLP Cloud, nous utilisons une combinaison de Docker, Traefik (comme proxy inverse) et la mise en cache locale dans un script Go. Si cela est fait correctement, vous pouvez améliorer considérablement les performances de votre limitation de débit et étrangler correctement les demandes d'API sans sacrifier la vitesse des demandes. Continuer de lire