Loading…
SnowCamp 2020 has ended
22nd-25th of January 2020 / 22-25 Janvier 2020, Grenoble
Languages & Paradigms [clear filter]
Wednesday, January 22
 

09:30 GMT

De spring boot à Kotlin
Kotlin est devenu LA référence quand on parle de développement Android.
Les développeurs de chez JetBrains ont, en plus d'avoir casser le game au niveau des IDE, réussi à faire passer Java au second plan quand on parle de développement Android.

Mais quand est-il du monde web avec des applications codés en Java ?
Faut-il tout ré-apprendre ? Faut-il tout migrer en Kotlin ?
Faut-il faire confiance à une autre communauté que Java ?
Est-ce un complot pour que JetBrains devienne la première puissance mondiale devant les USA, la russie et l'europe ?
Est-ce que ça remet en cause la réponse à la vie, l'univers et le reste ?

...et bien, on peut vous rassurer, toutes ces craintes ne sont pas fondées et nous allons vous montrer que vous pouvez faire du Kotlin dès à présent et sans effort sur votre projet Spring!

Dans cet atelier, à partir d'une application multi-modulaires codée en Spring Boot, nous allons pas à pas refactorer notre code en une application Kotlin.

Après une brève introduction aux fonctionnalités basiques de Kotlin (classes, fonctions, variables, lambdas, ...), vous allez pour chaque modules :
- Configurer maven pour compiler du Kotlin
- Convertir fichier par fichier votre application en Kotlin
- Faire "whooooo"
- Faire "ha ouais, quand même"
- Faire "c'est tout ?"
- Commencer à détester Java
- Convertir tout vos projets en Kotlin, parce que oui, c'est ça l'amour

Pré-requis pour cet atelier
IntelliJ Community Edition ou supérieur (Autre IDE possible mais non testé)
Maven

Speakers
avatar for Mathieu Mure

Mathieu Mure

Zenika
Consultant Web à Zenika le matin, CTO l'apès-midi, orga du LyonJS la nuit et speaker le reste du temps. Je ❤️ le web et je ❤️ encore plus lorsque je peux partager ce que j'aime.
avatar for Olivier Perez

Olivier Perez

Zenika
Développeur piloté par la passion, j'ai arrêté de compter les langages que j'ai pu rencontrer depuis mes 14 ans. Après 5 ans chez Worldline, dont 2 de Spring et 3 d'Android, je suis, depuis fin 2018, développeur chez Zenika, mes journées m'amènent à faire beaucoup de Kotlin... Read More →


Wednesday January 22, 2020 09:30 - 12:30 GMT
Mont Blanc 3 WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

09:30 GMT

Introduction to Scala
Scala is mostly known as the "spark" language but it is much more. In fact it is a great solution to write scalable, testable and fun applications.
In this workshop we will review the pillars of functional programming and we will learn the basics of the language by building a simple web application using Scala.

