<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Damien Lucas</title>
    <description>The latest articles on DEV Community by Damien Lucas (@dlucasd).</description>
    <link>https://dev.to/dlucasd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F286917%2Ffd68f4d9-e38f-4466-8043-b346ae431ec4.jpg</url>
      <title>DEV Community: Damien Lucas</title>
      <link>https://dev.to/dlucasd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dlucasd"/>
    <language>en</language>
    <item>
      <title>Onepoint à VoxxedDays Luxembourg 2024</title>
      <dc:creator>Damien Lucas</dc:creator>
      <pubDate>Fri, 21 Jun 2024 14:52:22 +0000</pubDate>
      <link>https://dev.to/onepoint/onepoint-a-voxxeddays-luxembourg-2024-1hd5</link>
      <guid>https://dev.to/onepoint/onepoint-a-voxxeddays-luxembourg-2024-1hd5</guid>
      <description>&lt;p&gt;Nous sommes de retour des &lt;strong&gt;VoxxedDays Luxembourg&lt;/strong&gt; et nous en profitons pour écrire cet article et établir notre top 3 des conférences que nous avons le plus appréciées durant ces deux jours.&lt;/p&gt;

&lt;p&gt;C'est aussi l'occasion de faire un peu d'auto-promotion car c'est la première fois que nous avons donné notre talk &lt;a href="https://github.com/dlucasd/il-faut-sauver-le-dernier-giga-de-ram" rel="noopener noreferrer"&gt;Il faut sauver le dernier Giga de RAM&lt;/a&gt; en public avec &lt;a href="https://dev.to@ibethus"&gt;Ivan&lt;/a&gt;. Nous avions déjà eu l'occasion de le présenter chez &lt;strong&gt;Onepoint&lt;/strong&gt; lors de nos &lt;a href="https://www.groupeonepoint.com/fr/notre-actualite/atlantique-days-et-sud-ouest-days-une-mise-en-situation-complete-pour-nos-futurs-speakers/" rel="noopener noreferrer"&gt;Sud-Ouest Days&lt;/a&gt;, un événement interne qui reprend le même processus de soumission des talks : &lt;em&gt;Call For Paper&lt;/em&gt; sous conference-hall.io, sélection du jury, et pour terminer, une journée banalisée regroupant généralement 8 conférences devant une cinquentaine de personnes.&lt;/p&gt;

&lt;p&gt;Notre talk est un retour d'expérience sur l'optimisation de la consommation mémoire sur une chaîne batch Java / Spring que nous avons dû effectuer fin d'année dernière. C'est un mélange de jeux de rôle, de trois démos en direct et, pour chacune, des slides récapitulatives pour retenir l'essentiel. Merci à toutes les personnes qui nous ont donné des retours que ce soit sur l'application Voxxrin, sur les réseaux ou en direct. Cela nous fait très plaisir.&lt;/p&gt;

&lt;p&gt;Les conditions pour présenter ce talk étaient excellentes, merci encore aux organisateurs des &lt;strong&gt;VoxxedDays Luxembourg&lt;/strong&gt; pour leur accueil, leur bienveillance et tout le travail qui se cache derrière pour nous permettre de passer deux jours hors du commun.&lt;/p&gt;

&lt;p&gt;Enfin, merci à Onepoint et nos partners Sud-Ouest de nous permettre de vivre ces moments!&lt;/p&gt;

&lt;h2&gt;
  
  
  Et si on implémentait une Machine à Etats from scratch pour aider la petite souris ?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/LaurineLeNet" rel="noopener noreferrer"&gt;Laurine Le Net&lt;/a&gt; se livre à une implémentation d'une machine à état à partir de zéro lors d'un live coding d'environ quarante minutes. Petit à petit, elle redéfinit chaque concept d'une machine à état et les implémente dans une stack Java et Spring. Le cas d'utilisation est très simple : aider la petite souris à avoir de l'observabilité et de la fiabilité lors de son workflow d'échange de dents contre de l'argent sous l'oreiller des enfants.&lt;/p&gt;

&lt;p&gt;Les slides sont claires, le métier est simple, le live coding se déroule rapidement, le tout ponctué de touches d'humour. Nous avons passé un bon moment avec &lt;a href="https://dev.to@ibethus"&gt;Ivan&lt;/a&gt; à regarder cette conférence.&lt;/p&gt;

