A sequel to Software Design by Example.
FIXME
- Introduction: what this training does and doesn't cover.
- MapReduce: processing large datasets.
- A Publish-Subscribe Message Queue: loosely-coupled communication.
- A Work-Stealing Scheduler: sharing work more efficiently.
- Distributed Tracing: keeping track of what's happening.
- Conflict-Free Replicated Data Types: scalable data structures.
- OAuth: distributed authentication.
- Distributed Locks: coordinating access to shared resources.
- BitTorrent: sharing data at scale.
- Eventually Consistent Key-Value Store: when availability matters more than consistency.
- The Saga Pattern: distributed transactions with compensations.
- TCP: reliable communication.
- DNS: how sites find each other.
- NTP: what time is it?
- Conclusion: looking back and next steps.
Greg Wilson is a programmer, author, and educator based in Toronto, Canada. He was the co-founder and first Executive Director of Software Carpentry and received ACM SIGSOFT's Influential Educator Award in 2020.
start where you are · use what you have · help who you can