マーリンアームズ サポート   翻訳   アプリ   ダウンロード   コラム   ショップ      
辞書サイト   JavaScript講座

Goプログラミング実践入門     SAU SHEONG CHANG著   武舎広幸+阿部和也+上西昌弘訳

本の目次

章の一覧

はじめに
第1部 Go言語とWebアプリケーションの親和性
 第1章 Go言語はウェブアプリ開発に最適な言語
 第2章 Goプログラム「ChitChat」――典型的なGoウェブアプリのデザイン
第2部 Webアプリ開発の基本テクニック
 第3章 net/httpライブラリを使ったリクエストの受け付け
 第4章 リクエストのデータ構造とその処理
 第5章 テンプレートエンジンを使ったコンテンツの表示
 第6章 データの記憶――構造体、ファイル、データベース
第3部 リアルな開発への準備
 第7章 Goによるウェブサービスの作成――XMLおよびJSONの生成と解析
 第8章 テスト用ライブラリを使ったアプリケーションのテスト
 第9章 ゴルーチンとチャネルを使った並行処理
 第10章 Goウェブアプリのデプロイ――Heroku、GAE、Docker
付録1 Go言語開発環境の準備
索引

詳細目次

はじめに
謝辞
本書について
ロードマップ
コードの表記とダウンロード
著者紹介

第1部 Go言語とWebアプリケーションの親和性
第1章 Go言語はウェブアプリ開発に最適な言語
1.1 ウェブアプリケーション開発用言語としてのGo
1.2 ウェブアプリケーションの動作
1.3 HTTP入門
1.4 ウェブアプリケーションの誕生
1.5 HTTPリクエスト
1.6 HTTPレスポンス
1.7 URI
1.8 HTTP/2の導入
1.9 ウェブアプリの構成
1.10 Hello Go
1.11 まとめ

第2章 Goプログラム「ChitChat」――典型的なGoウェブアプリのデザイン
2.1 ChitChatでちょっとチャット
2.2 アプリケーションのデザイン
2.3 データモデル
2.4 リクエストの受信と処理
2.5 テンプレートを用いたHTMLレスポンスの生成
2.6 PostgreSQLのインストール
2.7 データベースとのインタフェース
2.8 サーバの起動
2.9 終わりに
2.10 まとめ

第2部 Webアプリ開発の基本テクニック
第3章 net/httpライブラリを使ったリクエストの受け付け
3.1 Go言語のnet/httpライブラリ
3.2 Go言語によるサーバ
3.3 ハンドラとハンドラ関数
3.4 HTTP/2の使用
3.5 まとめ
第4章 リクエストのデータ構造とその処理
4.1 リクエストとレスポンス
4.2 HTMLフォームとGo言語
4.3 ResponseWriter
4.4 クッキー
4.5 まとめ
テンプレートエンジンを使ったコンテンツの表示
5.1 Goのテンプレートエンジン
5.2 アクション
5.3 引数、変数、パイプライン
5.4 関数
5.5 コンテキスト依存処理
5.6 テンプレートの入れ子
5.7 ブロックアクションによるデフォルトテンプレートの定義
5.8 まとめ
データの記憶――構造体、ファイル、データベース
6.1 メモリ内での保持
6.2 ファイルによる保存
6.3 Go言語とSQL
6.4 Go言語とSQLによる関係(リレーション)
6.5 Go言語のリレーショナルマッパー
6.6 まとめ

第3部 リアルな開発への準備
第7章 Goによるウェブサービスの作成――XMLおよびJSONの生成と解析
7.1 ウェブサービス入門
7.2 SOAPベースのウェブサービスの基本
7.3 RESTベースのウェブサービスの基本
7.4 Go言語によるXMLの解析と生成
7.5 Go言語によるJSONの解析と生成
7.6 Goウェブサービスの作成
第8章 テスト用ライブラリを使ったアプリケーションのテスト
8.1 Goとテスト
8.2 Goによるユニットテスト
8.3 GoによるHTTPのテスト
8.4 テストダブルと依存性の注入
8.5 サードパーティ製のテスト用Goライブラリ
8.6 まとめ
第9章 ゴルーチンとチャネルを使った並行処理
9.1 並行性と並列性
9.2 ゴルーチン
9.3 チャネル
9.4 ウェブアプリケーションと並行実行
9.5 まとめ
第10章 Goウェブアプリのデプロイ――Heroku、GAE、Docker
10.1 サーバへのデプロイ
10.2 Herokuへのデプロイ
10.3 Google App Engineへのデプロイ
10.4 Dockerへのデプロイ
10.5 デプロイ方法の比較
10.6 まとめ

付録1 Go言語開発環境の準備
  インストール
  Goの設定