&lt;p&gt;Laurine termine en évoquant bien sûr les solutions du marché qui existent (telles que Spring Statemachine, ou encore Temporal et Camunda) mais c'est toujours intéressant de comprendre ce qu'il se passe sous le capot !&lt;/p&gt;

&lt;p&gt;Les replays ne sont bien évidemment pas disponibles, mais vous pouvez déjà visionner ce talk qu'elle a donné au DevFest Lille.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/1fYcpyArorI"&gt;
&lt;/iframe&gt;
.&lt;/p&gt;
&lt;h2&gt;
  
  
  Comment nous avons transformé les Restos du Cœur en Cloud Provider
&lt;/h2&gt;

&lt;p&gt;Les &lt;strong&gt;Restos du Cœur&lt;/strong&gt; est sans doute l'association d'aide aux démunis la plus célèbre en France. Créée en 1985 par Coluche, elle compte désormais environ 2 000 membres et plus de 75 000 bénévoles. L'association est répartie sur 117 antennes départementales, ce qui pose évidemment problème au pôle en charge de l'informatique. En effet, comment connecter ces différents centres ? Comment créer et maintenir une infrastructure, fournir des services aux utilisateurs finaux, sans oublier que chez les Restos, chaque euro compte ? &lt;a href="https://twitter.com/ju_hnny5" rel="noopener noreferrer"&gt;Julien Briault&lt;/a&gt; est ingénieur réseau SRE chez Deezer, mais s'occupe également bénévolement de l'infrastructure IT des restos du cœur.&lt;/p&gt;

&lt;p&gt;À travers sa conférence, il nous fait découvrir la transformation intervenue dans l'association, pour passer de systèmes informatiques vieillissants, hétérogènes et indépendants en véritable service cloud interne centralisé. Avec nombre d'anecdotes passionnantes, Julien détaille les défis d'une telle opération. On y apprend aussi bien les contraintes liées à une telle structure, que les détails de la stack technique retenue (OpenStack et Kubernetes) et de son implémentation. Sans oublier toute la partie hardware de &lt;em&gt;récup&lt;/em&gt;.&lt;br&gt;
Pour les amoureux de l'open-source, du bénévolat et de la débrouille, cette conférence est un must !&lt;/p&gt;

&lt;p&gt;P.S. les Restos recrutent (des bras et des développeurs)&lt;/p&gt;
&lt;h2&gt;
  
  
  L'Indexation SQL au-delà des simples colonnes
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;select author from talks where content LIKE '%voxxedDays%'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Quelles performances pourrait-on attendre d'une requête comme celle-ci sur une base de données contenant plusieurs centaines de milliers voir millions d'entrées ? Grâce à &lt;a href="https://x.com/FranckPachot" rel="noopener noreferrer"&gt;Franck Pachot&lt;/a&gt;, peut-être qu'elles ne seraient pas si mauvaises.&lt;/p&gt;

&lt;p&gt;Cet expert en bases de données relationnelles propose à travers sa conférence une approche plus poussée des index, notamment sur la base de données &lt;strong&gt;PostgreSQL&lt;/strong&gt;, mais aussi &lt;strong&gt;Oracle&lt;/strong&gt;. Il explore plusieurs exemples d'indexation (expressions, fragments de texte, attributs JSON et requêtes &lt;em&gt;Top-N&lt;/em&gt;) sur &lt;strong&gt;PostgreSQL&lt;/strong&gt; (Expression index, Inverted index, Partial index, Covering index, Order preserving joins) et évalue l'efficacité de l'indexation en examinant les plans d'exécution.&lt;/p&gt;

&lt;p&gt;Conférence très technique mais néanmoins accessible et passionnante, on n'en ressort pas indemne.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ai-je les bons index sur ma base ?&lt;br&gt;
Pourrais-je optimiser les performances de cette requête dont le client se plaint depuis des mois ?!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Franck a déjà donné ce talk à Devoxx France il y a quelques mois :&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/TW8qjs8D0Bk"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>talks</category>
      <category>conference</category>
      <category>onepoint</category>
    </item>
    <item>
      <title>Notre retour (backend) sur Devoxx 2024</title>
      <dc:creator>Damien Lucas</dc:creator>
      <pubDate>Thu, 23 May 2024 17:25:21 +0000</pubDate>
      <link>https://dev.to/onepoint/notre-retour-backend-sur-devoxx-2024-4knc</link>
      <guid>https://dev.to/onepoint/notre-retour-backend-sur-devoxx-2024-4knc</guid>
      <description>&lt;p&gt;Devoxx 2024 nous a offert une pléthore de conférences sur Java et le backend en général cette année. Faire un choix parmi tous ces talks n'a pas été facile, mais voici celles qui ont retenu notre préférence. &lt;/p&gt;

