An immersive, introductory course to backend software engineering using go.
Before you start this course, there's a few things we assume you've done:
- You're familiar with the essentials of writing code in JavaScript
- You have experience with JavaScript in the browser and in Node
- You've completed the Tour of Go
This is important because we don't cover the basic language features of Go: you need to be familiar with writing Go functions and methods, plus the basics of types in Go. You'll also need to to navigate packages and documentation.
Remember: you can always Google or ask for help if you get stuck.
This course is structured into self-contained projects that you can work through at your own pace.
Each project has its own directory with a README.md file that has instructions. If you want to take a look at one way of completing an exercise, there's some code waiting in an associated Pull Request for you to look at. Try not to copy!
- CLI & Files —
impl/cat-ls
An introduction to building things with Go by replicating the unix toolscat
andls
. - Servers & HTTP requests -
impl/http-auth
Learn about long-running processes, HTTP andcurl
. - Servers & Databases -
impl/server-database
Build a server that takes data from a database and serves it injson
format.
- Tom Ashworth
- Daniel Wagner-Hall
Feel free to ask for help in the CYF Slack!