🔩 ねじき教室 Go と Web の教室

Part 5

ミニ掲示板を作る

30秒でつかむ 画面、Go、DBをつないで掲示板にする
画面、Go、DBをつないで掲示板にするブラウザからの操作をGoアプリが処理し、DBへ保存し、次の画面を返します。1ブラウザ投稿する2Goアプリ処理する3DB保存する
  1. ブラウザ 投稿する
  2. Goアプリ 処理する
  3. DB 保存する

学んだことを組み合わせて、小さな掲示板サービス「ねじ板」を作ります。 投稿の保存と一覧表示、ユーザー登録、ログインの維持まで、ISUCON で渡されるアプリと同じ構造を一通り自分で書きます。 作り切ると、他人の書いた Web アプリのコードが読めるようになっているはずです。

この Part の所要時間は 4〜6 時間が目安です。 終えると、投稿、ユーザー登録、ログイン、セッション管理を備えた Web アプリを組み立てられます。 演習環境は Part 4 と同じで、作業履歴の管理には Git の利用をおすすめします。

  1. 何をどう作るか 掲示板「ねじ板」の要件、URL 設計、テーブル設計を先に決めて、プロジェクトの土台を用意します。
  2. 投稿と一覧 ログインなしで動く最小の掲示板を作り、投稿の保存と一覧表示、html/template の XSS 対策を確かめます。
  3. ユーザー登録とログイン bcrypt でパスワードをハッシュ化して保存し、ユーザー登録とログインの照合を作ります。
  4. Cookie とセッション Cookie とセッションでログイン状態を維持し、投稿をログインした本人のものにします。
  5. 未ログイン時の仕上げ 投稿フォームの出し分けと、未ログインの POST の誘導を実装して、ねじ板を完成させます。
  6. 完成コードと動作確認 完成した main.go の全体と、登録からログアウトまでを通しで確かめる手順です。
  7. 振り返りと改造課題 完成したねじ板に Part 1〜4 の何が入っているかを振り返り、改造課題で理解を確かめます。