Prerequisites
- a notebook
- an up-to-date browser
- Intellij Community (please follow this doc https://docs.scala-lang.org/getting-started/intellij-track/getting-started-with-scala-in-intellij.html)
- optional node.js & npm for the second part (https://nodejs.org/en/download/)

Speakers
avatar for Andrea Baita

Andrea Baita

Kelkoo Group
Andrea is an experienced software engineer at Kelkoo Group, working as Big Data Engineer in the Data Science Team. He has a demonstrated history of working in the information services industry in Italy and in France as a freelance and entrepreneur. His main interests are Big Data... Read More →


Wednesday January 22, 2020 09:30 - 12:30 GMT
Everest WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

Découvrez Micronaut, le framework qui va faire du bien à la JVM !
Temps de démarrage proche de la seconde, empreinte mémoire de 10 MB, pas de réflection, approche orientée "cloud native" : autant de caractéristiques qui font du framework Micronaut le compagnon idéal de développement de vos microservices Java/Kotlin. Mais concrètement, comment on écrit du code avec Micronaut ?

Dans ce TP nous coderons quelques microservices en Java ou Kotlin, les builderons avec Gradle, y brancherons une petite base de donnée H2 ou MongoDB et bien sûr les feront interagir avec du service discovery. Ce TP permettra ainsi de couvrir les principales fonctionnalités de Micronaut comme :

* L'injection de dépendance and l'inversion de contrôle (IoC)
* La configuration et l'auto-configuration
* Les services HTTP avec des clients et des serveurs HTTP
* Les aspects cloud native
* Le support des APIs réactives
* Les tests
* Le management et le monitoring de nos microservices
* La compilation native avec GraalVM

Pré-requis pour cet atelier
Installer tout ce qui est mentionné à cette page : https://ateliers.stack-labs.com/md/micronaut_workshop#1

Speakers
avatar for Olivier Revial

Olivier Revial

Stack Labs
Développeur Java depuis plusieurs années, j'adore la tech et mon sujet de prédilection du moment est l'architecture microservices !


Wednesday January 22, 2020 14:00 - 17:00 GMT
Mont Blanc 2 WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

WebAssembly : le navigateur est maintenant une vraie machine virtuelle
WebAssembly est une nouvelle machine virtuelle dans le navigateur. Elle ne fait pas de transpilation vers JavaScript comme l'ont tenté ses prédécesseurs ; elle introduit un nouveau format, proche d'un assembleur, exécuté dans une machine virtuelle au sein de votre browser. Le coup de génie ? Offrir un bridge entre les API JavaScript et les exécutables WebAssembly ! Les dernières optimisations des navigateurs permettent maintenant un échange ultrarapide entre le code JS de votre interface, et votre code métier WASM.

Partons d'un projet nécessitant un long temps de calcul, comme un modèle statistique. Nous développerons le core code en Rust, compilé vers WASM via LLVM, et nous afficherons l'ensemble des résultats dans une UI propulsée par JavaScript. Pas besoin de savoir comment tout ça fonctionne, c'est ce que nous allons découvrir ensemble !

Ce talk est un #StartFromNowhere : démarrons des savoir-faire des développeur·euse·s front (JS / HTML / CSS), et plongeons dans la mise en application d'une nouvelle technologie / framework dont beaucoup parlent sans pour autant y avoir déjà touché. Le temps d'une conf ou d'un atelier, vous obtiendrez tous les savoirs nécessaires à la poursuite de votre apprentissage.

Pré-requis pour cet atelier
- un laptop, idéalement sous *nix (Mac Os, Linux…). C'est toujours possible de pratiquer sous Windows, mais un poil moins pratique
- un environnement Python3 de base, ou un serveur Web local (normalement tout le monde a au moins un python3 sous la main par défaut)
- un éditeur de code avec lequel on est confortable


Speakers
avatar for M4dz 🥑🦄

M4dz 🥑🦄

‹div›RIOTS
Principal Developer Advocate at ‹div›RIOTS - makers of Backlight, a Design Systems IDE built for Designers and Developers - m4dz is a curious animal. Former Frontend Dev, Devtools enthusiast, he has made the Developer eXperience (DX) his cherished topic. All the Web technologies... Read More →


Wednesday January 22, 2020 14:00 - 17:00 GMT
Mont Blanc 3 WTC, 5 - 7, place Robert Schuman, 38025 Grenoble
 
Thursday, January 23
 

10:45 GMT

Core, le principe "dans le doute reboot" appliqué à .NET
17 ans... Même pas l'âge de raison pour un humain mais l'équivalent d'une période géologique à l'échelle de l'informatique. C'est pourtant l'âge de .NET. Alors comment faire du neuf avec du vieux ? C'est toute l'histoire de .NET Core. Libérer de ses chaînes, .NET redevient une plateforme performante et innovante. Dans ce talk, je me propose de vous conter cette histoire. Maintenant est-ce que **vous**, vous saurez vous libérer de vos idées préconçues et oserez franchir le seuil de la salle ?

Speakers
avatar for François Bouteruche

François Bouteruche

AWS
I'm currently Partner Solution Architect at Amazon Web Services. I am a tech enthusiast with a strong background around .NET development and DevOps phylosophy and practices.I have a PhD in Computer Science. I worked several years around handwriting recognition and pen-based interfaces... Read More →


Thursday January 23, 2020 10:45 - 11:30 GMT
Kilimanjaro WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

11:45 GMT

Allo la montagne, ici la mer. Et si on codait ensemble avec VS Code?
Vous aimez VS Code car il est simple, intuitif et qu'il fait ce que vous lui demandez.
Mais saviez-vous que vous pouviez coder à plusieurs dans VS Code? et même permettre à une personne tierce de jouer avec votre débugger depuis l'autre bout du monde? Saviez-vous que vous pouviez avoir un client slack dans VS Code, et même un chat audio?
Et avez-vous exploré toutes les possibilités que VS Code offre quand vous utilisez github?
Nous verrons dans ce talk tout ce qui fait de VS Code l'éditeur de code parfait pour faire du code collaboratif.

Speakers
avatar for Tiffany Souterre

Tiffany Souterre

Microsoft
I love science and I love data! After finishing a PhD in genetic engineering, I continued my quest for discovering new patterns through data science and machine learning. I worked for 3 years as a Data/ML Engineer and I am currently DevRel at Microsoft. Someday, I wish to leverage... Read More →
avatar for Olivier Leplus

Olivier Leplus

AWS
Developer Advocate at AWS and Google Developer Expert in Web Technologies. I love to share knowledge (and love) among developers and people in general.


Thursday January 23, 2020 11:45 - 12:30 GMT
Kilimanjaro WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

JUnit 5 : il serait temps de passer la 5ème !
Saviez-vous que JUnit 5 a déjà plus d’un an ? Pourtant, un grand nombre de projets Java sont encore testés avec JUnit 4, qui est sorti… il y a 13 ans ! Enormément de choses ont évolué depuis 2006, Java a pris 6 versions ! Ne serait-il donc pas temps de remettre nos tests au goût du jour ?

L’équipe JUnit a profité de cette 5ème version pour restructurer complètement le framework. De nombreuses features ont été ajoutées ou retravaillées afin de s’adapter aux nouveaux paradigmes de l’écosystème Java.

Lors de ce talk, nous verrons que même si tout cela a introduit beaucoup de changements, les mécanismes de rétro-compatibilité garantissent une migration facile et progressive.

Speakers
avatar for Juliette De Rancourt

Juliette De Rancourt

Carbon IT
Développeuse curieuse et passionnée, je commence mon voyage dans le monde du Software Craftsmanship. Consultante chez Carbon IT et actuellement en mission à la Société Générale, j'ai participé à la mise en place de JUnit 5 sur des microservices Java/Kotlin. Toujours... Read More →
avatar for Julien Topçu

Julien Topçu

Shodo
Tech Coach chez Shodo, j'accompagne le développement de logiciels à forte valeur métier en usant de techniques issues du Domain-Driven Design, le tout propulsé en Xtreme Programming dans la philosophie Kanban #NoEstimates. Membre de la fondation OWASP, je sensibilise sur les techniques... Read More →


Thursday January 23, 2020 14:00 - 14:45 GMT
Kilimanjaro WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

15:00 GMT

Quarkus: unification of reactive and imperative
Quarkus donne un nouvel élan à Java dans le Cloud. Quarkus fournit une expérience de développement bluffante et grâce à son intégration avec GraalVM permet de générer des applications natives, de tailles réduites et démarrant en une fraction de seconde. Mais ce n’est pas tout. Quarkus unifie les paradigmes de développement impératif et réactif. Cette présentation se focalise sur la partie « réactive » de Quarkus. Elle couvre le développement d’APIs HTTP asynchrones, les web sockets, l’intégration avec Kafka ou AMQP. Si vous voulez aller au-delà de REST et d’HTTP, que le « data streaming » vous intéresse, alors vous apprendrez tout ce qu’il vous faut pour construire des systèmes réactifs super-soniques et sub-atomiques avec Quarkus.

Speakers
avatar for Clement Escoffier

Clement Escoffier

Red Hat
Clement Escoffier (@clementplop) is Reactive Chief Architect at Red Hat. He had several professional lives, from academic positions to management. Currently, he is mainly working as a Quarkus and Vert.x developer. He has been involved in projects and products touching many domains... Read More →


Thursday January 23, 2020 15:00 - 15:45 GMT
Kilimanjaro WTC, 5 - 7, place Robert Schuman, 38025 Grenoble
 
Friday, January 24
 

10:45 GMT

Quintescence of Elixir
You might have heard of that language « Elixir ».., everybody's saying it's great, but few are the ones who claim to have pushed code in production with it. The promises of Elixir are : high fault-tolerance, non-mandatory functional style, concurrency by design, meta-programming... Actually, Elixir is quite young (first release in 2011 by José Valim), but it is strongly coupled to Erlang, a battle tested technology coming from the eighties. The purpose of this talk is to give you the quintessence of Elixir (and the underlying Erlang layer). The quintessence means explaining the fundamentals of this technology, and show what it is good (the best ?) at. To reach that purpose I'm proposing in this talk to revisit the foundations of Erlang and directly transition to minutely chosen Elixir code samples, play with them... and let the magic happen ! Hopefully, after this talk you will understand why Elixir have been born and for what usage you should give it a try or not.

Speakers
avatar for Willy Malvault

Willy Malvault

Sogilis
I'm yet another experienced developer that have worked with many languages, many frameworks, many teams and methods. My current concerns, along with my colleagues at Sogilis, is to propose a subtle blend of technical skills and (not mandatory agile) methods, so as to deliver software... Read More →


Friday January 24, 2020 10:45 - 11:30 GMT
Mont Blanc WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

11:45 GMT

Quarkus: Supersonic Subatomic Java
Java based software development has been a winning proposition for the past 20+ years, however, cloud native application development in the form of microservices and serverless apps are challenging the Java deployment model in terms of memory requirements and start up speed. Quarkus is a Kubernetes native Java stack that can tailor your application for Hotspot & GraalVM providing amazingly fast boot times and incredibly low RSS memory usage, making Java great again in this new Cloud Native Era.

Come to this talk to learn about Quarkus, what it brings to the table and how you can get start started with it.

Speakers
avatar for Dimitris Andreadis

Dimitris Andreadis

Red Hat
Dimitris has 20 years of experience in IT and he is currently Director of Engineering at Red Hat in charge of the Quarkus team. Before that he was running the WildFly / JBoss Enterprise Application Server team for several years. He also served as the JBoss AS project lead and he has... Read More →


Friday January 24, 2020 11:45 - 12:30 GMT
Mont Blanc WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

Rust: sûr et concurrent. Mais comment fait-il ?
Vous avez sûrement déjà entendu parler du langage Rust et de ses avantages.
Mozilla a créé ce langage pour répondre à différentes problématiques qu’ils ont eu avec le langage C++ sur le code source de Firefox. C’est un langage assez bas niveau qui pourtant ne nous laisse pas gérer directement la mémoire nous-même comme en C, nous empêche de créer des data races et nous permet d’écrire du code multithread qui soit sans comportements indéfinis.

En découvrant ses caractéristiques, on s'interroge:
- Comment fait-il pour se passer d’un garbage collector ?
- Pour combattre les undefined behavior et data race, quel recette « magique » Rust utilise-t-il ?

On a l’impression que c’est de la magie noire seulement compréhensible par des chercheurs sauf que pas du tout. Je vous propose de découvrir ensemble et simplement comment le langage Rust arrive à tenir ses promesses et bien plus encore en partie grâce à son système de types.

Mots clés: rust, types, memory, borrow checker

Speakers
avatar for Benjamin Coenen

Benjamin Coenen

Software engineer, Apollo GraphQL
Un belge perdu à Paris. Je suis tombé amoureux du développement informatique en écrivant de l'assembleur sur des microcontrôleurs. J'adore me battre avec des problèmes de performance. Aujourd'hui je développe un compilateur expérimental en Rust chez Cosmian. Toujours en recherche... Read More →


Friday January 24, 2020 14:00 - 14:45 GMT
Kilimanjaro WTC, 5 - 7, place Robert Schuman, 38025 Grenoble
 
Filter sessions
Apply filters to sessions.