Bitten By Python 👋

Python, Go et autre

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