前のパートに戻る 完了して次のパートへ  

  0-1 技術ブログを自作してみよう!

本教材では技術ブログサイトを作成しながらプログラミング言語 Go を用いた Web アプリケーションの作成方法を学んでいきます。技術ブログらしく Markdown 記法やソースコードのシンタックスハイライトにも対応します。

開発に使用する Go 言語はシンプルさ・信頼性・高パフォーマンスを兼ね備えており、現在注目されている言語の1つです。しかしながら Go には Rails・Django・Laravel のようなフルスタックフレームワークのデファクトスタンダードと呼ばれるものがありません。初学者の方にとっては「言語構文の学習」から「アプリケーションの作成」へのステップアップが独学では難しくなっています。

本教材における一番の目標は「『言語構文の学習』から『アプリケーションの作成』へステップアップすること」です。開発には HTML・CSS・JavaScript・SQL も使用しますが、説明の中心は Go です。本教材を通して Web アプリケーションを最後まで作りきることで Go によるアプリケーション開発の全体像を掴みましょう。

学習内容


Go による Web アプリケーション開発ができるようになることがゴールです。

  • Go による Web アプリケーション開発の全体像を学びます
  • アプリ開発に便利な Go の各種ライブラリの使い方を学びます(echo・pongo2・sqlx・goose)
  • ブログ記事の閲覧・作成・更新・削除機能の実装を行います

受講における条件


必須

  • HTML/CSS/JavaScript の基礎知識
  • SQL の基礎知識

推奨

  • Go の基礎知識
  • 任意の言語でのサンプルアプリケーション作成経験

Go を一度も触ったことがない方は、まずは Go 公式のチュートリアル A Tour of Go(日本語版) で基礎構文を学習することをおすすめします。

この教材の対象者


  • Go の基礎構文の知識があり、アプリケーション開発にステップアップしたい方
  • Go 以外のプログラミング言語の経験があり、新たに Go を学びたい方
  • とにかく Go 言語を用いたアプリケーション開発に挑戦したい方

学ばないこと


本教材は Go によるアプリケーション開発の全体像を把握することを一番の目的としており、HTML・CSS・JavaScript・SQL の解説は詳しくしていません。

対象 OS


本教材は macOS の利用を前提に作成されています。Linux や Windows を利用されている方は、各種ソフトウェアのインストール方法や利用するツールを適宜読み替えて準備する必要があります。環境構築以外の部分に関しては利用する OS に関わらず学習いただけます。

作成するアプリケーションのイメージを掴む


この教材ではプログラミング言語 Go を用いて技術ブログサイトを作成します。どういったアプリを作成するかのイメージをつかむために、下記のリンクにアクセスして利用してみてください。ログインが求められるページは、ユーザー名:joe、パスワード:secret で利用できます。

https://go-tech-blog.herokuapp.com/

目次


0 章 はじめに

本教材を進める上での開発環境を整えたり、作成するアプリケーションの設計を確認したりします。

1 章 Go でアプリケーションスケルトン(骨格)を作ろう

機能の肉付けをする前のアプリケーション全体の骨格を作成します。ルーティング設定・テンプレート描画・データベース接続などを整えます。

2 章 新規作成機能を作ろう

記事の新規作成ページを作成します。Markdown のパース処理に Ramarkable、ソースコードのシンタックスハイライトに Prism という JavaScript ライブラリを使用します。

3 章 一覧機能・削除機能を作ろう

記事の一覧ページを実装していきます。

4 章 詳細表示機能・編集機能を作ろう

作成した記事の閲覧ページ・編集ページを実装していきます。

付録 1. Heroku にデプロイしてみよう

開発したアプリケーションを Heroku を使ってインターネットで公開します。

付録 2. Basic 認証を付けてみよう

簡易的なログイン機能を追加します。

付録 3. テーブル結合のあるクエリを sqlx で扱おう

本教材においてはテーブル結合が必要な機能の開発は行いません。本教材学習後に個人で開発を行われる方に向けてテーブル結合がある場合のデータベース操作を解説します。

議論

0 質問

このコースの評価は?