&lt;h2&gt;
  
  
  Model Mitosis : ne plus se tromper entre les microservices et le monolithe
&lt;/h2&gt;

&lt;p&gt;Les habitués des présentations de &lt;a href="https://x.com/JulienTopcu" rel="noopener noreferrer"&gt;Julien Topçu&lt;/a&gt; ne seront pas déçus par ce nouveau talk. Accompagné de son collègue &lt;a href="https://x.com/JosianChevalier" rel="noopener noreferrer"&gt;Josian Chevalier&lt;/a&gt;, les deux intervenants se glissent dans la peau d'un duo développeur/architecte, le tout dans l'univers du Mandalorian.&lt;/p&gt;

&lt;p&gt;À travers un exemple concret d'implémentation de fonctionnalités, les deux compères nous expliquent comment refactorer un monolithe de manière itérative tout en s'inspirant de la mitose cellulaire en biologie.&lt;/p&gt;

&lt;p&gt;Le va-et-vient incessant du développeur qui a les mains dans le cambouis et la vision très macro de l'architecte peut nous rappeler des situations déjà vécues. Le tout saupoudré d'humour et d'idées originales (comme les refacto de Chat3PO), cette présentation est de loin la plus divertissante et enrichissante de cette édition devoxx 2024.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=HNQJW5iMZgQ" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Nous sommes tous rassemblés - We are all to gather
&lt;/h2&gt;

&lt;p&gt;Après un très court rappelle sur l'api &lt;code&gt;java.util.Stream&lt;/code&gt; &lt;a href="http://monge.univ-mlv.fr/~forax/" rel="noopener noreferrer"&gt;Rémi Forax&lt;/a&gt; nous présente le nouveau venu (&lt;em&gt;java 22 preview&lt;/em&gt;) : &lt;em&gt;les gatherers&lt;/em&gt;. Très concrètement, ceux-ci permettent d'implémenter n'importe quelle opération intermédiaire sur un &lt;em&gt;stream&lt;/em&gt;. On pourra donc évidemment réimplémenter toutes les opérations existantes, comme &lt;code&gt;map&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt; ou &lt;code&gt;takeWhile&lt;/code&gt;, mais aussi laisser libre cours à notre imagination.&lt;/p&gt;

&lt;p&gt;Que ce soit pour un débutant, ou un développeur Java confirmé, cette conférence est un &lt;em&gt;must&lt;/em&gt; en terme de pédagogie et nous permet de comprendre, l'intérêt et l'utilisation de cette nouvelle &lt;em&gt;API&lt;/em&gt;, ainsi que de rappeler quelques petits secrets cachés de l'existant.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=HNQJW5iMZgQ" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bootiful Spring Boot 3.3
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/starbuxman" rel="noopener noreferrer"&gt;Josh Long&lt;/a&gt; commence sa conférence en faisant un bref rappel de Spring à travers un site inspiré de l'univers de Mario : &lt;a href="https://springone.io/history-of-spring" rel="noopener noreferrer"&gt;Histoire de Spring&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ensuite, Josh se rend sur &lt;a href="https://start.spring.io/" rel="noopener noreferrer"&gt;Spring Initializr&lt;/a&gt;, ajoute plusieurs dépendances (GraalVM, Spring Web, Spring Data Jdbc, etc.) et se lance dans une démonstration en direct.&lt;/p&gt;

&lt;p&gt;Après avoir brièvement présenté les dernières nouveautés de Java (records, sealed types, smart switch expressions et pattern matching), il nous entraîne dans l'implémentation d'un générateur d'histoires basé sur Spring OpenAI.&lt;/p&gt;

