Le support d'un Workshop qui présente les design pattern d'architecture JEE pour illustrer les différents éléments d'un Framework. Réalisé à l'aide de l'excellent "Head First Servlets & JSP"
Passer à Git pour une équipe qui travaille tous les jours avec CVS.
De la migration technique au choix du workflow de travail en passant par l'accompagnement nécessaire.
Nous dresserons le bilan des problèmes rencontrés ainsi que des bénéfices retirés lors de cette migration.
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 function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
L'app Square Register Android ne crashe pas. Enfin... presque pas!
La recette magique? Combiner une approche aggressive avec la remontée de métadonnées et un monitoring précis. Venez découvrir les outils et techniques qui nous permettent de développer une app gérant des paiements sans mourir de trouille!
http://www.mix-it.fr/session/3532/
Passer à Git pour une équipe qui travaille tous les jours avec CVS.
De la migration technique au choix du workflow de travail en passant par l'accompagnement nécessaire.
Nous dresserons le bilan des problèmes rencontrés ainsi que des bénéfices retirés lors de cette migration.
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 function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
L'app Square Register Android ne crashe pas. Enfin... presque pas!
La recette magique? Combiner une approche aggressive avec la remontée de métadonnées et un monitoring précis. Venez découvrir les outils et techniques qui nous permettent de développer une app gérant des paiements sans mourir de trouille!
http://www.mix-it.fr/session/3532/
The document discusses Java 8's Stream API, which was presented at the Hanoi JUG in 2015. It provides an overview of key Stream API concepts like intermediate and terminal operations, laziness, and performance tuning. It also discusses how the Stream API changes coding approaches by allowing data to be pipelined and transformed, and provides built-in collectors. Both advantages and disadvantages of the Stream API are presented, such as reducing code size but inability to randomly access streams.
This document discusses the evolving role of software engineers and key technology trends. It notes that programming paradigms have shifted from procedural to object oriented to functional programming. It also discusses the rise of non-SQL databases, microservices architecture, and reactive applications. DevOps and cloud computing are emphasized as important mindsets for software engineers, along with skills like continuous integration, deployment, agile methodology, and automation tools. Social coding and influences from communities are also shaping the modern software engineer.
Why postgres SQL deserve noSQL fan respect - Devoxx Fr 2015Quentin Adam
This document discusses the advantages of PostgreSQL over NoSQL databases for certain use cases. It describes a playlist management app that tracks user playlists and music histories across different services. It argues that PostgreSQL is better suited than NoSQL because it supports relationships in data, complex queries, ACID transactions, and leverages the power of SQL. Choosing a database depends on architecture needs rather than preferences, and the author encourages trying PostgreSQL before making a decision.
This document discusses how to build applications using Groovy and Grails. It highlights that Groovy and Grails can significantly reduce development timelines and costs compared to traditional Java development. It also notes that Groovy and Grails provide good scalability and a shallow learning curve for developers familiar with Java. The document then addresses questions about changes required for existing Java applications and investment and provides guidance on getting started with Groovy and Grails.
Devoxx France - Web Components, Polymer et Material DesignHoracio Gonzalez
Des concepts comme encapsulation, réutilisation de composants, data-binding ou templating sont maintenant monnaie courante dans la plupart de frameworks web… mais chacun le fait à ça façon !
Et c’est là que les Web Components débarquent. Un nouveau standard en cours d’élaboration au W3C, qui va permettre d’avoir une approche par composants au développement web.
Dans cette présentation nous parlerons de ce standard en construction, de concepts comme ShadowDOM, Mutation Observers, custom elements, Model-Driven-View, Object.observe()… Nous parlerons aussi des implémentations actuelles, du projet Polymer de Google, des X-Tags de Mozilla et de comment avec AngularJS on peut déjà avoir un bon aperçu de ce que nous attend.
Et ensuite on rentrera dans le détail de comment on peut dès aujourd'hui utiliser des web components avec Polymer, et on illustrera l'approche en utilisant les composants Polymer Paper pour implémenter le look Material Design d'Android L dans des applications web.
This document introduces Hadoop, an open-source software platform for distributed storage and processing of large datasets across clusters of computers. It discusses the key components of Hadoop including the Hadoop Distributed File System (HDFS) for storage, MapReduce for processing, and YARN for resource management. The document also briefly introduces related projects like Pig for data flows and Hive for SQL-like queries that build on Hadoop.
The end of server management : hosting have to become a commodity - Keynote D...Quentin Adam
The all web expansion in the last 25 years rely on the incredible expansion of hosting capability and technology, these few last years, cloud computing raise like the new super power industrial way to host our website, shops, application and day to day tools. But the true fact is this is way to much a hand-crafted method : virtual or not machine with real operating system and application running on top and managing by human system administrator ; cloud computing by amazon is clearly industrialize raw material and resources, but still need to be canalize and manage by real people. We have to focus about industrialization like we did about electricity a century ago : produce stable standard with a high quality of service and availability, and develop the ecosystem of consumer. So, how the PaaS, the cloud and good process will end the server management ?
Après avoir travaillé avec plusieurs dizaines de startups, voici une illustration par des exemples concrets des concepts du Lean Startup (MVP, Lean, Get Out Of The Building, Pivot, Customer Development, Lean Canvas), avec un calcul de ROI sur un Growth Hack à base de Kinder Surprise.
This document summarizes ECMAScript Harmony and the rise of JavaScript compilers. It discusses new features like shared memory threads and shared array buffers which allow sharing memory across web workers. This enables compiling C++ to JavaScript without threads sucking. It also outlines the new Atomics API for shared memory access and synchronization across threads using atomic operations. Examples are given of how these new features are being implemented in browsers like Firefox and Chrome.
Vous êtes un manager ou un développeur et vous ne comprenez pas pourquoi il y a si peu de femmes techniques dans l'informatique ? Vous voulez améliorer la mixit de vos équipes ?
A travers notre vécu et quelques conseils, nous allons vous donner notre avis de femmes développeuses sur le sujet, pour faire des équipes de développement un lieu où hommes comme femmes se sentent bien et à leur place.
Slides du talk donné par Angélique Henry, Marion Félix et Claire Villard à Mix-It Lyon 2016.
Construire une application sur l'architecture modèle-vue-contrôleur en PHP à partir d'un exemple simple : une liste de choses à faire, avec deux pages types : liste et détails.
The document discusses Java 8's Stream API, which was presented at the Hanoi JUG in 2015. It provides an overview of key Stream API concepts like intermediate and terminal operations, laziness, and performance tuning. It also discusses how the Stream API changes coding approaches by allowing data to be pipelined and transformed, and provides built-in collectors. Both advantages and disadvantages of the Stream API are presented, such as reducing code size but inability to randomly access streams.
This document discusses the evolving role of software engineers and key technology trends. It notes that programming paradigms have shifted from procedural to object oriented to functional programming. It also discusses the rise of non-SQL databases, microservices architecture, and reactive applications. DevOps and cloud computing are emphasized as important mindsets for software engineers, along with skills like continuous integration, deployment, agile methodology, and automation tools. Social coding and influences from communities are also shaping the modern software engineer.
Why postgres SQL deserve noSQL fan respect - Devoxx Fr 2015Quentin Adam
This document discusses the advantages of PostgreSQL over NoSQL databases for certain use cases. It describes a playlist management app that tracks user playlists and music histories across different services. It argues that PostgreSQL is better suited than NoSQL because it supports relationships in data, complex queries, ACID transactions, and leverages the power of SQL. Choosing a database depends on architecture needs rather than preferences, and the author encourages trying PostgreSQL before making a decision.
This document discusses how to build applications using Groovy and Grails. It highlights that Groovy and Grails can significantly reduce development timelines and costs compared to traditional Java development. It also notes that Groovy and Grails provide good scalability and a shallow learning curve for developers familiar with Java. The document then addresses questions about changes required for existing Java applications and investment and provides guidance on getting started with Groovy and Grails.
Devoxx France - Web Components, Polymer et Material DesignHoracio Gonzalez
Des concepts comme encapsulation, réutilisation de composants, data-binding ou templating sont maintenant monnaie courante dans la plupart de frameworks web… mais chacun le fait à ça façon !
Et c’est là que les Web Components débarquent. Un nouveau standard en cours d’élaboration au W3C, qui va permettre d’avoir une approche par composants au développement web.
Dans cette présentation nous parlerons de ce standard en construction, de concepts comme ShadowDOM, Mutation Observers, custom elements, Model-Driven-View, Object.observe()… Nous parlerons aussi des implémentations actuelles, du projet Polymer de Google, des X-Tags de Mozilla et de comment avec AngularJS on peut déjà avoir un bon aperçu de ce que nous attend.
Et ensuite on rentrera dans le détail de comment on peut dès aujourd'hui utiliser des web components avec Polymer, et on illustrera l'approche en utilisant les composants Polymer Paper pour implémenter le look Material Design d'Android L dans des applications web.
This document introduces Hadoop, an open-source software platform for distributed storage and processing of large datasets across clusters of computers. It discusses the key components of Hadoop including the Hadoop Distributed File System (HDFS) for storage, MapReduce for processing, and YARN for resource management. The document also briefly introduces related projects like Pig for data flows and Hive for SQL-like queries that build on Hadoop.
The end of server management : hosting have to become a commodity - Keynote D...Quentin Adam
The all web expansion in the last 25 years rely on the incredible expansion of hosting capability and technology, these few last years, cloud computing raise like the new super power industrial way to host our website, shops, application and day to day tools. But the true fact is this is way to much a hand-crafted method : virtual or not machine with real operating system and application running on top and managing by human system administrator ; cloud computing by amazon is clearly industrialize raw material and resources, but still need to be canalize and manage by real people. We have to focus about industrialization like we did about electricity a century ago : produce stable standard with a high quality of service and availability, and develop the ecosystem of consumer. So, how the PaaS, the cloud and good process will end the server management ?
Après avoir travaillé avec plusieurs dizaines de startups, voici une illustration par des exemples concrets des concepts du Lean Startup (MVP, Lean, Get Out Of The Building, Pivot, Customer Development, Lean Canvas), avec un calcul de ROI sur un Growth Hack à base de Kinder Surprise.
This document summarizes ECMAScript Harmony and the rise of JavaScript compilers. It discusses new features like shared memory threads and shared array buffers which allow sharing memory across web workers. This enables compiling C++ to JavaScript without threads sucking. It also outlines the new Atomics API for shared memory access and synchronization across threads using atomic operations. Examples are given of how these new features are being implemented in browsers like Firefox and Chrome.
Vous êtes un manager ou un développeur et vous ne comprenez pas pourquoi il y a si peu de femmes techniques dans l'informatique ? Vous voulez améliorer la mixit de vos équipes ?
A travers notre vécu et quelques conseils, nous allons vous donner notre avis de femmes développeuses sur le sujet, pour faire des équipes de développement un lieu où hommes comme femmes se sentent bien et à leur place.
Slides du talk donné par Angélique Henry, Marion Félix et Claire Villard à Mix-It Lyon 2016.
Construire une application sur l'architecture modèle-vue-contrôleur en PHP à partir d'un exemple simple : une liste de choses à faire, avec deux pages types : liste et détails.
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Microsoft Technet France
Découvrir et démarrer un nouveau site web ASP.NET MVC est assez simple aujourd'hui mais le démarrer correctement avec une architecture pérenne et moderne en est une autre. C'est pourquoi nous avons voulu à travers cette session présenter des solutions concrètes, montrer les erreurs courantes, mettre l'accent sur les points sensibles ou encore vous présenter un ensemble de bonnes pratiques et de recettes autour de la plateforme. ASP.NET MVC est avant toute chose un framework dont les engagements vont bien plus loin que le simple pattern. Nous verrons donc au travers d'exemples détaillés comment structurer les projets, comment travailler et s'organiser avec l'écosystème d'ASP.NET MVC, les points sensibles de l'optimisation et des performances, les tests à tous niveaux, l'ergonomie et la qualité du rendu client ou encore les différents niveaux d'extension.
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Retour d'expérience sur un projet agile, avec les technos Flex, Spring, Hibernate, donné lors du ToulouseJug du 21/04/2011.
Bert Poller & Nicolas Deverge
Support de cours EJB :
- Architecture JEE
- Séparer le code métier et le code technique
- Inversion de contrôle
- EJB session
- EJB Entity
- Mise en oeuvre des projets EJB
- EJB et Web services
- JMS
- MDB
- Gestion de transactions avec EJB
- Application
Une base de données, pourquoi faire ? Le SQL, c’est quoi ce langage ? Un DBA, ça sert à quoi ? Cette session est là pour démystifier la base de données du point de vue des développeurs. Au programme : des bonnes pratiques, de la méthodologie, quelques tips techniques… De quoi rapprocher les développeurs et les DBA.
Présentation des différents designs applicatifs et de leur implémentation avec Symfony2.
Les exemples sont disponibles sur Github :
https://github.com/romainkuzniak
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
Rejoignez les millions de développeurs Spring
De par sa forte pénétration dans les entreprises, tout développeur Java /JEE a ou aura à travailler sur une application s’appuyant sur Spring. Or Spring dépasse le cadre du simple framework open source.
Cette série de 5 workshops a pour objectif de faire un tour d’horizon de l’écosystème des technologies supportées par Spring avant de se focaliser plus spécifiquement sur certaines d’entre elles.
Retours d’expérience, bonnes pratiques, techniques avancées seront de partie.
Propulsée dans Java EE 6 avec CDI et plus récemment au sein de JavaScript avec Google Gin, l’injection de dépendance sera au cœur du premier workshop.
Voici le support de présentation du workshop sur Spring que j'ai animé en novembre 2011 au sein de ma SSII et que j'ai réactualisé avant sa diffusion sur Slideshare.
Au sommaire du workshop :
1. Zoom sur le portfolio Spring Source
1. Le cœur du framework Spring : IoC, AOP et support
2. Le support proposé par Spring : persistance, présentation, communication, test, outils …
2. Les fondamentaux
1. Fonctionnement du conteneur léger
2. Les beans Spring
3. Les design patterns rencontrés dans Spring
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!
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.
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.
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 :
2. • Sommaire
Tour d’horizon de ce que l’on va aborder…
Intro
Design Pattern dans l’archi JEE
Une vue d’ensemble des design de Sun
DP
Les design pattern
Quizz
Petit test à chaud !!
MVC
Business Delegate
Service Locator
Ou comment voir si on a suivi ^^
Transfert Object
Intercepting Filter
Front Controller
5. •MVC
POJO
Model
La base…
Requête d’état
• Représente les données de l'appli
• Répond aux requêtes de la vue
• Notifie la vue des changements
Changement
d’état
Notifications de changement
Servlet
Controller
JSP
View
• Représentation du modèle
• Interface avec laquelle l'utilisateur
interagit
• Reçoit les actions de l'utilisateur
Choix de la vue
Actions utilisateurs
• Gère l'interface entre le modèle
et le client
•Lie les actions utilisateurs à la mise à
jour du modèle
• Sélectionne la vue (réponse)
• Un pour chaque fonctionnalité
6. •MVC, dans une appli web « Réelle »
Ou comment gérer le code dupliqué…
Détail compte
Identification
Controller
Controller
Controller
Controller
Model
Model
Model
Model
…
…
JSP
JSP
JSP
JSP
•
•
•
•
•
Récupère les paramètres de la request
Valide les paramètres
Récupère le Modèle qui nous intéresse
Place le Modèle dans la request
Invoque la vue
7. •Front controller
Classes de
validation
In the real life ^^
Action
Servlet
FormBean
Front
Controller
Classes d’
actions
Request
Config
XML
Strutsconfig.xml
<xml>
<validate>
</validate>
<mapping>
</mapping>
</xml>
Action
Object
JSP
Model
8. •MVC
Quand on est que sur une VM
Oui mais voilà,
et quand le
modèle
n’est pas
sur le
même serveur ???
9. • Les outils du « remote »
Ou les outils pour comprendre les pattern « remote »
JNDI
•
Java Naming and Directory
Interface
•
Le but c’est de rajouter un élément
à l’architecture pour centraliser la
location des objets (un annuaire)
•
Si on veut partager un objet on
l’enregistre sur l’annuaire
•
Si on en cherche un, on regarde
dans l’annuaire
RMI
•
Remote Method Invocation
•
Le but est de récupérer un objet au
travers du réseau
10. • MVC avec Model « remote »
Un premier jet
Oui mais voilà,
des fois on est
« remote »
Et des fois pas
11. •Le pattern Business Delegate
Et cette fois
Ou comment cacher la complexité du JNDI et RMI
il est où
le code dupliqué?
• Réduit le couplage entre les couches présentation et Business
• Encapsule la recherche dans l’annuaire
• Proxy pour le client
12. • Le Pattern Service Locator
Ou comment éviter de dupliquer le code du « lookup »
13. • MVC avec Model « remote »
Deuxième jet
Où est
le problème ?
Ca c’est 1000 fois plus
lent qu’un appel local !!
14. • Le pattern DTO (Data Transfert Object)
Ou à quoi sert la sérialisation…
try {
TransfertObject o = serviceStub.serviceMethod(param);
} catch (RemoteException e) {
throw new ApplicativeException();
}
15.
16. • Le Pattern Intercepting Filter
Ou comment rajouter de l’information partout sans tout changer…
•
•
•
•
Peut intercepter et/ou modifier la requête avant qu’elle arrive à la servlet
Peut intercepter et/ou modifier la réponse avant qu’elle soit retournée au client
Déclarée dans le web.xml
Les filtres peuvent être chaîné