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....
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 !...
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....
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....
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 !...
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....
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)....
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....
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:...