&lt;p&gt;Il enchaîne avec une démonstration des Virtual Threads implémentés dans Spring (il suffit simplement d'ajouter la propriété &lt;code&gt;spring.threads.virtual.enabled=true&lt;/code&gt; pour en bénéficier).&lt;/p&gt;

&lt;p&gt;Il termine sa démonstration en direct par une compilation native du projet qu'il vient de développer sous nos yeux.&lt;/p&gt;

&lt;p&gt;Vous avez peut-être déjà vu cette présentation qu'il donne depuis l'arrivée de Spring Boot 3, mais elle a le mérite d'être mise à jour avec les nouveautés de Spring et Java. Une présentation très rafraîchissante avec beaucoup d'humour ! On passe un bon moment. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=tA_KKK1zXzc" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sous le capot d'une application JVM - Java Flight Recorder / Java Mission Control
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/gdarmont" rel="noopener noreferrer"&gt;Guillaume Darmont&lt;/a&gt; commence sa présentation en expliquant ce que sont les outils Java Flight Recorder (JFR) et Java Mission Control (JMC). On peut les comparer respectivement à l'enregistrement d'une boîte noire d'un avion et au logiciel permettant d'exploiter toutes les données de cette boîte noire.&lt;/p&gt;

&lt;p&gt;Ensuite, il présente l'application démo qu'il a conçue pour l'occasion : une application permettant de calculer le hash d'un ensemble de fichiers.&lt;/p&gt;

&lt;p&gt;De manière itérative, il nous montre comment manipuler JFR et JMC pour trouver et corriger les problèmes de performance d'une application Java.&lt;/p&gt;

&lt;p&gt;En prime, il nous explique comment il a découvert un problème de performance présent dans le JDK depuis de nombreuses années en préparant sa présentation. La prochaine version de la JDK intégrera donc son correctif.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=wa_EtTUx-z0" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Mot de la fin
&lt;/h2&gt;

&lt;p&gt;Retrouvez notre série d'articles sur Devoxx :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dev.to/onepoint/devoxx-france-2024-8o"&gt;Intro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/onepoint/notre-retour-frontend-sur-devoxx-2024-1jgg"&gt;Frontend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/onepoint/mais-oui-ia-de-la-data-a-devoxx-france-2024--4kpe"&gt;Data/IA&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>devoxx</category>
      <category>backend</category>
      <category>java</category>
    </item>
    <item>
      <title>Devoxx France 2024</title>
      <dc:creator>Damien Lucas</dc:creator>
      <pubDate>Thu, 16 May 2024 12:55:26 +0000</pubDate>
      <link>https://dev.to/onepoint/devoxx-france-2024-8o</link>
      <guid>https://dev.to/onepoint/devoxx-france-2024-8o</guid>
      <description>&lt;p&gt;Devoxx France c'est &lt;strong&gt;LA&lt;/strong&gt; conférence tech' en France qui s'est déroulée cette année du 17 au 19 avril. Cependant, l'événement ne se limite pas à ces trois jours, c'est beaucoup plus long. Il y a d'abord, pour les courageux, la réponse au CFP, ouvert du 27 novembre au 14 janvier. S'ensuit l'attente de la réponse du jury qui pourra apporter, déception, joie, stress, enfin une réponse de jury... Mais cette attente n'est pas passive car pour tous, le 1er décembre à 9h00 précise, c'est l'ouverture de la vente des tickets. Il ne faut pas tergiverser parce qu'en 5 minutes environ, tout est vendu.&lt;/p&gt;

&lt;p&gt;A partir du 7 mars, l'agenda est dévoilé : il est temps d'éplucher les 24 &lt;em&gt;&lt;em&gt;hands on labs&lt;/em&gt;&lt;/em&gt;, 116 &lt;em&gt;&lt;em&gt;conferences&lt;/em&gt;&lt;/em&gt;, 12 &lt;em&gt;&lt;em&gt;deep dives&lt;/em&gt;&lt;/em&gt;, 54 &lt;em&gt;&lt;em&gt;lunch talks&lt;/em&gt;&lt;/em&gt;, 46 &lt;em&gt;&lt;em&gt;tools-in-action&lt;/em&gt;&lt;/em&gt;. Ça fait beaucoup, ça laisse le temps de se décider, de changer d'avis, de commencer une petite veille en avance...&lt;/p&gt;

&lt;p&gt;Pour prendre les notes efficacement pendant les conférences, nous utilisons &lt;a href="https://github.com/cfrezier/devoxx2adoc" rel="noopener noreferrer"&gt;devoxx2adoc&lt;/a&gt;, qui génère un squelette de prise de notes pour toutes les conférences au programme.&lt;/p&gt;

&lt;p&gt;Cet article marque le début d'une série qui mettra en lumière les moments forts de Devoxx France 2024. Réalisée en collaboration par une équipe d'experts venant de plusieurs horizons, chaque article abordera un thème particulier en fonction de l'expertise de chacun des membres de l'équipe, offrant ainsi une diversité d'avis sur les conférences ayant retenu notre attention.&lt;/p&gt;

&lt;p&gt;Cette année, en marge des sujets traditionnels, nous avons retenu trois conférences originales que nous aimerions mettre en lumière.&lt;/p&gt;

&lt;h2&gt;
  
  
  Et si on divisait par 4 l'empreinte carbone du numérique ?
&lt;/h2&gt;

&lt;p&gt;Dans cette conférence &lt;a href="https://framapiaf.org/@nitot" rel="noopener noreferrer"&gt;Tristan Nitot&lt;/a&gt; nous raconte l'histoire des CPUs et de la loi de Moore.&lt;/p&gt;

&lt;p&gt;Il nous montre que nous sommes arrivé à la fin de cette fameuse loi, la capacité de calcul des coeurs de CPU ne progresse quasiment plus, un PC qui a 10 ans permet encore de naviguer sur le web de manière confortable.&lt;/p&gt;

&lt;p&gt;Il nous amène à nous poser la question de la complexité et de l'optimisation des applications. Un corollaire de la loi de Moore étant la loi de Wirth qui dit en essence : "Le logicel ralentit aussi vite que le matériel accélère" amenant à des besoins énergétique en constante augmentation pour les activités numériques.&lt;/p&gt;

&lt;p&gt;Il nous donne plusieurs exemples, la taille d'une page web qui a été multiplié par 150 en 25 ans entre autre.&lt;/p&gt;

&lt;p&gt;Et si on essayait de passer un peu de temps à optimiser nos logiciels avant de penser à ajouter de nouvelles features ?&lt;/p&gt;

&lt;p&gt;Il nous raconte l'histoire de Matt Parker qui, grâce à sa communauté, a réduit le temps de calcul d'un algorithme en python qu'il avait écrit de manière un peu naïve de pas loin d'un mois à 15 minutes puis à quelques millisecondes suite à une réécriture dans un autre langage.&lt;/p&gt;

&lt;p&gt;Ce résumé ne rend pas justice à cette conférence qui a pour but de nous ouvrir les yeux sur des choses simples que l'on peut faire afin de nous améliorer et que quelques efforts permettraient de drastiquement réduire ou au moins ne pas augmenter l'impact de nos activités sur le changement climatique.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=bGINbV8oxMY" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How JavaScript Happened: A Short History of Programming Languages
&lt;/h2&gt;

&lt;p&gt;Pour le côté historique, un des keynoters, &lt;a href="https://twitter.com/markrendle" rel="noopener noreferrer"&gt;Mark Rendle&lt;/a&gt; aborde les différents langages qui ont amené jusqu'à Javascript. Une bonne dose d'humour et beaucoup de recherches sur les personnes et les histoires de créations de "vieux" langages de programmation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=fcdYA-BpvOk" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tout ce que vous n'avez jamais voulu savoir sur les fuseaux horaires
&lt;/h2&gt;

&lt;p&gt;Une conférence très intéressante de &lt;a href="https://twitter.com/j_deniau" rel="noopener noreferrer"&gt;Julien Deniau&lt;/a&gt; qui nous présente les subilitiés des fuseaux horaires, au travers de plusieurs exemples concrets et amusants (j'y ai notamment appris que la France étant présente sur 12 fuseaux horaires !). Après plusieurs décennies, ce qui semble aussi "simple" qu'une date et une heure est en fait toujours complexe à gérer, et Julien nous présente plusieurs façons d'interagir avec et de les stocker correctement. Si vous pensiez savoir comment travailler avec des dates, vous vous trompez peut-être !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Q25M9VR-gaw" rel="noopener noreferrer"&gt;Replay sur Youtube.&lt;/a&gt;&lt;br&gt;
&lt;a href="https://julien.deniau.me/timezones/#/" rel="noopener noreferrer"&gt;Slides&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devoxxfr</category>
      <category>onepoint</category>
    </item>
  </channel>
</rss>
