Trainer: Chris McCord
Date: 3 May, 9am
Venue: Barceló Sants
Tutorial: Getting Realtime with Channels
Come level-up on Phoenix's most exciting features while gaining insights from its creator! Together, we'll use Phoenix Channels and Presence to build a highly interactive, collaborative application that works seamlessly across a distributed infrastructure. This hands-on tutorial will take you step-by-step from a blank project to a usable application. Along the way, you'll gain insights into Phoenix's distributed Pub-Sub layer and see all the tricks to getting the most out this exciting feature-set.
Tutorial objectives:
Target audience:
Trainer: Michał Muskała, Wojciech Gawroński, Artur Dębski
Date: 3 May, 9am
Venue: Barceló Sants
Tutorial: Join the Elixir Fire Brigade - Level-up Your Elixir Debugging Skills
Both Erlang and Elixir are praised for their "debuggability". It's true - there's a lot of tools and techniques that can be used, even on live, production systems. Not only that - they are easily accessible and freely usable. Together we're going to explore them in depth.
We're going to learn what exactly happens when you call a GenServer, how to "spy" on processes and introspect the VM internals. We're going to work with an example application - a basic key-value store built on top of plug, prepare a release for it and deploy it to production. Unfortunately, after the deployment we're going to discover some errors, we didn't anticipate. Fortunately, with the knowledge we gained earlier, we'll be able to diagnose and fix them - live in production!
Target audience:
Trainer: Georgina McFadyen & Makis Otman
Date: 3 May, 9am
Venue: Barceló Sants
Tutorial: Microservices under the Umbrella
After a brief introduction of Umbrella applications, we will build a web app and see how this approach pushes us towards a modular design.
You will be given a code skeleton in the form of a puzzle. Your task will be to fill in the gaps by implementing different services. Putting those services together at the end of the day will form the whole system.
During this process we will see how one can utilise an OTP app in a progressive manner. We will go from using one as an internal dependency to a separate service altogether.
To achieve the latter we will utilise Distributed Erlang as the glue between the apps.
To wrap up, we will see what are some of the advantages and disadvantages of our architecture and have a discussion on the lessons learned.
Pairing will be encouraged but it will not be mandatory.
Tutorial objectives:
In this workshop we will build and deploy different OTP apps using umbrella applications, TDD and Distributed Erlang.
Main areas covered:
Pre-requisites:
Target audience: