Connaissez vous la nuance entre un mock et un stub?
Mieux: êtes vous conscient que l'utilisation de l'un ou de l'autre influe sur votre style de code?
Alors découvrez ce talk pour mieux savoir quel genre de testeur vous êtes!
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
This document discusses implementing a functional event sourced aggregate using event modeling. It introduces concepts like event modeling, domain-driven design, event storming, event sourcing, and functional programming. As an example, it will implement a simple bank account aggregate using these techniques, with code available on GitHub. It provides references for further reading on domain-driven design, event modeling, event storming, CQRS/event sourcing, and functional programming.
Le Domain Driven Design (DDD) a la particularité d’être compliqué à expliquer. Ce sera donc exactement le but de cette conférence.
On a tendance à penser que le DDD est complexe, mais c’est au final beaucoup de bon sens. C’est la quantité de chose couverte par le DDD qui le rend difficile à appréhender au début.
Avec des retours d’expériences sur des pratiques concrètes du quotidien, que vous pourrez appliquer dès demain, nous verrons comment rendre votre projet plus centré sur le domaine. Nous verrons également quels principes sont respectés grâce à ces pratiques, et en quoi cela peut être bénéfique pour une équipe, donc pour une entreprise.
The document discusses entropy in thermodynamics, software development, and corporations. It states that the first law of thermodynamics describes the conservation of energy, the second law describes how entropy increases over time as organization decreases, and the third law describes how crystalline structures approach zero entropy at absolute zero temperature. It then draws parallels between these thermodynamic concepts of entropy and the increasing disorder and laziness that can occur in software development processes and corporate environments over time if not appropriately managed through practices like agility, software crafting, and constant evolution.
The software evolution hasn't happened yetEmilien Pecoul
The document discusses the history of software engineering and opportunities for its evolution. Over the past 70 years, software projects often ran over budget and time, produced low quality software, and failed to meet requirements. However, the document suggests there are opportunities to improve outcomes by having developers better understand the business domain, having business stakeholders better understand IT, incorporating more mathematics, and designing systems with statelessness and no data sharing to improve composability. To build the future of software engineering, we must learn from its past.
This document discusses implementing a functional event sourced aggregate using event modeling. It introduces concepts like event modeling, domain-driven design, event storming, event sourcing, and functional programming. As an example, it will implement a simple bank account aggregate using these techniques, with code available on GitHub. It provides references for further reading on domain-driven design, event modeling, event storming, CQRS/event sourcing, and functional programming.
Le Domain Driven Design (DDD) a la particularité d’être compliqué à expliquer. Ce sera donc exactement le but de cette conférence.
On a tendance à penser que le DDD est complexe, mais c’est au final beaucoup de bon sens. C’est la quantité de chose couverte par le DDD qui le rend difficile à appréhender au début.
Avec des retours d’expériences sur des pratiques concrètes du quotidien, que vous pourrez appliquer dès demain, nous verrons comment rendre votre projet plus centré sur le domaine. Nous verrons également quels principes sont respectés grâce à ces pratiques, et en quoi cela peut être bénéfique pour une équipe, donc pour une entreprise.
The document discusses entropy in thermodynamics, software development, and corporations. It states that the first law of thermodynamics describes the conservation of energy, the second law describes how entropy increases over time as organization decreases, and the third law describes how crystalline structures approach zero entropy at absolute zero temperature. It then draws parallels between these thermodynamic concepts of entropy and the increasing disorder and laziness that can occur in software development processes and corporate environments over time if not appropriately managed through practices like agility, software crafting, and constant evolution.
The software evolution hasn't happened yetEmilien Pecoul
The document discusses the history of software engineering and opportunities for its evolution. Over the past 70 years, software projects often ran over budget and time, produced low quality software, and failed to meet requirements. However, the document suggests there are opportunities to improve outcomes by having developers better understand the business domain, having business stakeholders better understand IT, incorporating more mathematics, and designing systems with statelessness and no data sharing to improve composability. To build the future of software engineering, we must learn from its past.
Si vous avez -500 euros sur votre compte en banque, qu’est-ce qui vous intéresse ? De savoir que vous êtes à découvert de 500 euros (état de votre compte) ou qu’un prélèvement a été fait la veille d’un montant de 2500 euros (évènement) ?
Avec tous les évènements qui ont eu lieu sur votre compte, vous pouvez en déduire l’état. Avec son état, c’est compliqué de retrouver les évènements qui en sont la cause.
Alors pourquoi programmons nous en nous basant sur des états au lieu de nous baser sur des évènements ? Nous verrons donc comment remettre les évènements au centre de nos réflexions, d’un point de vue technique et fonctionnel. Nous parlerons pour cela d’Event Storming, de CQRS, d’Event Sourcing et de DDD.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
4. Vocabulaire
• Test Double : objet étant utilisé à la place d’un autre dans le but de
tester
• Dummy : est passé en paramètre mais jamais effectivement utilisé
• Fake : a une implémentation fonctionnelle simplifiée pour les tests,
qui ne conviendra pas en production (base de données de tests en
mémoire par exemple)
• Stubs : fourni des réponses prédictibles aux appels durant le test. Ce
qui n’est pas testé ne sera pas implémenté. Un stub peut également
enregistrer des informations tel que la liste des messages envoyés
pour un messager.
• Mocks : est un objet préprogrammé avec des attentes sur les appels
qu’il est censé recevoir
7. Mock
Stub
Initialisation
Simple et
indépendante
Complexe si objet de
haut niveau
Isolation
Bug = 1 seul test
rouge
Bug = plusieurs tests
rouges
Couplage
Fortement couplé à
l’implémentation
Faiblement couplé à
l’implémentation
Design (TDD)
Méthodes qui
agissent sur un objet
Méthodes qui
retournent des valeurs
POO
« Tell don’t Ask »,
Demeter
Parfois retourne valeur
seulement pour test
8. Mock
BDD = TDD avec mocks
Mock => Comportement => Behaviour Driven Development
10. CQRS
• Mocks for commands
• Stubs for queries
Mark Seeman
=>Valider une Query avec un Mock est compliqué!
http://blog.ploeh.dk/2013/10/23/mocks-for-commands-stubs-for-queries/