ScalaIO 2018
Pour la 3ème année consécutive, le ScalaIO se déroule dans la capitale de la gastronomie, Lyon. Il s’agit d’un événement technique qui ravit les néophytes comme les aguerris du genre.
L’édition 2018, qui a eu lieu du 29 au 31 Octobre 2018 au CPE de Lyon a été riche en enseignement. Cette année, les organisateurs ont eu la bonne idée de séparer la journée workshop des 2 jours de conférences. J’aime cette formule, elle permet de profiter des workshops sans manquer son speaker préféré.
Dans cet article, je vous présente les 5 conférences qui m’ont le plus enthousiasmées lors de l’édition 2018 du ScalaIO.
Retour d’expérience
Tout ce que vous avez toujours voulu savoir sur la programmation fonctionnelle sans jamais oser le demander.
par Xavier Detant (@XDetant)
C’est exactement ce genre de talk que j’attendais en participant au ScalaIO. Xavier est drôle et connaît clairement son sujet.
Il propose une initiation à la programmation fonctionnelle en live coding. Il prend en exemple une application, écrite en Javascript, de recherche de titre de film. Le point de départ est un code Impératif. Il mettra alors en avant les problèmes liés à ce type de paradigme (effets de bord, style du code, réutilisabilité …) à travers du refactoring étape par étape. Au bout du temps imparti, on obtient une application purement fonctionnelle.
J’ai particulièrement apprécié le format du live coding, sans diapositive, qui permet d’introduire les grands principes de la programmation fonctionnelle de façon ludique :
- Les fonctions d’ordre supérieur
- Les closure
- Les lambdas
- La curryfication
- L’application partielle
- La composition de fonction
Je recommande ce talk si :
- Vous voulez comprendre les limitations des paradigmes impératifs et orienté objet
- Vous voulez comprendre la force de la programmation fonctionnelle
- Vous aimez apprendre par l’exemple
Langue : Français
Level : Débutant
7 conseils pour démarrer avec Spark
par Nastasia SABY (@saby_nastasia)
Dans ce talk, vous aurez une parfaite introduction à Spark ainsi que des conseils pour bien débuter. Nastasia est une bonne speakeuse car très pédagogue, elle reste accessible dans sa démonstration. Etant moi-même néophyte en Spark, j’ai apprécié ce talk ludique à base de live coding et d’exemples concrets.
Voici quelques sujets abordés:
- Utiliser Spark-Shell pour apprendre et tester ses algorithmes
- Vous voulez comprendre la force de la programmation fonctionnelle
- Bien connaître son infrastructure
- Ne pas abuser des UDFs (User Defined Functions)
- Comprendre les différents API de Spark (RDD, Dataframe, Dataset)
Je vous recommande de visionner ce talk si :
- Spark est un mystère pour vous
- Avoir un retour d’expérience sur Spark
Langue : Français
Level : Débutant
Tu penses quoi de mon Scala ? Parlons code review !
par Tristan Sallé (@TristanSoullz)
Si vous faites déjà des revues de codes, cette conférence vous sera utile pour revoir les bonnes pratiques et avoir un retour d’expérience. Dans le cas échéant, vous comprendrez pourquoi vous devez absolument vous y mettre ! Tristan traite parfaitement le sujet en soulignant les problématiques récurrentes de ce genre de pratiques et comment les adresser.
Les deux parties sont responsables du bon déroulement de la revue
Le commiter :
- Découper son code et ses commits en sous-tâches
- Proposer un descriptif clair de la Merge Request et des changements apportés
- S’exercer en relisant son code
- Ajouter des tests clairs et lisibles
Le reviewer:
- Se réserver un créneau dans son emploi du temps
- Etre proactif (discuter des développements en cours avec l’équipe)
- Etre attentif aux fonctionnalités, en priorité
- Faire des commentaires utiles et descriptifs
- Proposer des solutions aux problématiques levées
Une phrase marquante: « Le code appartient à l’équipe »
Je vous recommande de visionner la vidéo si :
- Vous vous posez des questions sur la pratique des revues
- Vous ne faites pas encore de revue
Langue : Français
Level : Débutant
ZIO : Next-Generation Effects in Scala
par John A. De Goes (@jdegoes)
La keynote de la deuxième journée était tenue par John A De Goes, auteur, contributeur, speaker et programmeur fonctionnel bien connu de la communauté. Mixant l’humour et des métaphores bien trouvées, John fait le constat du Scala actuel et ses axes d’améliorations. Il introduit alors Zio, librairie Scala, qui aide à produire, élégamment, du code purement fonctionnel.
Je vous recommande de visionner ce talk si :
- Vous aimeriez aller plus loin dans le fonctionnel
- Vous ne connaissez pas Zio
Langue : Anglais
Level : Intermédiaire
Building GraphQL API with Sangria
par Oleg Ilyenko (@easyangel)
GraphQL, développé par Facebook, est une spécification d’une API pour requêter les ressources de son application, plus concrètement une alternative à REST (https://graphql.org/learn/).
Un des grands intérêts de graphQL réside dans sa flexibilité de requêtage. Elle est déjà implémentée par plus de 15 langages de programmation et profite d’un engouement ces dernières années. Sangria en est l’implémentation Scala et Oleg est son créateur. Au travers d’exemples et de live-coding, Oleg nous guide à travers la création d’une API Sangria. Il abordera les points suivants :
- Pourquoi utiliser GraphQL ?
- Comment le mettre en place avec Sangria ?
- Comment définir les types et un schéma ?
- Comment définir une query ?
- Comment définir une mutation ?
Ayant mis en place et utilisé Sangria depuis une année, j’aurais aimé voir ce Talk à l’époque, il nous aurait permis d’éviter certains pièges.
Je vous recommande le talk si :
- Vous ne connaissez pas GraphQL / Sangria
- Vous êtes en train de mettre en place Sangria sur votre projet
- Visionner un tutoriel, pas à pas, de construction d’une API via Sangria
Langue : Anglais
Level : Intermédiaire
Bonus
Towards Scala 3 – A Status Report
par Martin Odersky (@odersky)
Il n’y aurait finalement pas de ScalaIO sans Martin Odersky, créateur de ce beau langage de programmation qu’est Scala. Sa Keynote est axée sur la feuille de route de Scala et ses fonctionnalités pour la future version 3 (en 2020).
Je vous recommande de regarder son talk, même si cela devient un peu complexe sur la fin.
Langue : Anglais
Level : Intermédiaire / Confirmé
Conclusion
Je recommande cet événement : les talks sont de qualité, le format est bien pensé, les journées « denses » en information et la communauté accessible. Programmation fonctionnelle, BigData, Tooling, Monitoring, Haskell, Scala, débutant et expert, il y en a pour tous les goûts au ScalaIO.
La cerise sur le gâteau est la soirée « community » sur la péniche « La plateforme », un beau moment de partage et de détente.
Merci à tous les participants et à l’organisation qui rendent ce genre d’événements possibles.
Big up au ScalaIO !