The dRuby Book: Distributed and Parallel Computing with Ruby
In The dRuby Book: Distributed and Parallel Computing with Ruby (Pragmatic Bookshelf, $35.00), you’ll learn directly from legendary Japanese Ruby hacker Masatoshi Seki in this first English-language book on his own Distributed Ruby library. You’ll find out about distributed computing, advanced Ruby concepts and techniques, and the philosophy of the Ruby way—straight from the source.
dRuby has been part of the Ruby standard library for more than a decade, yet few know the true power of the gem. Completely written in Ruby, dRuby enables you to communicate between distributed Ruby processes as if there were no boundaries between processes. This is one of the few books that covers distributed and parallel programming for Ruby developers.
The dRuby Book has been completely updated and expanded from its Japanese version, with three new chapters written by Masatoshi-san. You’ll find out about the design concepts of the dRuby library, and walk through step-by-step tutorial examples. By building various distributed applications, you’ll master distributed programming as well as advanced Ruby techniques such as multithreading, object references, garbage collection, and security.
Then you’ll graduate to advanced techniques for using dRuby with Masatoshi-san’s other libraries, such as eRuby and Rinda—-the Ruby version of the Linda distributed tuplespace system. In the three new chapters, you’ll see how to integrate dRuby and eRuby, get a thorough grounding in parallel programming concepts with Rinda, and create a full text search system using Drip.
Step by step, you’ll gain mastery of dRuby and distributed computing.
Available in epub, mobi, and PDF direct from the publisher and in paperback from fine bookstores worldwide.
What People are Saying
The dRuby Book is a fantastic introduction to distributed programming in Ruby for all levels of users.
—Eric Hodel, Ruby committer, RDoc and RubyGems maintainer
dRuby is the key component that liberates Ruby objects from processes and machine platforms. Masatoshi himself explains its design, features, case studies, and even more in this book.
—Yuki “Yugui” Sonoda, Ruby 1.9 release manager
Any programmer wanting to understand concurrency and distributed systems using Ruby should read this book.
—Aaron Patterson, Ruby and Ruby on Rails core committer
Q&A with author Masatoshi Seki
Q. In a nutshell: what is dRuby?
A. dRuby is a distributed object system. More precisely, it’s a library for Remote Method Invocation (RMI). You can easily publish your objects to others, or call objects in other processes.
Q. How is dRuby different from other distributed object systems? What’s unique about it?
A. The biggest difference is that dRuby is designed for (and written in) Ruby. It is ridiculously easy to start using distributed object systems. dRuby inherits lots of good parts from Ruby. For example, you can use a method with block, and dRuby dynamically chooses how to send a remote object, so you don’t have to describe an interface or its transportation method.
Q. How can dRuby and distributing programming change the way we develop our apps?
A. With the rise of web services, inter-process communication became a popular way to architect systems. You can choose inter-process communication not only for large-scale systems, but also for making small tools. Consequently, we’re facing issues with dealing with inter-process communication more than ever.
With dRuby, you can concentrate on building the core of your system while dRuby takes care of the complex inter-process communication layer. The easier it becomes to write an inter-process communication layer, the more often you will choose an inter-process communication architecture when you design your system.
Q. You’ve written a few other libraries – how do they interact with dRuby and what will we find useful about them?
In my book, I used dRuby as a glue to integrate with various other libraries of mine. For example, I used it with Rinda to turn its inter-thread coordination mechanism into inter-process coordination. I also turned the ERB templating system into a separate server to minimize preprocessing cost.
Many of my libraries have profound thoughts and ideas behind a relatively small number of APIs. It’s hard to grasp the whole picture just by glancing at API references. In this book, I provide various examples for combining these libraries to reveal their full intention and usefulness.
Q. If there’s one thing we should take away from your book, what would that be?
Many of my libraries are small and simple, but with deep philosophy behind them. My goal is for you to understand the thinking behind my libraries and use this understanding to strengthen your design skills.
The dRuby Book
Distributed and Parallel Computing with Ruby
ISBN: 9781934356937, 280 pages, $35.00US, $37.00CA, 7.5×9.
Pragmatic Bookshelf Titles are distributed to bookstores internationally by O’Reilly Media.
Sample chapters, table of contents, and more information is available on the book’s home page.
About Pragmatic Bookshelf
The Pragmatic Bookshelf features books written by developers for developers. The titles continue the well-known Pragmatic Programmer style, and continue to garner awards and rave reviews. As development gets more and more difficult, the Pragmatic Programmers will be there with more titles and products to help programmers stay on top of their game.
Press and Editorial Queries Only:
Contact Andy Hunt or Dave Thomas
800-699-7764 (+1 919-847-3884)