Publié par
Il y a 1 année · 4 minutes · Back

DOTGO 2016 partie 2

Le 10 Octobre 2016 a eu lieu la 3e édition de DotGo au théâtre de Paris. Nous y étions ! Et voici la deuxième partie :


Make mobile programming fun (again)

Elias Naur a démarré les conférences de l’après-midi en parlant du support de Go pour les dispositifs mobiles. En effet, il existe une API Go (encore en cours de révision) qui permet de faire de la programmation pour Android et iOS : Go mobile. Maintenant, il est possible d’exporter des packages Go en Java, Objective C et Swift, d’accéder directement à l’API Java pour Android et Objective C depuis Go, ainsi que d’écrire des classes Java et Objective C, en Go.

Not only self-contained, but self-deploying programs

Kelsey Hightower nous a montré comment déployer une petite application Go. D’abord, dans une machine de la même manière qu’on procède tous les jours : compiler, charger, exécuter.

Après, il a répliqué le processus dans un cluster Kubernetes, puisque que nous devrions « traiter le datacenter comme un seul massif ordinateur » et il a déployé 10 instances de l’application.

Finalement, il a déployé 50 instances du logiciel sur un cluster fédéré Kubernetes, car, pourquoi ne pas « traiter le monde lui même comme un seul massif ordinateur« .

Tout ça a été possible car la combinaison du runtime de Go et du fait d’être un langage compilé facilite la création des binaires autonomes.

Go’s execution tracer

Rhys Hiltner nous a parlé de Go execution tracer. Il s’agit d’un outil qui permet de récupérer des événements pendant l’exécution d’un programme Go, par exemple, les changements dans la taille du heap, l’utilisation des processeurs, des événements liés au garbage collector, etc. 

L’outil peut être important pour trouver des problèmes qui dépendent du temps, comme complément aux autres outils et pour résoudre des problèmes de latence.

How to deal with legacy code 

Katrina Owen a présenté une conférence en deux parties. Dans la premier partie, elle a montré comme créer des tests au moment de débugger une erreur. Dans la deuxième partie, elle a parlé de comment refactorer du code legacy en Go. Elle a utilisé les « Flocking Rules » qui consistent à trouver des règles simples, pour faire de petits changements de manière incrémentale au code, afin de faire émerger des patterns et des abstractions.

Building software that expects the unexpected on making go pluggable

Brad Rydzewski a proposé de coder des systèmes pluggables pour faciliter la maintenance et la tolérance à la panne. Il nous a demandé d’imaginer, par exemple, un projet très populaire sur GitHub que des personnes commencent à utiliser pour des fonctionnalités que nous n’avons pas imaginées. Après un certain temps, les créateurs du projet sont débordés à cause de la quantité des pull-requests et des issues. La création des systèmes pluggables facilite la mise à jour automatique du logiciel. En général, un système de ce type est simple à installer, performant et isolé. La customisation des besoins comme le multi-languge, sont anticipés.

Go with ACME, automating Network Security in Go programs

Matthew Holt a parlé d’ACME (Automated Certificate Management Environment). Pour assurer l’authenticité des connexions, nous utilisons généralement des certificats signés pour des entités externes. Cependant, le processus d’obtention et l’installation du certificat sont manuels et ils peuvent entraîner des risques de sécurité eux-mêmes. C’est là où ACME intervient, et il est possible de l’utiliser avec Go :

Pour aller plus loin….

Prototype your design

Pour finir, Robert Griesemer a pris un exemple montrant comment construire un prototype pour tester un concept. Nous avons imaginé l’introduction d’un tableau multi-dimension dans le langage. Nous avons imaginé les implications, opérations et finalement il nous a montré un prototype construit en Go. En conclusion, Robert nous propose de construire des prototypes comme complément à la conception et d’utiliser Go comme langage de prototypage, vu qu’il est très efficace pour prototyper les changements dans le langage même.

 

Si vous n’avez pas pu assister à DotGo, vous pouvez retrouver les videos ici.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *