-
-
Notifications
You must be signed in to change notification settings - Fork 101
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move projects to their own directory (#101)
- Loading branch information
1 parent
82eb18d
commit b0c24f5
Showing
80 changed files
with
86 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
+++ | ||
title="Projects" | ||
+++ | ||
|
||
## Requirements | ||
|
||
Before you start this course, make sure you've read and followed all of the instructions in the [prep](../prep/README.md) document. This will get you set up and explain how to work through the projects. | ||
|
||
Remember: you can _always_ Google or ask for help if you get stuck. | ||
|
||
## Projects | ||
|
||
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 on a branch prefixed `impl/` (short for "implementation") and an associated [Pull Request](https://github.com/CodeYourFuture/immersive-go-course/pulls) for you to look at. Try not to copy! | ||
|
||
Most exercises finish with a list of optional extension tasks. It's highly recommended that you try them out. Note that often the extensions are open-ended and under-specified - make sure to think about them with a curious mind: Why are they useful? What trade-offs do they have? | ||
|
||
1. [CLI & Files](./cli-files) | ||
<br>An introduction to building things with Go by replicating the unix tools `cat` and `ls`. | ||
1. [Servers & HTTP requests](./http-auth) | ||
<br>Learn about long-running processes, HTTP and `curl` | ||
1. [Servers & Databases](./server-database) | ||
<br>Build a server that takes data from a database and serves it in `json` format | ||
1. [Multiple Servers](./multiple-servers) | ||
<br>Build and run file & API servers behind nginx in a simple multi-server architecture | ||
1. [Docker & Cloud Deployment](./docker-cloud/) | ||
<br>Use containers to reproducibly deploy applications into the cloud | ||
1. [gRPC](./grpc-client-server) | ||
<br>Learn about RPCs and how they differ from REST, and start thinking about observability | ||
1. [Batch Processing](./batch-processing/) | ||
<br>Build an image processing pipeline with cloud storage | ||
1. [Buggy App](./buggy-app/) | ||
<br>Run, debug, and fix a buggy application | ||
1. [Memcache](./memcached-clusters) | ||
<br>Explore sharding and replication of state | ||
1. [Kafka Cron](./kafka-cron) | ||
<br>Build a distributed multi-server application handling variable load, with Kafka as a task queue | ||
1. [RAFT and OTel](./raft-otel) | ||
<br>Build a complex distributed system for with strong consistency, and instrument it with tracing |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"order": [ | ||
"cli-files", | ||
"http-auth", | ||
"server-database", | ||
"multiple-servers", | ||
"docker-cloud", | ||
"grpc-client-server", | ||
"batch-processing", | ||
"buggy-app", | ||
"memcached-clusters", | ||
"kafka-cron", | ||
"raft-otel" | ||
] | ||
} |
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,29 @@ | ||
#!/bin/bash -eu | ||
|
||
td="$(mktemp -d)" | ||
curl -L https://github.com/gohugoio/hugo/releases/download/v0.109.0/hugo_extended_0.109.0_Linux-64bit.tar.gz | tar xzf - -C "${td}" hugo | ||
chmod 0755 "${td}/hugo" | ||
|
||
mkdir -p website/content/projects | ||
|
||
for dir in $(find . -maxdepth 1 -type d -not -name '.*' -not -name website -not -name primers -not -name workbooks); do | ||
cp -r "${dir}" website/content/projects/ | ||
done | ||
|
||
cp -r primers website/content/ | ||
if "$(command -v hugo)" >/dev/null 2>/dev/null; then | ||
hugo=hugo | ||
else | ||
td="$(mktemp -d)" | ||
case "$(uname)" in | ||
Darwin) | ||
curl -L https://github.com/gohugoio/hugo/releases/download/v0.109.0/hugo_extended_0.109.0_darwin-universal.tar.gz | tar xzf - -C "${td}" hugo | ||
;; | ||
Linux) | ||
curl -L https://github.com/gohugoio/hugo/releases/download/v0.109.0/hugo_extended_0.109.0_Linux-64bit.tar.gz | tar xzf - -C "${td}" hugo | ||
;; | ||
esac | ||
chmod 0755 "${td}/hugo" | ||
hugo="${td}/hugo" | ||
fi | ||
|
||
cp -r prep primers projects website/content/ | ||
|
||
mkdir -p website/content/about | ||
cp CONTRIBUTING.md website/content/about/contributing.md | ||
|
||
cp README.md website/content/projects/_index.md | ||
|
||
for file in $(find website/content/projects -name README.md); do | ||
mv "${file}" "${file%README.md}index.md" | ||
done | ||
|
||
cd website | ||
"${td}/hugo" | ||
"${hugo}" |