Nouvelle version de Go : 1.18

Generics On peut définir la programmation générique comme un style de programmation qui permet de représenter des fonctions et des structures de données sous une forme générique, avec des types adaptés. Ca, c’est pour la théorie. Voyons un exemple. Pour illustrer le principe, imaginons que nous avons besoins de calculer la somme des éléments d’un map de int64 : // SumInts adds together the values of m. func SumInts(m map[string]int64) int64 { var s int64 for _, v := range m { s += v } return s } Rien d’exceptionnel....

25 Mar 2022 · Gwenaël Nardin

Programmation concurrente avec des goroutines

Nouvelle année, nouveau challenge ! Ca fait pas mal de temps de je lorgne sur le Go (ou Golang) et ça y est, il est venu le temps de s’y mettre ! Avant cela, j’ai (un peu) mis à jour mon site et rajouter un lien pour ma page LinkedIn : n’hésitez pas à me suivre ou m’ajouter afin de recevoir les prochaines mises à jour 😊. Le Go (ou Golang) est un langage développé depuis quelques années désormais (plus de 10 ans) par une équipe de Google, et pas des débutants !...

2 Sep 2021 · Gwenaël Nardin

A la découverte de MicroPython sur ESP32

Hello ! Comme c’est les vacances et qu’il faut bien s’occuper (#geeker) un peu, j’ai joué un peu avec MicroPython sur un microcontrôleur de type ESP32. Je me suis basé sur la lecture de Programmer en MicroPython, qui est le seul livre en français sur le sujet. Bon, il y en 2-3 de plus en anglais, mais rien de folichon non plus… Pour le matériel, j’ai utilisé ma carte ESP32 Gateway de chez Olimex que j’avais sous la main....

24 Aug 2018 · Gwenaël Nardin

Comprendre les décorateurs

Hello ! Vous avez peut-être déjà rencontré lors de la consultation de code écrit par quelqu’un d’autre la présence d’un @ suivi d’un nom juste avant la définition d’une fonction et vous vous êtes posé la question “à quoi cela peut-il bien servir ?”. Voyons cela ensemble. Poser les bases En Python, les fonctions sont des Objet de première classe, c’est à dire qu’elles se comporte comme n’importe quel objet....

6 Feb 2018 · Gwenaël Nardin

Comment (enfin!) utiliser Vim

Hello ! Vous connaissez Vim ? Mais si, quand vous êtes sur Linux et que le seul éditeur disponible c’est lui ! Quand vous ne comprenez jamais quand est-ce qu’il va écrire dans le fichier ou s’il va exécuter des commandes… Vim, ce grand incompris, si difficile à utiliser… Et pourtant, quand vous faites quelques recherches (j’ai pas dit RTFM..) pour retrouver ces #!@?!#@! de commandes pour enfin réussir à faire une modif dans un fichier de conf, vous tombez sur pleins d’articles où les gens sont heureux depuis qu’il maîtrise cet outil du diable !...

28 Jan 2018 · Gwenaël Nardin

Comment et pourquoi utiliser les notebook Jupyter

Hello ! Vous avez peut être entendu parler des notebook de Jupyter et si comme moi, vous vous êtes demandé à quoi bon cela peut bien servir, je vais vous aider à y voir un peu plus clair. Déjà, à quoi ils ressemblent ? Vous pouvez trouver une large galerie d’exemple ici. Voyons un peu ce que on peut en faire. Cas d’utilisation Les notebook ressemblent finalement à des pages Web dynamique, avec des champs que l’on peut exécuter et voir le résultat en direct....

22 Jan 2018 · Gwenaël Nardin

Modèles et hyperparamétres

Hello, L’un des problèmes lorsque l’on débute en machine learning est le choix de l’algorithme (ou modèle) à utiliser. Je viens de tomber sur un article du blog de Kaggle où l’auteur partage son approche des différents problèmes à résoudre en ML. J’ai noté deux parties qui m’ont éclairé un peu plus sur le choix des modèles et des hyperparamètres à régler. Choix d’un modèle Il y a deux grandes familles d’algorithmes : ceux qui permettent de réaliser une prédiction (à l’aide d’une régression) et ceux qui identifie une variable parmi d’autres (la classification)....

14 Jan 2018 · Gwenaël Nardin

Débuter en IA : challenge Titanic

Hello, Après avoir débuté la lecture de Machine Learning avec Scikit-Learn, j’ai pris au mot l’auteur dès la fin du deuxième chapitre et j’ai tenté d’appliquer la méthode sur des données “réelles”. J’ai donc été sur le site Kaggle qui propose (entre autre) un jeu de données pour débutant autour du Titanic, le but est de prédire les survivants. Bon, on se retrousse les manches, c’est parti ! Découverte des données Récupération des informations L’ensemble des données est fourni dans deux fichiers CSV : train....

4 Jan 2018 · Gwenaël Nardin

Cheatsheet de challenge

Hello, A force de faire quelques challenge sur HackerRank, j’ai noté quelques tricks que j’oublie souvent. Du coup, je met ça içi. Servez-vous :-) list et set intersection de deux listes Récupérer l’intersection entre deux listes (en fait, uniquement si l’une des deux peut être transformée en set): a = ['un', 'deux', 'trois'] b = ['dites', 'trente', 'trois'] inter = list(filter(set(a).__contains__, b)) Résultat : print(inter) ['trois'] module itertools toutes les combinaisons d’une liste de listes Imaginons que j’ai une méga liste qui contient des listes:...

16 Dec 2017 · Gwenaël Nardin