tag:blogger.com,1999:blog-84612911231031470132024-03-14T10:29:32.995+01:00Le blog d'eric GermanPython, Ruby, javascript, node.js, cloud ,NoSQL bref que des bonnes choses<p>
Contacter le robot germanlinux: german.eric AT gmail.com</p>Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.comBlogger577125tag:blogger.com,1999:blog-8461291123103147013.post-77392859182753574132023-10-01T21:18:00.002+02:002023-10-01T21:18:49.675+02:00Les tranches en Python et Golang Les tranches ou slice sont présentes en Python sous deux formes:La forme simple à la volée sous forme de fonctionSous forme objet avec les slices nommés:...Avec 3 attributs et une méthode spécifiqueLa méthode indices prend une longueur en paramètre et retourne les limites du découpage (utilité limitée)Les tranches nommées sont utiles pour découper des lignes possédant des champsEric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-62217415414973653752023-09-13T16:58:00.003+02:002023-09-13T16:58:55.126+02:00De python à Golang: les tris Python propose trois méthodes principales pour trier des données:L'instruction sortedLa méthode sort pour les conteneurs (list, tuple) .La méthode __lt__ à implémenterL'instruction native 'sorted' qui permet de trier n'importe quelle collection à partir du moment où elle est:Homogène: les éléments sont de même nature.Itérable : elle peut délivrer les données les unes après les Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-34300752449108703182023-08-28T19:04:00.001+02:002023-08-28T19:05:27.055+02:00Régression linéaire, RIDGE et LASSO Le modèle de régression linéaire est un des piliers de l'apprentissage automatique. Simple et facile à mettre en œuvre, il n'est pourtant pas le seul de ce type.Pour commencer savez vous à quoi sert la queue d'un cerf-volant ?Son rôle premier n'est pas décoratif, la queue sert à lester l'arrière du cerf volant et ainsi le stabiliser. Sans elle le cerf-volant serait trop réactif et Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-79795314415598319582023-08-24T09:29:00.003+02:002023-08-24T09:34:52.276+02:00Python et golang : le passage de paramètre En programmation le mode de passage de paramètre pour l'appel d'une fonction (ou d'une méthode) est un point central car il est souvent source de bug. Un paramètre passé à une fonction est avant tout une donnée. Généralement on peut distinguer deux modes de passage:Passer la valeur de la donnée: le paramètre local de la fonction va être construit à partir de la recopie des valeurs de la Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-59417159121927094622023-08-12T10:01:00.000+02:002023-08-12T10:01:29.465+02:00De Python à Golang: premiers pas Passer d'un langage à un autre n'est pas toujours une démarche facile mais constitue un excellent exercice.Avant de commencer à faire du Go (golang) , il faut retenir 3 choses:La preparation du répertoire projet est importante: on ne peut pas faire un bout de code sur le coin de la table.Il faut un bon IDE : Vscode ou VScodium sont tout à fait adaptés au Go: ils mettent en forme le code Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-46005670571128132952023-08-03T17:06:00.004+02:002023-08-03T17:06:47.086+02:00Collecte sur le web (3) A nouveau une liste de liens relatifs à Python, Golang , webSSO et divers sujets.PythonMinTOTP https://github.com/susam/mintotp , est un projet Python relatif aux mots de passe valables qu'une seule fois (Time-Based One-Time Password) , ce projet peut être utilisé comme second facteurs d'authentificationUn fronted WEB en Python avec reflex: https://reflex.dev/15 Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-20605100088165596462023-06-22T18:01:00.000+02:002023-06-22T18:01:00.824+02:00Traitement des données pour l'apprentissage automatique: suite Dans un article précédent, j'ai commencé à exposer des techniques pour réduire les données à traiter pour un dispositif d'apprentissage automatique. (voir article).Continuons notre cheminement : comment éliminer les facteurs moins utiles ou encore comment supprimer des données non conformes (erreur de mesure etc.) Analyse des corrélations.Il est possible d'obtenir la corrélation deux àEric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-19156659501112929492023-05-19T15:41:00.003+02:002023-05-20T09:39:18.384+02:003 précautions à prendre quand on expose un serveur sur Internet Dans le cadre des formations Python, nous sommes amenés à faire des démonstrations de web scraping (aspiration de site) avec scrapy.J'ai déployé une mini application web sur une VM accessible sur Internet.Le site: http://lemonlabs.frAu bout de quelques heures le fichier de journalisation auth.log se rempli toute la journée avec des tentatives d'intrusion SSH souvent avec l'utilisateur Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-50236264763030027252023-05-19T14:25:00.001+02:002023-05-20T09:38:23.163+02:00Exo7 python initiation On continue sur notre série. Le corrigé de l'exo6 est en fin d'article.Enoncé de l'exo7 python initiation.: un nombre est il divisible par 3 ?Réaliser une fonction qui retourne vrai ou faux à la question : un nombre est-il divisible par 3.Pour répondre à la question et pour rendre l'exercice amusant, il faudra ajouter chaque digit du nombre et vérifier que leur somme est divisible par 3.Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-86408377805719308122023-05-12T19:05:00.001+02:002023-05-12T19:05:13.169+02:00Exo-6 python initiationLe corrigé du numéro 5 est à la fin de l'article.Enoncé exo6.1) Faire un fonction qui calcule la somme des N premiers nombres impairs.Exemple : print(somme_impair(2)) => donnera : 4La fonction doit utiliser une boucle et non pas une formule directe.2)Utilisation d'un cache.A l'aide d'un dictionnaire , conservez les résultats des calculs.Avant de lancer la boucle de calcul, laEric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-32993723939131356952023-05-05T14:50:00.006+02:002023-05-05T14:50:58.391+02:00Collecte sur le web (3eme article) Revoici, après un petit tour de la toile, des liens ou des projets intéressants .Numero précédent: https://germanlinux.blogspot.com/2023/03/collecte-sur-le-web-2eme-article.htmlPython.Matrix rain : https://github.com/principle105/matrix_rain avoir une console comme dans le film matrix avec une pluie de caractèresPyFyre - The Python Web Frontend Framework lien:Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-86773128526838007082023-05-05T10:49:00.003+02:002023-05-05T10:49:22.267+02:00Exo 5 Python initiationVoici l'énoncé de l'exercice de la semaine.Pour rappel la correction de l'exercice 4 est donné en fin d'article;Exercice 5: Construire une classe qui prend comme argument dans son constructeur une chaine de caractères et retourne une liste de tuple avec le mot et son compteur d'apparition dans le texte.Exemple: Comptage('Pourquoi , pourquoi , as tu fait ca , tu n'es pas un as de la Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-88144751569905408592023-04-28T12:00:00.001+02:002023-04-28T12:00:00.149+02:00exo4 python initiationLa correction de l'exercice exo3 python initiation est en bas de page. EXO4 python initiation.Soit une liste de tuple :[(‘a’ ,’b’) , (‘c’, ‘d’) , (‘e’, ‘f’)]On souhaite obtenir une liste transposée de la forme suivante :[(‘a’,’c’,’e’), (‘b’,’d’,’f’)]1) Ecriture de la fonction transpose(liste) → listeSachant que , les tuples ont toujours la même taille au sein de la liste.La Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-22992335922296099312023-04-26T18:49:00.003+02:002023-04-26T18:49:18.273+02:00Réflexions sur l'intelligence artificielle Ci-dessous le fruit d'une collaboration avec Marc Robichon ayant pour point de départ l'IA.Depuis cette publication une série d'évènements sur le terrain de l'IA s'est déroulée:Interdiction de ChatGPT en Italie : c'est à mon avis une mauvaise décision.Intégration de chatGPT dans le moteur de recherche Bing de Microsoft.Signature d'une pétition par des acteurs informatiques pour demander uneEric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-45359929730415106172023-04-22T09:31:00.001+02:002023-04-22T09:31:36.574+02:00Datascience: préparation des données, comment détecter les données hors champ Dans la continuation de l'article sur le nettoyage des données, je vais aborder l'étape suivante dans la préparation des données: réduire les données à traiter en se concentrant sur les données représentatives. La réduction ou la suppression de facteur est un enjeu primordial car cela réduira la taille des calculs à effectuer Suppression des doublons.Une première Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-46700141373043617812023-04-21T11:04:00.002+02:002023-04-21T11:04:00.223+02:00exo-3 Python initiation La solution de l'exo-2 est bas de l'article.Enoncé de l'exercice 3 python initiation.Ecrire une fonction qui prend en paramètre une mot et qui retourne VRAI OU FAUX en fonction de la nature mot: est il un palindrome ou non. Un palindrome est un mot qui se lit dans les deux sens.exemple: print(palindrome('essai'))print(palindrome('rotor')) retournera False puis Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-22079420949210750732023-04-16T17:23:00.004+02:002023-04-16T18:38:22.247+02:00A la recherche de la donnée perdue: avec Pandas et sklearn Les jeux de données pour alimenter un dispositif d'apprentissage automatique ne sont pas toujours homogènes ou cohérents. Il y a parfois des 'trous' dans les données. Ces manques peuvent avoir diverses origines: mauvais relevé, erreur de type ou d'encodage. La méthode info() d'un dataframe permet de connaitre l'état général des données : type et remplissage!;
dt.info()
<Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-61591031896647955502023-04-14T13:00:00.007+02:002023-04-14T13:00:00.200+02:00exo-2 python initiationLa solution de l'exercice 1 est donné à la fin de l'article. Exercice 2.Soit un fichier contenant des lignes.Une ligne de texte peut se continuer sur les lignes suivantes.Le mot 'suite' est ajouté en fin de ligne pour indiquer que la suite est sur les lignes suivantes (1 ou n lignes)exemple : mon texte ligne uneun autre texte suitesur deux lignes Il faut afficher :(1)mon Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-65500506994051605232023-04-09T10:42:00.002+02:002023-04-09T10:42:57.573+02:00Les deux dispositifs de gestion mémoire de CPython CPython est la la machine virtuelle de référence d'exécution des programmes Python. CPython compile et interprète les sources d'une programme python pour son exécution.A ce titre, il prend en charge la gestion de la mémoire pour les variables ou les objets Python. Dans un but de rationnaliser l'empreinte mémoire, il va mettre en place deux mécanismes distincts pour gérer au mieux cetteEric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-5975027615322198822023-04-07T09:04:00.006+02:002023-04-07T09:04:56.285+02:00Exercice 1 : python initiationNiveau: initiation : solution la semaine prochaineBon weeek-end.On désire émuler un opérateur logique ET. 1) Créer une classe EtLogique qui aura pour attribut:Une entreeX (valeur 0 ou 1, booléen etc )Une entreeY (valeur 0 ou 1, booléen etc )Une sortieETUne méthode pour mettre à jour entreeX ou entreeYUne méthode pour connaitre l'état de la sortieETTester le dispositif avec les 4 Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-71209024377557937172023-03-24T11:42:00.000+01:002023-03-24T11:42:00.485+01:00Collecte sur le web (2eme article) Apres un premier article listant mes découvertes sur le web (du python mais pas seulement) ,voici la seconde édition plus structurée.Sujets : pour le manager.Visualiser l'innovation: map de wardley https://blog.revolve.team/2020/05/19/outil-transformation-cartographie-simon-wardley/Simon Wardley est un chercheur britannique et ancien PDG surtout connu pour la création de la Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-41964589312668956912023-03-21T08:35:00.004+01:002023-03-21T12:18:26.236+01:005 choses à savoir sur les dataclasses PythonLa souplesse et les facilités qu'apportent les dataclasses, me font penser qu'un jour les dataclasses se retrouveront mises en avant dans Python et soient dans le futur, le moyen natif de créer des classes.(le notebook ci-dessous se retrouve sur mon github)1) Comment savoir quel sera le comportement du constructeur de la classe ?Le constructeur de la classe est généré par la dataclasse et Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-14996160952573656252023-02-14T22:12:00.003+01:002023-02-16T11:00:56.891+01:00Il y a autre chose que les classes en Python Le langage Python offre un éventail de dispositif pour structurer et organiser les données.ci dessous un aperçu: Les slices. Ainsi déjà avec une simple donnée string, il est possible de donner un nom à des tranches de chaine pour simplifier les manipulations:Les tuples nommés.Ils ne sont pas toujours appréciés à leur juste valeur pourtant ils permettent des simplifications :Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-46632060841879407722023-02-11T08:55:00.001+01:002023-02-11T08:55:45.656+01:00Python: fonctionnement du modèle objet Python propose un modèle objet assez simple par rapport aux autres langages. Il se situe à mi-chemin entre le dispositif mis en place pour Perl et celui plus sophistiqué de Java.En Python, il n'y a pas à proprement parlé d'attribut privé. Il existe la notion d'attribut protégé qui s'obtient en préfixant le nom de l'attribut par deux '_' , exemple: __monAttributEric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0tag:blogger.com,1999:blog-8461291123103147013.post-80435651607705491152023-01-13T17:33:00.003+01:002023-01-13T17:33:38.286+01:00Quelques liens Python utilesUne liste de projet Python: (liste ici) J ai pioché dedans : prospector , il fait une analyse du code de projet et formule des recommandations.Python datascience handbook (lien ici) : livre gratuit sur Numpy et Pandas10 antisèches Python. (lien ici)Le site refactoric guru: (lien ici) de la refactorisation et du design patternEmbarquer un tableur dans Pandas avec mito.Une Eric Germanhttp://www.blogger.com/profile/14006536823948682203noreply@blogger.com0