Training:

BASIC ELIXIR (25-27 February) - Szymon Mentel

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

BASIC OTP (25-27 February) - Gabor Olah

OBJECTIVES

  • Understand the design principles of OTP
  • Understand OTP behaviours
  • Understand OTP System Configuration
  • Awareness of the available OTP applications

 

PREREQUISITES

  • Complete Erlang or Basic Erlang
  • Preferably followed by some practical experience

 

TARGET AUDIENCE

  • Software Developers & Engineers

COURSE OUTLINE

The OTP course covers advanced Erlang features such as design patterns, applications and libraries, giving the participants the ability to develop systems using OTP.

The course contains the following topics:

  • Behaviours
  • Generic servers
  • Finite state machines
  • Supervisors
  • Event handlers
  • Applications
  • Building compliant processes

RABBITMQ EXPRESS (27 February) - Ayanda Dube

OBJECTIVES

  • Understanding AMQP concepts
  • Building distributed messaging systems with RabbitMQ
  • Performance tuning RabbitMQ
  • Deploying real world, resilient RabbitMQ architectures
  • Troubleshooting and monitoring

 

PREREQUISITES

  • Experience in at least 1 Programming language of choice (junior, intermediate, senior)

 

TARGET AUDIENCE

  • Software developers
  • Solution architects
  • DevOps engineers

OUTLINE

Learn about the main concepts in RabbitMQ in the one-day RabbitMQ Express training course taught by a RabbitMQ expert from Erlang Solutions. The training course will cover the following topics:

  • RabbitMQ fundamentals
  • Building systems with RabbitMQ
  • Extending RabbitMQ with plugins
  • Optimising & troubleshooting RabbitMQ

SCALING ELIXIR AND PHOENIX (04-05 March) - Szymon Mentel

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

ERLANG CERTIFICATION (25 Feb - 05 Mar) - CERTIFICATION

OVERVIEW

The Erlang Certificate provides proof that the holder understands the core concepts of the Erlang programming language, and is ready to move on to the more advanced levels of Erlang study and usage.

 

TARGET AUDIENCE

The certification is aimed at people who have completed the five-day “Complete Erlang” course, preferably with practical experience after that.

WHAT YOU NEED TO KNOW

The exam consists of a 90 minute multiple-choice questionnaire.

Dates to be arranged with certification takers on a 1-2-1 basis. We will work with you to ensure that it is as convenient for everyone as possible.

 

OTP CERTIFICATION (25 Feb - 05 Mar) - CERTIFICATION

OVERVIEW

The OTP Certificate provides proof that the holder understands the core concepts of Erlang/OTP, and is ready to apply the knowledge to building systems.

 

TARGET AUDIENCE

The certification is aimed at people who have completed the four-day “Complete OTP” course, preferably with practical experience after that.

WHAT YOU NEED TO KNOW

The exam consists of a 90 minute multiple-choice questionnaire.

Dates to be arranged with certification takers on a 1-2-1 basis. We will work with you to ensure that it is as convenient for everyone as possible.