book cover
Language
EN EN
Pages 271
ISBN 978-84-945523-8-0
Erlang

Erlang/OTP Volume II

The OTP Basics

Available formats Instant delivery for digital
Description Content Information Authors Related books

Description

The OTP basics...

After the first volume and knowing what we can do with Erlang it's the OTP turn. The OTP framework is available in Erlang and contains the necessary base for complete and professional application development in Erlang.

In this volume, we will see all of the OTP behaviors, typing, and Dialyzer, and through the book, we will be building several projects.

"The successful construction of all machinery depends on the perfection of the tools employed, and whoever is a master in the arts of tool-making possesses the key to the construction of all machines. Charles Babbage

Content

15 sections

Introduction

  • Introduction prepared

    About the authors, the book, the volumes, nomenclature, and acknowledges.

Chapters

  • Type Specifications sample prepared

    A way to obtain type checking and the Dialyzer validation for the code quality, checking issues, and improvements.

  • Concurrency Oriented Programming prepared

    From Object Oriented Programming until the Actor Model, we will see how Erlang use the concurrency and the features applied to OTP.

  • Behaviours prepared

    Defining behaviours to be implemented in Erlang. From scratch to understand how OTP was built and how it works.

  • Creating Servers prepared

    Defining the minimal unit of programming for OTP: the server. We will explore all of the gen_server possibilities through 3 examples.

  • State Machines sample prepared

    We advance and increase our knowledge with the Mealy State Machines. We will check 3 more examples to understand how gen_statem works.

  • Event Handlers prepared

    The event handling in Erlang/OTP is made for handling alerts and alarms mainly but also to broadcast events to be processed by different modules. In this chapter we will see how to build these event handlers with 3 examples and we will see how alarm_handler is working.

  • Supervising Processes prepared

    We will check the supervisor's behavior completely using 4 examples to explore all of the possibilities the supervisor could give us.

  • Creating an Application prepared

    We create 3 example applications in this chapter. We will explore all of the previous concepts together (supervisor, servers, state machines), and we create the applications using these concepts. In addition, we will see how dependencies, the included applications, versioning, and configuration works.

  • Distribution prepared

    Using the capabilities of the kernel application we will build high availability systems. We will also explore the group of processes (pg), and containers (pool) to design and run distributed systems.

  • Logs with logger prepared

    Do you know how the logs are working in Erlang? We will answer this and other questions regarding logger. The goal of this chapter is give you the knowledge about how logger works and how to take advantage of its features.

  • Releases prepared

    We finish our travel through OTP framework checking how to perform releases. We will see how to create packages with all of the applications we need to run our development and how to use relx and rebar3 for these tasks.

Appendixes

  • Erlang Documentation: EDoc prepared

    A summary and recipe about how to create documentation for the Erlang modules using the rich comments.

  • Command-line: Dialyzer prepared

    A small guide about how to use Dialyzer in the command-line. We review the parameters to use with the command, how to generate the PLT files and common errors you can get and how to solve them.

  • Command-line: erl prepared

    A bit of help to use the command line with erl. It's short but plenty of tricks about optimizations and parameters definition.

Authors

Manuel Ángel Rubio Jiménez

Polyglot Developer, Writer, Manager and Trainer

He started programming at the age of 12 with languages such as GW-BASIC, QBasic, MODULA-2, Pascal and C. When he started working he already mastered Java, JavaScript, PHP, Perl, Ruby, Python among others and later he would start with Rust , Golang, Erlang, Elixir and Gleam. But what attracts him most is being able to teach programming in those languages to others. He began his training as a teacher attending a course in London and later as a mentor for Erlang, Elixir, OTP, Ecto and other technologies within Erlang Solutions Ltd. Writing books is for Manuel another way not only to teach but also to learn, as and as Feynman said.

Information

ISBN 978-84-945523-8-0
Number of pages 271
Edition (1st) First edition
Language en
Published date November of 2023
Author Manuel Ángel Rubio Jiménez
Editor Ayanda Dube
Translator Ana María Rubio Jiménez