Network Programming in Elixir and Erlang (Pragmatic Bookshelf)

PragmaticBookshelf
Learn network programming with Erlang and Elixir. Build reliable and scalable network systems, and understand why this platform is a perfect fit for networks.

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:

Latest Threads About This Book Top

chgeuer
@whatyouhide Missing source for chat/lib/chat/acceptor_pool/acceptor.ex (pg. 67) The file chat/lib/chat/acceptor_pool/acceptor.ex is mis...
New
New
dan
In init/1 change the following line: dest_port = Keyword.fetch!(options, :dest_port) to: dest_port = Keyword.fetch!(options, :server_p...
New
dan
@whatyouhide Version B1.0 Page 25 - manual test using embedded newline produces no output. echoing a string and piping to netcat works ...
New
dan
@whatyouhide Network Programming in Elixir and Erlang vB1.0 page 17 Building a TCP Echo Server Book example does not show the required s...
New
deldutt
@whatyouhide Test that is in page 25 fails. The name of the test is: handles fragmented data. Elixir version: 1.17.2 (compiled with Erla...
New
PragmaticBookshelf
Learn network programming with Erlang and Elixir. Build reliable and scalable network systems, and understand why this platform is a perf...
New

Most Active This Week Top

dan
@whatyouhide Version B1.0 Page 25 - manual test using embedded newline produces no output. echoing a string and piping to netcat works ...
New
deldutt
@whatyouhide Test that is in page 25 fails. The name of the test is: handles fragmented data. Elixir version: 1.17.2 (compiled with Erla...
New

Most Active This Month Top

Most Active This Year Top

PragmaticBookshelf
Learn network programming with Erlang and Elixir. Build reliable and scalable network systems, and understand why this platform is a perf...
New
dan
@whatyouhide Network Programming in Elixir and Erlang vB1.0 page 17 Building a TCP Echo Server Book example does not show the required s...
New
chgeuer
@whatyouhide Missing source for chat/lib/chat/acceptor_pool/acceptor.ex (pg. 67) The file chat/lib/chat/acceptor_pool/acceptor.ex is mis...
New
dan
In init/1 change the following line: dest_port = Keyword.fetch!(options, :dest_port) to: dest_port = Keyword.fetch!(options, :server_p...
New
New

Most Active Last Three Years Top

Most Active Over Three Years Top

Book Info

Publisher: Pragmatic Bookshelf

Are you this book's author? To be notified of all posts made about it, sign up an account then click here, then select 'watching' from the bell icon in the top right corner.

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.