Projects
NCCカリキュラムの全プロジェクト一覧。
基礎学習からキャップストーンまで、体系的に学習できます。
学習フロー
0
Go Piscine
→
1-2
Go 課題
→
3
Zig システム
→
4
Rust Piscine
→
5
Rust 応用
→
6
Capstone
🔵 Go Rank 0-2
並行処理とシンプルさを追求した言語。Cライクな課題をGoで再実装。
必読
Go 言語基礎
12章のガイド
Go言語の歴史から並行処理まで。文法、型システム、エラー処理、メモリ管理を体系的に学習。
構文
goroutine
channel
interface
Rank 0
Go Piscine(初心者)
8日間の集中プログラム
プログラミング未経験者向け。環境構築から構造体まで、ゼロからGoを学ぶ。
変数
制御構文
関数
構造体
Rank 0
Go Piscine(経験者)
8日間の集中プログラム
他言語経験者向け。Goのイディオム、インターフェース、並行処理を短期間で習得。
イディオム
interface
goroutine
channel
Rank 1
goft
標準ライブラリ再実装
strings, bytes, strconv などの標準パッケージを自作。Go言語の内部を理解する。
strings
bytes
strconv
slices
Rank 1
go_printf
フォーマット出力
fmt.Printf を自作。フォーマット指定子のパース、可変長引数、リフレクションを学ぶ。
フォーマット
可変長引数
リフレクション
Rank 1
go_reader
ファイル I/O
bufio.Scanner 相当を自作。ファイル操作、バッファリング、io.Reader インターフェースを理解。
io.Reader
バッファリング
ファイル操作
Rank 2
go_sort
ソートアルゴリズム
各種ソートアルゴリズムを実装。計算量、安定性、実用的な最適化を学ぶ。
QuickSort
MergeSort
計算量
Rank 2
go_signal
シグナル / IPC
UNIXシグナルを使ったプロセス間通信。シグナルハンドラ、syscallを学ぶ。
シグナル
syscall
IPC
Rank 2
go_pipe
プロセス / パイプ
パイプライン処理、プロセス生成、リダイレクト。シェルの基礎を実装。
os/exec
pipe
プロセス
⭐ Go 選択課題 (任意)
🟠 Zig Rank 3
Cの代替を目指す低レベル言語。システムプログラミングを深掘り。
必読
Zig 言語基礎
12章のガイド
Zig言語の設計思想から実践まで。コンパイル時計算、エラー処理、メモリ管理を学ぶ。
comptime
エラー処理
アロケータ
Deep Dive
メモリ Deep Dive
アロケータの設計
Zigのアロケータパターンを深掘り。カスタムアロケータの設計と実装。
Allocator
Arena
メモリプール
Rank 3
zig_alloc
カスタムアロケータ
独自のメモリアロケータを実装。Bump、Pool、Arenaアロケータを作成。
BumpAllocator
PoolAllocator
メモリ管理
Rank 3
zig_simd
SIMD最適化
ZigのSIMD組み込み機能を活用。ベクトル演算、パフォーマンス最適化を実践。
@Vector
SIMD
最適化
Rank 3
zig_async
非同期 I/O
Zigの非同期プログラミング。io_uringを使った高性能I/Oを実装。
async/await
io_uring
イベントループ
⭐ Zig 選択課題 (任意)
🦀 Rust Rank 4-6
安全性と性能を両立する言語。C++相当の課題をRustで再実装。
必読
Rust 言語基礎
13章のガイド
Rust言語の所有権システムからマクロまで。安全で高速なコードの書き方を学ぶ。
所有権
ライフタイム
トレイト
マクロ
Deep Dive
所有権 Deep Dive
4章の徹底解説
所有権システムの理論的基礎。借用チェッカーの内部、高度なパターンを学ぶ。
借用チェッカー
NLL
パターン
Rank 4
Rust Piscine
所有権特訓 6章
所有権・借用・ライフタイムを徹底特訓。スマートポインタ、並行処理まで。
所有権
借用
Box/Rc/Arc
Rank 4
rust_ownership
所有権課題
所有権システムを実践で習得。Move/Copy、借用、ライフタイムの問題を解く。
Move
Copy
借用
Rank 4
rust_traits
トレイト課題
トレイトによる多態性。ジェネリクス、トレイト境界、関連型を使いこなす。
トレイト
ジェネリクス
impl Trait
Rank 4
rust_concurrency
並行処理課題
fearless concurrencyを実践。スレッド、Mutex、Arc、チャネルを使う。
スレッド
Mutex
channel
Rank 5
rust_shell
シェル実装
minishell相当をRustで実装。パース、プロセス管理、リダイレクト、パイプ。
パーサー
プロセス
パイプ
Rank 5
rust_server
HTTPサーバー
webserv相当をRustで実装。HTTP/1.1パース、非同期I/O、CGI対応。
HTTP
async
tokio
Rank 5
rust_network
IRC実装
ft_irc相当をRustで実装。IRCプロトコル、マルチクライアント、チャネル管理。
IRC
TCP
プロトコル
Rank 6
rust_fullstack
キャップストーン
ft_transcendence相当。フルスタックWebアプリ。フロントエンド、バックエンド、リアルタイム通信。
WebSocket
REST
DB
認証