Book

7 Days to Implement from Scratch in Go

Implement a Web framework, a distributed cache, an ORM and an RPC framework in Go from scratch in 7 days, insisting on implementing each framework in less than 1000 lines of code, with an emphasis on hands-on practice.

Contents

33 chapters
  1. Web Framework Gee
    1. Building a Web Framework in Go from Scratch - Gee Tutorial
    2. Building a Web Framework in Go - Gee Day 1 http.Handler
    3. Building a Web Framework in Go - Gee Day 2 Context
    4. Building a Web Framework in Go - Gee Day 3 Trie Tree Router
    5. Building a Web Framework in Go - Gee Day 4 Group
    6. Building a Web Framework in Go - Gee Day 5 Middleware
    7. Building a Web Framework in Go - Gee Day 6 HTML Template
    8. Building a Web Framework in Go - Gee Day 7 Panic Recover
  2. Distributed Cache GeeCache
    1. Implement a Distributed Cache in Go from Scratch - GeeCache
    2. Implement a Distributed Cache in Go - GeeCache Day 1 LRU Cache Eviction Strategy
    3. Implement a Distributed Cache in Go - GeeCache Day 2 Single-Node Concurrent Cache
    4. Implement a Distributed Cache in Go - GeeCache Day 3 HTTP Server
    5. Implement a Distributed Cache in Go - GeeCache Day 4 Consistent Hashing (Hash)
    6. Implement a Distributed Cache in Go - GeeCache Day 5 Distributed Nodes
    7. Implement a Distributed Cache in Go - GeeCache Day 6 Preventing Cache Breakdown
    8. Implement a Distributed Cache in Go - GeeCache Day 7 Communicating with Protobuf
  3. ORM Framework GeeORM
    1. Implement an ORM Framework in Go from Scratch in 7 Days - GeeORM
    2. Implement an ORM Framework in Go - GeeORM Day 1 database/sql Basics
    3. Implement an ORM Framework in Go - GeeORM Day 2 Mapping Structs to Tables
    4. Implement an ORM Framework in Go - GeeORM Day 3 Record Operations
    5. Implement an ORM Framework in Go - GeeORM Day 4 Chain Operations, Update and Delete
    6. Implement an ORM Framework in Go - GeeORM Day 5 Implementing Hooks
    7. Implement an ORM Framework in Go - GeeORM Day 6 Transactions
    8. Implement an ORM Framework in Go - GeeORM Day 7 Database Migration
  4. RPC Framework GeeRPC
    1. 7 Days to Implement an RPC Framework GeeRPC in Go from Scratch
    2. Implement an RPC Framework in Go - GeeRPC Day 1 Server and Message Encoding
    3. Implement an RPC Framework in Go - GeeRPC Day 2 Asynchronous and Concurrent Client
    4. Implement an RPC Framework in Go - GeeRPC Day 3 Service Registration
    5. Implement an RPC Framework in Go - GeeRPC Day 4 Timeout Processing
    6. Implement an RPC Framework in Go - GeeRPC Day 5 HTTP Protocol Support
    7. Implement an RPC Framework in Go - GeeRPC Day 6 Load Balancing
    8. Implement an RPC Framework in Go - GeeRPC Day 7 Service Discovery and Registry
  5. Q & A
    1. Use Cases of Interface-based Functions in Go