<

Szymon Mentel

Senior System Engineer at Erlang Solutions

Szymon Mentel works as a senior System Engineer at Erlang Solutions. For the past three years, he has worked on projects related to Software Defined Networking and is involved with system design and development. He teaches both Erlang and Elixir.

Upcoming conferences:

Szymon Mentel
Code BEAM SF 2019
Training
04 Mar 2019
09.00 - 17.00

SCALING ELIXIR AND PHOENIX

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  

 

PREREQUISITES

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

 

TARGET AUDIENCE

  • Software Developers and Engineers, with a focus on providing web-based services

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
Szymon Mentel
Code BEAM SF 2019
Training
25 Feb 2019
09.00 - 17.00

BASIC ELIXIR

Use Elixir's strengths to create software that is fault-tolerant, scalable and deployable in a distributed network.

 

OBJECTIVES

  • Basic/Sequential/Concurrent Elixir
  • Parallel programming
  • Building, Documenting and Testing Systems using Mix

 

PREREQUISITES

  • Good programming skills in another language such as Java, Perl, Python, node.js, or Ruby
  • Familiarity with server-side software development helpful
  • Target Audience * Software Developers and Engineers without prior experience in Elixir/Erlang/LFE.

 

TARGET AUDIENCE

  • Software Developers and Engineers without prior experience in Elixir/Erlang/LFE

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 contains the following topics:

  • Background Erlang/Elixir
  • Elixir Shell
  • Sequential Elixir
  • Concurrent Elixir
  • Basic 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
  • Erlang Term Storage (ETS)
  • Distributed programming
  • Code updating