Dans cet article, nous allons explorer différentes techniques d'optimisation de jobs PySpark en nous concentrant principalement sur l’optimisation du code. Nous pourrons voir dans un prochain article les autres techniques...
Design & Code
Les collaborateurs d’Invivoo voyagent à travers différents domaines d’expertises à la conquête de nouvelles connaissances et expériences à partager.
Hbase et comment éviter hotspotting
HBase, c’est quoi ? C'est un système de gestion de base de données distribuées, développé en utilisant le framework Hadoop. Il est conçu pour gérer des quantités massives de données non structurées ou semi-structurées, en utilisant une architecture de table à...
Comment devenir développeur informatique ?
Le métier de développeur est très recherché, en particulier pour les postes de consultants dans les cabinets de conseil et les ESN. Si vous souhaitez vous lancer dans cette voie, il est important de connaître les étapes à suivre pour réussir dans ce domaine. Dans cet...
Combien de temps pour apprendre le Python ?
Lorsque vous décidez d'apprendre un nouveau langage de programmation, vous vous posez souvent la question : "Combien de temps cela me prendra-t-il pour devenir compétent ?". C'est une question légitime, surtout si vous avez un emploi du temps chargé et que vous voulez...
Caffeine Cache
Dans cet article, vous verrez comment optimiser les performances de votre application web et améliorer l'expérience utilisateur avec Caffeine Cache, une solution de cache rapide et fiable. Introduction Le cache désigne un système de mémoire intermédiaire numérique qui...
L’architecture Hexagonale
Dans le monde de l’IT on cherche toujours à mettre en place des solutions évolutives, faciles à maintenir, et surtout des applications bien organisées. On a toujours des défis de migrations, que ce soit des technologies, leurs versions, ou même le découpage des...
Les spécifications de Spring Data JPA
Spring Data JPA est l’un des modules les plus importants offerts par Spring Boot, qui permet de simplifier l’accès à la couche des données (Persistance). Grace à ce module, on a principalement trois approches permettant la création des requêtes : L’annotation @Query :...
Le pattern CQRS
Aller jusqu’au bout dans l’organisation du code et surtout séparer le deux parties Lecture et Ecriture dans une application ou même un micro service. Dans l’architecture micro-service on rencontre et on utilise plusieurs concepts et patrons de conceptions,...
Les nouveautés de Java 19
Java 19 est disponible depuis le 20 septembre 2022. C’est une version non LTS (Long-term support). Cette release contient une prévisualisation du projet LOOM tant attendu, qui introduit un nouveau modèle de concurrence légère à java. Vous pouvez télécharger OpenJDK...
Le langage C++ : mort ?
Samuel Clemens, dit « Mark Twain », écrivit en 1897 à un journaliste qui l’avait contacté pour s’enquérir de son éventuel décès : « La nouvelle de ma mort était exagérée ». Il en va de même du langage C++. Mais si ce langage de programmation est toujours bien présent,...
L’art du « clean code » en environnement Java
I. Introduction L’ouvrage “Clean Code“ écrit par Robert C. Martin, aussi connu comme « Uncle Bob » (Oncle Bob) est une référence incontournable sur les bonnes pratiques du « clean code ». Nous allons dans cet article résumer certaines de ces bonnes pratiques...
PYTHON – Le module “Threading”
Après la présentation des concepts, nous allons nous attaquer au module « threading » de Python… Le module permet d’utiliser le multithreading préemptif de manière assez simple. Nous nous concentrerons sur l’API disponible depuis la version 3.10 de Python. GIL On ne...
Moteur – Design Patterns
Afin de réaliser différentes stratégies pour la spéculation ou la couverture de risque, les gestionnaires de fonds cherchent de divers instruments financiers basiques pour construire les produits dérivés composés possédant les caractéristiques favorables pour un...
Programmation Réactive
De nos jours, les applications modernes ont de hautes exigences en matière de disponibilité et de demandes utilisateurs. Sauf qu'avec les paradigmes “classiques” comme la programmation impérative, le code prend très rapidement de l’ampleur. De ce fait, les...
Concepts en mémoire partagée
La programmation en mémoire partagée est un des deux grands types de programmation parallèle. Tous les fils d’exécution partagent la même mémoire : c’est à la fois un atout et un problème. Un atout car cela évite de dupliquer des données car elles peuvent être...
Fabrique – Abstraite
Parmi les titres financiers on a de nombreux produits dérivés qui sont très difficiles à construire tout d’un coup. Car un contrat dérivé pourrait comprendre plusieurs composants fondamentaux dont chacun est crée d’une manière indépendante et complexe. Par exemple, il...
Choisir son langage de programmation
Un langage de programmation est un outil permettant de transformer un concept en un programme qui s’exécutera sur un ordinateur. Il existe beaucoup de langages de programmation et de nouveaux sont créés régulièrement. Comment choisir celui qui correspond à son besoin...
Devoxx Spring Security
Du 20 au 22 avril a eu lieu la conférence Devoxx pour développeurs, organisée par Quantixx au Palais des Congrès, à Paris. Ce fut l’occasion d’assister à des présentations pour en apprendre plus sur des domaines différents.Avec un large choix de présentations et de...
Fabrique – Design Patterns
De nombreuses applications financières doivent persister des données après leurs traitements algorithmiques. Par exemple, la gestion des portefeuilles demande d’enregistrer localement les résultats des ordres venant de différentes sources externes après le nettoyage...
Testcontainers : Bibliothèque Java
Lors de la Devoxx 2022 se déroulant au Palais des Congrès de Paris, Julien Durillon développeur, OPS et co-fondateur de Clever Cloud, nous a exposé son retour d’expérience de Testcontainers, bibliothèque Java permettant de disposer d’un conteneur Docker pour les...
Projet LOOM : Thread Virtuel
Lors de la 10ème édition du Devoxx Paris, organisée au Palais des Congrès le 20 avril 2022, José Paumard et Remi Forax ont présenté une conférence sur le projet LOOM. Voici quelques liens pour pouvoir les suivre : José Paumard : membre du Java Platform Group chez...
Représentation graphique d’un algorithme parallèle : logigramme, algorigramme
Avant de lire cet article sur la représentation graphique d'un algorithme, autrement appelé, logigramme ou algorigramme, nous vous conseillons de consulter "Programmation parallèle", actuellement disponible sur notre blog pour en savoir plus sur l'exécution en...
Programmation Dynamique
Python est un langage fortement dynamique... Mais, dans les faits, qu’est-ce que cela signifie ? Qu’est-ce que cela peut nous apporter ? Grâce à ce dynamisme, Python permet de résoudre des problèmes de manière élégante et compacte là où les langages...
Multithreading en Java : introduction
Vous souhaitez améliorer la performance et la responsivité de vos applications et tirer profit au maximum des processeurs de vos machines ? Ces objectifs pourraient être atteints grâce au multithreading qui permet d’exécuter plusieurs tâches en parallèle. Cet article...
Programmation Parallèle
Soit pour des problèmes de puissance pour du calcul intensif soit pour permettre des interactions utilisateurs, clavier et souris, en même temps que l’exécution de programmes, l’exécution en parallèle est un besoin nécessaire dans le monde d’aujourd’hui… Cela est...