Invivoo - Le Blog

Les collaborateurs d’Invivoo voyagent à travers différents domaines de la Tech à la conquête de nouvelles connaissances et expériences à partager.

Gestion avancée de fichiers (Python)

Lorsque l’on travaille sur des tâches au niveau système, on doit régulièrement appliquer une même action à tous les fichiers (Python) d’un même type : archivage, compter le nombre de lignes de code, supprimer tous les fichiers log ayant plus de 30 jours, etc......

Les décorateurs Python démystifiés

Les décorateurs en Python sont un de ces outils que tout développeur Python croise dans sa carrière, mais qu’on peut se passer de vraiment comprendre pendant longtemps tout en parvenant à écrire des programmes assez complexes qui répondent parfaitement aux besoins des...

Les dataclasses en python

Introduit en Python 3.7 à la suite du PEP 557, le mécanisme des dataclasses est une petite boîte à outils permettant de simplifier l’écriture de quelques éléments de base de la définition des classes, et ainsi d’améliorer leur lisibilité. Premier abord Ces...

Simplifiez votre code avec l’opérateur “Walrus”

Parmi les nouveautés apportées par la version 3.8 de Python, l’une des principales est l’apparition des expressions d’affectations. Grâce à un nouvel opérateur bien pratique appelé Walrus, il est désormais facile d’économiser quelques lignes de code dans plein de...

Appliquer le TDD avec pytest

Le TDD (Test Driven Development) est un process de développement logiciel qui consiste à faire évoluer un programme petit à petit à travers des mini-cycles : le développeur commence par implémenter un test automatique échoué représentant un cas d’utilisation...

Paradigme de programmation fonctionnel

Cet article sur le paradigme de programmation fonctionnel est le 3ème de notre série sur les paradigmes de programmation. N'hésitez pas à prendre connaissance des deux premiers articles : Paradigme de programmationParadigme Impératif Structuré Lambda-calcul, un...

Paradigme impératif structuré

Cet article sur le paradigme impératif structuré est la suite de l'article sur les Paradigmes de programmation. Quelques exemples Si le paradigme impératif structuré est pratiqué par les humains depuis très très longtemps… Dans les faits, on part d’un état initial....

Paradigme de programmation

Qu’est-ce qu’un paradigme ? C’est en effet une grande question : qu’est-ce qu’un paradigme de programmation ? Si on se base donc sur la définition du Larousse : « Un paradigme est — en épistémologie et dans les sciences humaines et sociales –...

Python et le GUI : wxPython

Beaucoup de personnes partent du principe que Python n’est qu’un langage de script et le cantonnent à l’automatisation des tâches. Grâce à des frameworks, on peut aussi s’en servir pour faire des clients lourds. Le module tkInter qui permet de faire des boîtes de...

Slots : an unknown optimization

As a former C developer working in high-performance computing, I wondered very early about the compactness of objects that were commonly created in Python. It quickly became clear to me that this was not optimal in most cases, resulting from the choice of original...

Les slots, une optimisation méconnue

En tant qu’ancien développeur C travaillant dans le calcul hautes performances, je me suis très tôt posé la question de la compacité des objets que l’on créait ordinairement en Python. Il m’est apparu rapidement que celle-ci n’était pas optimale dans la plupart des...

Designer des APIs Rest avec Flask-RESTPlus

Flask est un microservice web qui permet entre autres d’implémenter des API REST. Mais lorsqu’il s’agit de les documenter, visualiser, contrôler et valider les schémas de données d’entrées et de sorties, Flask atteint vite ses limites. C’est ici qu’intervient son...

Pandas : le datamanagement à la portée de toutes les mains

Pandas est un package python qui permet de traiter des jeux de données de manière efficace et compréhensible. De la lecture des fichiers à une première approche statistique. Pandas est le compagnon de jeu de n’importe quel datascientist pythonicien ! Pandas est...

La migration de Python 2.X à Python 3.X

Depuis 2008, deux versions de Python coexistaient avec, pour chacune d’entre elles, son lot de défenseurs… Guido Van Rossum avait souhaité, avec la version 3.X, corriger certaines syntaxes qui limitaient l’évolution du langage. Python 3 a été conçu comme un vrai...

Comment trier des fichiers CSV ?

Comment trier des fichiers CSV ?

1. Contexte Deux fois au cours de ma carrière, on m'a donné le projet de comparer deux fichiers CSV de grande taille (Comma Separated Values : des fichiers textes correspondant soit à un export de fichier Excel soit un export de tables de bases de données) : Dans le...

Introduction au type checking en Python avec mypy

Introduction au type checking en Python avec mypy

Python est bien connu par sa flexibilité qui vient du fait d'adopter et de promouvoir le duck typing. Pour écrire du code vraiment pythonic, on ne se préoccupe pas vraiment des types des objets qu'on manipule, mais des méthodes et attributs dont il dispose et de leur...

Gestion d’environnements virtuels en Python

Gestion d’environnements virtuels en Python

Les environnements virtuels sont un mécanisme très souvent utilisé pour la gestion de dépendances et isolation entre projets python développés dans une même machine. Ils sont aussi très souvent utilisés pour faire face à la fragmentation amenée par l'arrivée de Python...

À la vitesse du Python : les conteneurs associatifs

1 – Contexte Suite à mon premier article parlant des techniques d’optimisation, j’avais volontairement omis les conteneurs associatifs qui méritent un article spécifique : en effet, ils sont extrêmement utiles et utilisés. Connaitre leurs qualités et leurs...

À la vitesse du Python

Python est un langage compilé en bytecode dont le bytecode sera ensuite interprété. Si l’interpréteur est très efficace et que la plupart des bibliothèques sont écrites en C, il n’en reste pas moins que beaucoup d’opérations peuvent être plus lentes que si elles avaient compilé comme le C.

L’intérêt de se diversifier pour un développeur

L’intérêt de se diversifier pour un développeur

Philippe Boulanger, Manager d'Expertise Python, nous parle de la nécessité pour un développeur de se confronter à des langages différents. Au cours de ma carrière, j’ai été confronté à des collègues ayant eu un apprentissage incomplet de l’informatique : leur...

Tous les mois recevez nos derniers articles !

Try X4B now !

Découvrez gratuitement XComponent for Business. Notre solution logicielle BizDevOps !