

What weâre about
Welcome to the "Code, Craft & Community" group! đ
Are you a curious đ€ and passionate â€ïžâđ„ developer? Do you want to truly understand how software works đ§ , optimize its performance đ, and uncover the best development practices đĄ? Then "Code, Craft & Community" đ is the perfect place for you!
Join this group and gain access to a variety of tools while feeding your mind with valuable knowledge! đ§°đ§
Plongez au cĆur des machines virtuelles et dĂ©couvrez comment elles transforment le dĂ©veloppement logiciel moderne ! Ce meetup dĂ©voilera les secrets de trois moteurs majeurs : V8, JVM et BEAM (ERTS). Que vous soyez passionnĂ©(e) par la performance du JavaScript dans les navigateurs, la robustesse de la JVM pour les applications d'entreprise, ou la rĂ©silience de BEAM dans les systĂšmes distribuĂ©s, ce rendez-vous est pour vous !
Voici le plan que je vous propose :
- Introduction aux machines virtuelles (30 minutes)
- Définition : Qu'est-ce qu'une machine virtuelle ?
- RÎles essentiels : Exécution, mémoire, et gestion de la concurrence.
- Présentation des candidats : V8, JVM et BEAM (ERTS).
- Analyse technique approfondie (45 minutes)
- V8 : Compilation Just-In-Time, optimisations dynamiques et gestion avancée de la mémoire (Orinoco).
- JVM : Compilation hybride (AOT et JIT), gestion de la mémoire (GC) et threads virtuels (Java 21+).
- BEAM (ERTS) : Processus légers, tolérance aux pannes et gestion concurrente des déchets.
- Comparaisons et applications concrĂštes (30 minutes)
- Cas d'utilisation : Développement web, big data, systÚmes distribués et embarqués.
- Comparaison des forces : ModÚles de concurrence, interopérabilité, écosystÚmes et outils.
- Session Questions/Réponses et Discussion (15 minutes)
Animatrice :
Héla Ben Khalfallah (Experte en ingénierie logicielle et design de langages). Plus d'informations sur l'animatrice : LinkedIn, Blog & Medium.
Inscrivez-vous dĂšs maintenant pour explorer les rouages des machines virtuelles et leur impact sur le dĂ©veloppement logiciel moderne. đâš
Upcoming events (3)
See all- Les Secrets des Machines Virtuelles : Fonctionnement Interne de V8, JVM et BEAMLink visible for attendees
Plongez au cĆur des machines virtuelles et dĂ©couvrez comment elles transforment le dĂ©veloppement logiciel moderne ! Ce meetup dĂ©voilera les secrets de trois moteurs majeurs : V8, JVM et BEAM (ERTS). Que vous soyez passionnĂ©(e) par la performance du JavaScript dans les navigateurs, la robustesse de la JVM pour les applications d'entreprise, ou la rĂ©silience de BEAM dans les systĂšmes distribuĂ©s, ce rendez-vous est pour vous !
Voici le plan que je vous propose :
- Introduction aux machines virtuelles (30 minutes)
- Définition : Qu'est-ce qu'une machine virtuelle ?
- RÎles essentiels : Exécution, mémoire, et gestion de la concurrence.
- Présentation des candidats : V8, JVM et BEAM (ERTS).
- Analyse technique approfondie (45 minutes)
- V8 : Compilation Just-In-Time, optimisations dynamiques et gestion avancée de la mémoire (Orinoco).
- JVM : Compilation hybride (AOT et JIT), gestion de la mémoire (GC) et threads virtuels (Java 21+).
- BEAM (ERTS) : Processus légers, tolérance aux pannes et gestion concurrente des déchets.
- Comparaisons et applications concrĂštes (30 minutes)
- Cas d'utilisation : Développement web, big data, systÚmes distribués et embarqués.
- Comparaison des forces : ModÚles de concurrence, interopérabilité, écosystÚmes et outils.
- Session Questions/Réponses et Discussion (15 minutes)
Animatrice :
HĂ©la Ben Khalfallah (Experte en ingĂ©nierie logicielle et design de langages). Plus d'informations sur l'animatrice : LinkedIn, Blog & Medium.Inscrivez-vous dĂšs maintenant pour explorer les rouages des machines virtuelles et leur impact sur le dĂ©veloppement logiciel moderne. đâš
- Software Engineering: Au-DelĂ du CodeLink visible for attendees
Il y a une diffĂ©rence fondamentale entre Ă©crire du code et faire de lâingĂ©nierie logicielle. Dans une approche ingĂ©nierie, le code nâest que lâaboutissement dâun processus structurĂ© : câest lâenveloppe visible dâun ensemble de dĂ©cisions architecturales et mĂ©thodologiques qui assurent sa pĂ©rennitĂ©.
LâingĂ©nierie logicielle est le bouclier qui protĂšge le code pour quâil conserve sa forme et sa santĂ© dans le temps. Elle intĂšgre dĂšs le dĂ©part les contraintes dâĂ©volution, aussi bien fonctionnelles que techniques, et se pose comme un problĂšme multidimensionnel oĂč trois axes doivent ĂȘtre Ă©quilibrĂ©s :
â La dimension technique : Comment structurer un logiciel robuste et scalable ?
â La dimension fonctionnelle : Comment anticiper et accompagner les Ă©volutions mĂ©tier ?
â La dimension temporelle : Comment mesurer et garantir la qualitĂ© Ă long terme ?Dans ce meetup, nous rĂ©pondrons Ă des questions essentielles :
đ Comment construire un logiciel Ă©volutif sans sacrifier la simplicitĂ© et la maintenabilitĂ© ?
đ Comment mesurer nos choix architecturaux dans le temps ?
â Comment rĂ©duire lâentropie pour Ă©viter que nos systĂšmes ne se dĂ©gradent ?Au programme :
đ Architecture logicielle et ses diffĂ©rents styles et patterns.
đš Clean Code et Design Patterns pour des bases solides.
đ Fitness Functions et outils de mesure pour Ă©valuer et ajuster nos choix.Un rendez-vous incontournable pour celles et ceux qui veulent aller au-delĂ du simple code et bĂątir des logiciels durables et bien pensĂ©s. đ„
Animatrice :
Héla Ben Khalfallah (Experte en ingénierie logicielle et design de langages). Plus d'informations sur l'animatrice : LinkedIn, Blog & Medium. - Le Paradoxe de la Performance : Les Limites Cachées du LogicielLink visible for attendees
Depuis toujours, face à un logiciel lent, la solution instinctive a été "ajoutons plus de matériel" : plus de CPU, plus de RAM, plus de bande passante. Pourtant, cette approche masque souvent le vrai problÚme : un mauvais logiciel reste inefficace, quelle que soit la machine sur laquelle il tourne.
Dans ce meetup, nous allons ouvrir le capot et explorer en profondeur toute la chaĂźne dâexĂ©cution dâune application, en dĂ©cortiquant les limites imposĂ©es par le matĂ©riel, les langages de programmation et les modĂšles dâexĂ©cution.
đ Ce que nous allons explorer :
1. Les limites matĂ©rielles- CPU : Pourquoi plus de cĆurs ne suffit pas toujours.
- Mémoire & cache : Le véritable frein à la performance.
- I/O & rĂ©seau : Lâimpact souvent sous-estimĂ© du stockage et des communications.
2. Les contraintes des langages de programmation
- Exécution native vs VM : Compilation, JIT et performances.
- Gestion mémoire : Pourquoi la GC peut ralentir un programme.
- ParallĂ©lisme & concurrence : Quand le multi-threading devient un casse-tĂȘte.
3. Cas oĂč le scaling matĂ©riel Ă©choue
- Code mono-thread : Lâillusion du multi-core.
- Appels bloquants : Quand un simple I/O gĂšle toute une application.
- Garbage Collection excessive : Plus de RAM ne signifie pas plus de rapidité.
- Mauvais choix dâalgorithmes & structures de donnĂ©es : CPU et cache gaspillĂ©s.
4. Approche "Software-First" : optimiser avant dâupgrader
- Optimisation vs Scaling MatĂ©riel : Quand réécrire du code est plus efficace quâacheter plus de machines.
- Stratégies clés : Gestion mémoire, réduction des appels bloquants, amélioration des algorithmes.
đ Pourquoi participer ?
- Comprendre en profondeur les interactions entre hardware et software.
- Identifier les vrais goulets dâĂ©tranglement dans vos applications.
- DĂ©couvrir des cas oĂč le software sabote la performance, et comment y remĂ©dier.
Rejoignez-nous pour une exploration technique et pragmatique de la performance logicielle ! đ
đArticle:
- The Performance Paradox: Hardware Scaling Canât Fix Inefficient Software
- The Performance Paradox: Hardware Scaling Canât Fix Inefficient Software (Medium)
đ Animatrice :
Héla Ben Khalfallah (Experte en ingénierie logicielle et design de langages). Plus d'informations sur l'animatrice : LinkedIn, Blog & Medium.