PragmaticBookshelf

PragmaticBookshelf

Forum Sponsor

Network Programming in Elixir and Erlang (PragProg)

Andrea Leopardi @whatyouhide

edited by Jacquelyn Carter @jkcarter

TCP, UDP, DNS, HTTP, and more: these are the network protocols that make up the fabric of the Internet. Erlang and Elixir are the perfect fit for building network-intensive applications—the BEAM’s actor model perfectly mirrors the way nodes operate in a network. Learn about networking and the power of the BEAM to write performant and reliable network applications. Create systems that are scalable, resilient, and efficient, thanks to language primitives and OTP. Take advantage of an ecosystem that has been solving network problems for more than thirty years. Learn about design patterns and common pitfalls for network applications on the BEAM.

From smart appliances to gigantic data centers, from phones to satellites, networks are the way computers talk to each other. Learn how to use network protocols, choose or design serialization protocols, and architect systems with servers and clients.

Start with the most widely-used protocol on the Internet: TCP. Build a chat server where multiple clients can chat in real time. Explore client-side TCP by building a client for Redis. Scale and harden server and client, thanks to features of the BEAM. Then dig into UDP, TCP’s “looser” sibling. Code a system for reporting metrics capable of rivaling hardened software like StatsD. Learn about DNS, which powers domain resolution for the Internet. Next, secure your TCP traffic with TLS. Lastly, explore HTTP, the protocol that even your microwave could be using. Build a JSON API, client, and server. Learn the differences between HTTP/1.1 and HTTP/2, and add real-time features via WebSockets.

The BEAM was built for networks and has been honed for more than three decades. It’s the perfect fit. Leverage years of real-world experience building network-intensive applications from a member of the Elixir core team, and become an expert at network programming in Elixir and Erlang.


Andrea Leopardi is a software engineer and architect with a passion for computers and systems. He loves writing and reading code, as well as teaching others how to write code and design systems. He’s a member of the core team of the Elixir programming language. He’s also a published author, frequent public speaker, and trainer.


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

Most Liked

AstonJ

AstonJ

This looks like a fun book that seems quite unique in the space - congrats @whatyouhide for coming up with it! :blush:

It’s also great seeing books still coming out for Elixir fast and strong! I wonder how long it will be before Elixir is the language with the most professionally published books!? :003:

mercyf

mercyf

Hoping for more Elixir books from PragProg, maybe something similar to Domain Modeling Made Functional.

arcanemachine

arcanemachine

The Ash Framework book will be coming out from them soon, which is somewhat related to what you’re asking for.

Where Next?

Popular in Books Top

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
PragmaticBookshelf
Alexander Koutmos Bruce A. Tate @redrapids Frank Hunleth @fhunleth edited by Jacquelyn Carter @jkcarter The Elixir programming langua...
New
New
radar
by Ryan Bigg Joy of Elixir came about because I saw that there was not very much when it comes to absolute beginner material for lear...
New
AstonJ
Don’t forget you can get 35% off the ebook using the code ‘devtalk.com’ :023:
New
AstonJ
by Ben Marx, José Valim, Bruce Tate Bring Elixir into your company, with real-life strategies from the people who built Elixir and use i...
New
AstonJ
by by Fred Hebert Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange ...
New
PragmaticBookshelf
Andrea Leopardi @whatyouhide edited by Jacquelyn Carter @jkcarter TCP, UDP, DNS, HTTP, and more: these are the network protocols that ma...
New
peerreynders
An Outsider’s Guide to Statically Typed Functional Programming by Brian Marick This book is about using statically typed functional p...
New
peerreynders
by Darin Wilson and Eric Meadows-Jönsson Languages may come and go, but the relational database endures. Learn how to use Ecto, the prem...
New

Other popular topics Top

Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
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
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New

We're in Beta

About us Mission Statement