Retour SunnyTech 2018

July 13, 2018
SunnyTech conf Kotlin DoD

Les grosses chaleurs, le chant des cigales, la philo du Bac., les grèves de la SNCF, et SunnyTech : voilà l’été ! Cette année, les communautés Montpelliéraines organisent la première édition de SunnyTech. Pour les toulousains c’est génial d’avoir une conférence aussi proche.

Voici une petite sélection de ce j’ai trouvé super dans la conférence, mais forcément avec quatres salles en parallèles, ce n’est qu’un petit aperçu.

Team


L’interopérabilité des Web Components, mythe ou réalité ?

Les slides, le dépôt (github)[https://github.com/LostInBrittany/web-components-interop].

Horacio Gonzalez

Horacio Gonzalez nous fait un rappel sur les Web Components, en parcourant les spécifications de Custom Elements, du Shadow DOM, et des HTML Templates. En montrant comment on écrit des composants web natif (vanillia), Horcacio nous explique le principe de fonctionnement, mais aussi tout le boilerplate nécessaire.

Ensuite il nous parle rapidement de Polymer, mais nous présente surtout les autres façons de faire des Web Component avec Slim.js, Bram, SkateJS, Stencil.

La démo est convaincante : l’intérêt majeur des Web Components c’est leur interopérabilité. En effet, c’est la meilleur façon aujourd’hui pour intégrer des composants créés par des bibliothèques différentes. C’est d’autant plus vrais s’il on utilise des frameworks de plus haut niveau comme VueJS ou Angular (avec le projet encore expérimentale Angular Elements).

#shamelessplug: le sujet du prochain MKTD concerne les Web Components: native vs Stencil

Kotlin Parsec

Les slides, le dépôt github

Dider Plaindoux

Pour ceux qui ne connaissent pas encore Dider Plaindoux, c’est un speaker singulier. Pour faire simple, à toutes ses présentations on apprend des tonnes de trucs, mais on sort aussi avec un petit mal au crâne.

A partir du papier Parsec: Direct Style Monadic Parser Combinators For The Real World - Daan Leijen & Erik Meijer - 2001 et au travers d’un live-coding dirigé par les tests, il nous montre comment une grammaire écrite sous la forme EBNF peut se traduire simplement en Kotlin. Voici un exemple

Expr  ::= SExp [('+' | '*') Expr]
SExpr ::= NUMBER | ('(' Expr ')')

Donne avec le DSL Kotlin

1
2
fun Expr()  = SExp() then opt(charIn('+','*') then Expr())
fun SExpr() = NUMBER or (char('(') then Expr() char(')')

Avec la passion qui le caractérise, Didier nous montre qu’en combinant des opérations assez simples, avec la puissance offerte par les extensions de fonctions de Kotlin (💖) on peut facilement créer des parsers par combinaisons de simple parser comme returns, fails, any, lazy, doTry, lookahead, …

Une présentation à voir pour tout les amoureux des monades.

S’aider du Data-Oriented Design pour écrire des applications performantes

Les slides.

Alessio Coltellacci

Alessio Coltellacci nous parle du Data-Oriented Design, une approche pour améliorer les performances de nos applications.

Pour mieux comprendre ces performances, il faut descendre en bas, au niveau du CPU et de ses caches, et comprendre que la latence de la récupération nos données est clef pour les performances. Un peu de code C ou assembleur ne fait pas de mal (tant que ça reste sur des slides).

Ensuite on peut remonter dans nos couches, comme dans les structures de données. Pour finir un exemple en JavaScript nous montre aussi que cela concerne aussi des langages de plus haut niveau.

En sélectionnant les structures de données qui marche bien avec notre hardware, on peut facilement améliorer les performances de nos parcours de données, il n’y a pas que la complexité algorithmique qui entre en jeu. Attention, bien sur à effectuer les bonnes mesures.

Fear the ponies

Pour finir j’ai fait un atelier animé par Raphaël Wach et Mickael Metesreau sur la cryptographie.

Le sujet peut faire peur, mais l’atelier était très accessible, on code avec le langage de votre choix, et on parcourt différentes situations : déchiffrage, chiffrage, avec différents algorithme.

Je préfère ne pas en dire beaucoup plus sur le contenu, car ça risquerait de trop dévoiler de choses, mais je vous recommande chaudement cet atelier si vous avez l’occasion de le faire.

Je recommande aussi la lecture du livre de Simon Singh: Histoire des codes secrets.

Conclusion

J’ai passé de super moments à Sunny-Tech, c’est assez génial dans une conférences de pouvoir passer du temps dehors dans une ambiance décontractée. Et encore je n’ai pas parlé du repas des speakers, de la keynote d’ouverture, de CQRS, de la soirée, d’Arrow, des chocolatines, du ☀️ … Pour vous faire une idée, vous pouvez consulter les photos.

Un grand merci à MonkeyPatch, aux organisateurs, aux sponsors (merci Klanik pour le chapeau), aux speakers, et à tous les gens avec qui j’ai eu la chance d’échanger.

Vivement l’an prochain !

Merci