Giter VIP home page Giter VIP logo

15440-p2's Introduction

RAFT

This repository contains the starter code for project 2 (15-440/15-640, Fall 2022). It also contains some of the tests that we will use to grade your implementation.

Starter Code

The starter code for this project is organized as follows:


src/github.com/cmu440/        
  raft/                            Raft implementation, tests and test helpers

  rpc/                             RPC library that must be used for implementing Raft

Instructions

How to Write Go Code

If at any point you have any trouble with building, installing, or testing your code, the article titled How to Write Go Code is a great resource for understanding how Go workspaces are built and organized. You might also find the documentation for the go command to be helpful. As always, feel free to post your questions on Edstem.

Executing the official tests

1. Checkpoint

To run the checkpoint tests, run the following from the src/github.com/cmu440/raft/ folder

go test -run 2A

We will also check your code for race conditions using Go’s race detector:

go test -race -run 2A

2. Full test

To execute all the tests, run the following from the src/github.com/cmu440/raft/ folder

go test

We will also check your code for race conditions using Go’s race detector:

go test -race

Submission

Please disable or remove all debug prints regardless of whether you are using our logging framework or not before submitting to Gradescope. This helps avoid inadvertent failures, messy autograder outputs and style point deductions.

For both the checkpoint and the final submission, create handin.zip using the following command under the p2/ directory, and then upload it to Gradescope.

sh make_submit.sh

Miscellaneous

Reading the API Documentation

Before you begin the project, you should read and understand all of the starter code we provide. To make this experience a little less traumatic (we know, it's a lot :P), fire up a web server and read the documentation in a browser by executing the following commands:

  1. Install godoc globally, by running the following command outside the src/github.com/cmu440 directory:
go install golang.org/x/tools/cmd/godoc@latest
  1. Start a godoc server by running the following command inside the src/github.com/cmu440 directory:
godoc -http=:6060
  1. While the server is running, navigate to localhost:6060/pkg/github.com/cmu440 in a browser.

15440-p2's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.