Scaling Elixir & Phoenix - 15-16 August with Claudio Ortolina

Trainer: Claudio Ortolina

Venue: TBA

2 Days course

Target Audience: Software Developers and Engineers, with a focus on providing web-based services

Prerequisites: Prior experience with Elixir and Phoenix (3 to 6 months), familiarity with building web services helpful (i.e. REST interfaces).

Objectives:

  • How to organise, grow and maintain an application with multiple responsibilities
  • How to test and statically check an application to minimise integration issues
  • How to integrate resilience patterns to provide partial availability despite outages

Course outline:

Students will go through analysis and refactor of an existing codebase to improve decoupling, isolation, testability and resilience. The course will cover the following topics:

  • Approaching an existing codebase (code structure, OTP structure)
  • Basic resilience testing
  • Extracting commands for reusability
  • Type specifications and domain borders
  • Extraction to umbrella layout
  • Effective unit and integration testing
  • Client/Server patterns via adapter
  • OTP and circuit breakers to guarantee availability

Register here.

Elixir/OTP Bootcamp 14-16 & 18 August

Venue: TBA

4 Days Course

Target Audience: Software Developers and Engineers without prior experience in Elixir/Erlang/LFE


Prerequisites:

  • Good programming skills in another language such as Java, Perl, Python, node.js, or Ruby
  • Familiarity with server-side software development helpful

Objectives:

  • Basic/Sequential/Concurrent Elixir
  • Parallel Programming
  • Introduction to OTP (GenServers and Supervisors)
  • Building, Documenting and Testing Systems using Mix

Course Outline:
Students will start by learning the basics of the Elixir language. Following that, the course turns to concurrency and students will learn the details of writing parallel and concurrent Elixir applications and the underlying concurrency capabilities provided by BEAM (the Erlang virtual machine). The course shows the right way to write concurrent applications that will scale by using OTP Behaviours. The course contains the following topics:

  • Background Erlang/Elixir
  • Elixir Shell
  • Sequential Elixir
  • Concurrent Elixir
  • Using Mix
  • Process Design Patterns
  • Process Error Handling
  • System introspection
  • Funs and High-order functions
  • Data structures (Maps, Structs, Binaries, Protocols)
  • List comprehensions
  • Language features and Macros
  • OTP and Behaviours
  • Generic Servers
  • Supervisors
  • Applications

Register here.