Lire l'épisode 2 Contexte Nous sommes dans le cadre d’un code legacy. Le but est de charger en mémoire une hyper-matrice creuse (une matrice à 3 dimensions) dont toutes les cases ne sont pas remplies. Chaque ligne de la matrice correspond à un scénario, les colonnes...
Le Blog
Les collaborateurs d’Invivoo explorent et partagent leurs connaissances du domaines IT.
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 –...
Appel de fonctions
Contexte Les processeurs ont une structure interne basée sur un nombre de registres limité et un accès à la mémoire. Le rôle du compilateur est de transformer le code C et/ou C++ en langage machine. Nos codes sont structurés avec des fonctions et des classes. Nous...
API de fichiers C VS API STL
I. Contexte Nous vivons dans un monde où la programmation objet est considérée comme le Graal et la STL (Standard Template Library) comme la seule API à considérer. Et la majorité des développeurs appliquent les informations qu'on leur a martelées durant leur...
REDUCING C ++: && AND STD::MOVE
C ++ is one of the most used languages in finance today, especially for its performance. Its first standardization by the International Standardization Organization (ISO) took place in 1998. It followed a simple version of bug fixes in 2003. Thanks to the C ++ 11...
Sonar Smash : comment guérir le code par le fun
Lors de la Devoxx 2019 se déroulant au Palais des Congrès de Paris, Helen Wallace, développeuse Java, et James Mac Mahon, spécialiste Devops son tout sourires sur la scène qui les élève au-dessus de la...
Auto : pièges et évolutions du C++ moderne
Un des premiers mots-clefs que les développeurs utilisent lors du passage au C++11/14/17 est auto. Cet article a pour but de couvrir les différents usages d’auto, au travers d’exemples plus ou moins complexes, combinés à d’autres ajouts du C++ moderne, ainsi que les...
Introduction à la gestion automatique de la mémoire en C++11
A la différence du Java ou du C#, la mémoire allouée dynamiquement sur le tas n’est pas libérée de manière automatique en C++. Par conséquent, chaque utilisation de l’opérateur new doit être suivi d’un appel explicite à l’opérateur delete. Ce principe semble à...
À la redécouverte du C++ : && et std::move
Le C++ est un des langages les plus utilisés aujourd’hui en finances, notamment pour ses performances. Sa première normalisation par l’Organisation internationale de normalisation (ISO) a lieu en 1998. S’ensuit une simple version de correctifs de bugs en 2003. Ce...
Mais que contiennent les conteneurs ? À la recherche de la mémoire perdue (Épisode 2)
Contexte Dans une application de calculs de risque chez un client, de nombreux crashs aléatoires survenaient. Le symptôme visible était la mémoire d’un processus qui augmentait de manière régulière jusqu’à 3Go, et là, le processus crashait. Cette application était...
Gestion de la Mémoire – A la recherche de la mémoire perdue (épisode 1)
1 – Contexte Dans une application de calculs de risque chez un client, de nombreux crashs aléatoires survenaient. Le symptôme visible était la mémoire d’un processus qui augmentait de manière régulière jusqu’à 3Go : à partir de là, le processus crashait....
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...
Les challenges Codingame : de Bronze à Légendaire, comment réussir vos IA de bot
Cet article est basé sur la conférence intitulée « De bronze à légendaire, comment réussir vos IA de bot » présentée par Grégory Ribéron (alias Manwe) au cours de la 6ème édition de Devoxx France. J’ai pu par la suite mettre en pratique les conseils prodigués lors des...
Cpp FRench User Group : le feedback d’Armand sur la Cppfrug #16
Cpp FRench User Group gagne à être connu. J'ai été jeudi 13 avril 2017 aux présentations de cppfrug qui se tenaient au sein de SoftBanks Robotics, anciennement Aldebaran Robotics, à Paris. Pour ceux ne connaissent pas, c'est la société créatrice de Nao, le...
Retour Devoxx France 2017 : Pourquoi et comment transformer vos API statiques en données temps réel ? (ou comment les Server-Sent Events peuvent changer votre vie)
Cet article est un compte rendu de la conférence intitulée « Le Streaming d'APIs : pourquoi et comment transformer vos APIs statiques en données temps réel ? » présentée par Audrey Neveu au cours de la 6ème édition de Devoxx France qui s'est déroulée au...
La Team Invivoo participera le 14 Mars au Concours du Meilleur Dev de France.
Ce concours est l’une des plus grandes compétitions « Live code » en France avec 1000 participants. Il s’agit d’une épreuve de rapidité pour résoudre des algorithmes sous différents langages de programmation : Java, C#, C++, Python ou encore Ruby. A...
Comment limiter la consommation des ressources critiques? – Partie 1
Généralités J'ai longtemps travaillé dans le développement de logiciels embarqués dans un décodeur numérique. Dans ce contexte, les ressources (cpu, mémoire flash, mémoire vive) sont limitées. La durée de vie d'un décodeur étant de plusieurs années, la...