Finished @jstorimer's Working with TCP Sockets.I've been doing Ruby networking for years and I still learned a bunch.— Mike Perham (@mperham) September 15, 2012
@jstorimer Working with TCP sockets is one of the best technical books I've read this year. Short, focused, and technically deep books FTW!— Jordan MacDonald (@wastedintel) June 12, 2013
Really enjoying @jstorimer's Working With TCP Sockets. Having those little smiley moments like I did when first learning programming.— Trevor Bramble (@TrevorBramble) September 9, 2012
@jstorimer 30 pages in. Loving it! I'm learning so many awesome things already.— Ryan LeCompte (@ryanlecompte) September 6, 2012
The first section of the book is all about learning the fundamentals of programming with sockets. This includes creating sockets, the client and server lifecycle, and reading/writing data.
The second section of the book covers the harder stuff. This includes various methods for optimizing socket operations, the proper way to do socket timeouts in Ruby, SSL sockets, multiplexing connections, and more.
The last section applies this knowledge to a real world problem by writing an FTP server. In this section of the book I take a simple, sequential FTP server and rewrite it 6 times using different architecture patterns to demonstrate networking concurrency in Ruby and ways to organize your socket code. You'll see these same patterns in libraries like Puma, Unicorn, Thin, and EventMachine.Details:
Follow along with me as I write a pure-Ruby evented IO system, similar to EventMachine. We literally start with nothing and end up with something that we use to build echo servers, a redis client, and an HTTP server. In the course of the video you'll see lots of examples of stuff that's covered in the book: connection multiplexing, nonblocking IO, message framing, and more.Details:
Keep what you learn close at hand with the cheat sheet. It's a great recap of what's covered in the book. It comes as a single-page PDF and is print-friendly.
Get it for the whole team! The team license is good for 50 licenses so your whole team can take advantage.
If it's not working for you then it's not working for me.
If, for any reason, you're not happy with what you get just send me an email: I'll give you your money back and you keep everything. I want you to be happy.
I'm Jesse Storimer.
Previously I solved hard problems at Shopify, one of the largest, busiest Ruby on Rails sites on the web.
My journey into the world of Unix programming started while working on Shopify's infrastructure and continues today. I live in rural Canada with my family.
And, yes, I'm working on my Unix beard.
Questions? Email me at firstname.lastname@example.org.