PragmaticBookshelf

PragmaticBookshelf

Forum Sponsor

Programmer Passport: OTP (PragProg)

Bruce Tate @redrapids

edited by Jacquelyn Carter @jkcarter

OTP is the heart of the rapidly growing Elixir, the functional language at the heart of Phoenix and LiveView. OTP enables exciting concurrent applications with among the best reliability properties in the world. With this book, you’ll learn to code systems that can detect failure and recover from it automatically using the same techniques behind the world’s telecommunication systems. By plugging into OTP, your own libraries will handle concurrent requests robustly, and seamlessly integrate with other supervised Elixir and Erlang applications. If you’re looking to take your next step as an Elixir developer, look no further than OTP.

OTP is a library for building fault tolerant systems with self-healing properties; its services power many of the world’s reliable telecom infrastructure. It also powers many of Elixir’s most powerful capabilities. In this fast-paced book-first published with Groxio’s Programmer Passport-you’ll learn about the most important abstractions that power OTP. This approachable guide will give you a high level understanding before diving into individual details. This understanding will tell you how the core APIs work so you’ll know why Elixir programmers write code the way they do.

To start, this guide will walk you through building your own basic service that works in the same way as OTP’s foundational GenServer. This quick exercise will gently ease you into the way GenServers work. You’ll build your own GenServer, and then quickly move on to adding the supervision services to enable the reliability and self-healing properties that make Elixir famous. Once you’ve done so, you’ll add features like a dynamic supervisor, and use a process registry to make your program more flexible and dynamic.

Find out what Groxio customers already know. The assistance of an experienced guide will help you learn how to use OTP to build reliable, highly concurrent systems more quickly than you could without one.

Bruce A. Tate is a programmer and CEO of Groxio where he is helping to redefine how computer languages are taught and learned. He’s the author of Seven Languages in Seven Weeks and Programming Phoenix LiveView, among other titles, and has been involved with Elixir from the very beginning. He’s written more than 10 books.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

First Post!

bmitc

bmitc

Looks interesting and like good practice for not only understanding GenServer but also base processes and messaging. Is there any comparison to Elixir in Action, which also contains material on how to build up a basic GenServer-like process?

Where Next?

Popular in Books Top

peerreynders
Don’t forget you can get 35% off the ebook using the code: devtalk.com :023: Note: Check out this thread for help running code in lat...
New
PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
PragmaticBookshelf
Joseph Koski Series editor: Sophie DeBenedetto @SophieDeBenedetto Developmental editor Adaobi Obi Tulton @aotulton Combine advanced fu...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
benwilson512
by Bruce Williams and Ben Wilson Your domain is rich and interconnected, and your API should be too. Upgrade your web API to GraphQL, le...
New
PragmaticBookshelf
Sean Moriarity @seanmor5 edited by Tammy Coron @Paradox927 From finance to artificial intelligence, genetic algorithms are a powerful to...
New
PragmaticBookshelf
Rebecca Le and Zach Daniel @zachdaniel _edited by Kelly Lee @k.lee _ Ash Framework is the game-changing toolkit for Elixir developers. W...
New
CinderellaMan
Create a cryptocurrency trading bot in Elixir (YouTube videos, ebook pay what you want) <span class="hashtag-icon-placeholder"></span>eli...
New
AstonJ
https://github.com/happi/theBeamBook A short and personal history of the book I, Erik Stenman (Happi), started writing this book back ...
New
collegeimprovements
by @whatyouhide and @idlehands Elixir offers new paradigms, and challenges you to test in unconventional ways. Start with ExUnit: almost...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29377 241
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30877 112
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
Qqwy
Update: How to use the Blogs &amp; Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 126479 1222
New

We're in Beta

About us Mission Statement