Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Purchase Benefits
What is included with this book?
Foreword | p. ix |
Acknowledgments | p. xi |
Preface | p. xiii |
Introducing dRuby | |
Hello, dRuby | p. 3 |
Hello, World | p. 3 |
Building the Reminder Application | p. 7 |
Moving Ahead | p. 14 |
Architectures of Distributed Systems | p. 15 |
Understanding Distributed Object Systems | p. 15 |
Design Principles of dRuby | p. 20 |
dRuby in the Real World | p. 24 |
Moving Ahead | p. 26 |
Understanding dRuby | |
Integrating dRuby with eRuby | p. 31 |
Generating Templates with ERB | p. 31 |
Integrating WEBrick::CGI and ERB with dRuby | p. 40 |
Putting Them Together | p. 48 |
Adding an Error Page | p. 53 |
Changing Process Allocation | p. 54 |
Moving Ahead | p. 56 |
Pass by Reference, Pass by Value | p. 57 |
Passing Objects Among Processes | p. 57 |
Passing by Reference Automatically | p. 67 |
Handling Unknown Objects with DRbUnknown | p. 72 |
Moving Ahead | p. 75 |
Multithreading | p. 77 |
dRuby and Multithreading | p. 77 |
Understanding the Thread Class | p. 79 |
Thread-Safe Communication Using Locking, Mutex, and MonitorMixin | p. 86 |
Passing Objects via Queue | p. 104 |
Moving Ahead | p. 108 |
Process Coordination | |
Coordinating Processes Using Rinda | p. 111 |
Introducing Linda and Rinda | p. 111 |
How Rinda Works | p. 113 |
Basic Distributed Data Structures | p. 124 |
Toward Applications | p. 134 |
Moving Ahead | p. 136 |
Extending Rinda | p. 137 |
Adding a Timeout in a Tuple | p. 137 |
Adding Notifications for New Events | p. 141 |
Expressing a Tuple with Hash | p. 144 |
Removing Tuples Safely with TupleSpaceProxy | p. 146 |
Finding a Service with Ring | p. 148 |
Examples of Ring Applications | p. 155 |
Moving Ahead | p. 163 |
Parallel Computing and Persistence with Rinda | p. 165 |
Computing in Parallel with rinda_eval | p. 165 |
Concurrency in rinda_eval | p. 167 |
Persisting a Tuple with PTupleSpace | p. 174 |
Moving Ahead | p. 179 |
Drip: A Stream-Based Storage System | p. 181 |
Introducing Drip | p. 181 |
Drip Compared to Queue | p. 182 |
Drip Compared to Hash | p. 187 |
Browsing Data with Key | p. 190 |
Design Goals of the API | p. 194 |
Moving Ahead | p. 195 |
Building a Simple Search System with Drip | p. 197 |
Running the App | p. 197 |
Examining Each Component | p. 199 |
Crawling Interval and Synchronization with Indexer | p. 205 |
Resetting Data | p. 206 |
Using RBTree for Range Search | p. 207 |
Adding a Web UI | p. 213 |
Moving Ahead | p. 217 |
Running dRuby and Rinda in a Production Environment | |
Handling Garbage Collection | p. 221 |
Dealing with GC | p. 221 |
Using DRbIdConv to Prevent GC | p. 225 |
Moving Ahead | p. 227 |
Security in dRuby | p. 229 |
dRuby's Attitude Toward Security | p. 229 |
Accessing Remote Services via SSH Port Forwarding | p. 234 |
Summary | p. 241 |
Bibliography | p. 243 |
Index | p. 245 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.