I’ve put together a four-part video that walks you through the process of getting started on the SurfStore project. In this series of videos, we actually implement the entire BlockStore service. To do this, we’ll:
- Write a client that interacts with the BlockStore service in a number of ways, in a test-driven manner
- Implement a “bare-bones” BlockStore that accepts commands, but doesn’t actually implement the logic properly. When we run the client against this service, most of the tests are going to fail (that’s OK! We’ll fix that in step 3).
- In the third part of the video, we’ll actually implement the logic of the BlockStore
- Finally, we’ll re-run the client, and all the tests will pass
The videos are located on YouTube at the following links:
- Part 1, Writing a test-driven client of the BlockStore service
- Part 2, Implementing the bare-bones (non-yet-working) BlockStore service
- Part 3, Finishing up the implementation of the BlockStore service
- Part 4, Running the test-driven client and seeing all the tests pass!
To access the code
From your repo, run the following command:
$ git pull
$ git checkout blockstoredemo
Now Client.java, BlockStore.java, and HashUtils.java will reflect the end of the four-part tutorial. To restore the repo to its original state, you can optionally run:
$ git checkout master