マナティ

購入形態

PDF
3,740円
数量:

カートに追加されました。カートを見る

カートに入れる
紙の本を買う

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る

インプレス

Webアプリ開発のためのGoプログラミング術!

Goプログラマーの実践力を上げる!

Go言語はシンプルで直接的です。net/http、html/templateなど標準ライブラリが提供され、Webアプリの開発に最適となっています。

本書では、Go言語と標準ライブラリによるWebアプリの開発手法を解説。HTTPの仕組みから始め、リクエストやレスポンスのコーディング、テンプレート/DBの活用、テスト/デプロイへと進みます。Go言語の拡張性/モジュール性/保守性/実行効率を発揮させるべく、本書により開発の実践力を培ってください。


※本書は『Go Web Programming』の翻訳書です。
※Go言語に関する基本的な知識を前提としています。
※サンプルコードは訳者のサポートページ(marlin-arms.com/support/goweb)からダウンロードできます。

発売日:2017-03-17

ページ数:392ページ

目次

表紙
はじめに
本書について/ロードマップ
コードの表記とダウンロード
著者/訳者紹介
目次
第1部 Go言語とWebアプリケーションの親和性
第1章 Go言語はWebアプリ開発に最適な言語
1.1 Webアプリケーション開発用言語としてのGo
1.2 Webアプリケーションの動作
1.3 HTTP入門
1.4 Webアプリケーションの誕生
1.5 HTTPリクエスト
1.6 HTTPレスポンス
1.7 URI
1.8 HTTP/2の導入
1.9 Webアプリの構成
1.10 Hello Go
1.11 まとめ
第2章 Goプログラム「ChitChat」――典型的なGo Webアプリのデザイン
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章 テンプレートエンジンを使ったコンテンツの表示
5.1 テンプレートとテンプレートエンジン
5.2 Goのテンプレートエンジン
5.3 アクション
5.4 引数、変数、パイプライン
5.5 関数
5.6 コンテキスト依存処理
5.7 テンプレートの入れ子
5.8 ブロックアクションによるデフォルトテンプレートの定義
5.9 まとめ
第6章 データの記憶――構造体、ファイル、データベース
6.1 メモリ内での保持
6.2 ファイルによる保存
6.3 Go言語とSQL
6.4 Go言語とSQLによる関係(リレーション)
6.5 Go言語のリレーショナルマッパー
6.6 まとめ
第3部 リアルな開発への準備
第7章 GoによるWebサービスの作成――XMLおよびJSONの生成と解析
7.1 Webサービス入門
7.2 SOAPベースのWebサービスの基本
7.3 RESTベースのWebサービスの基本
7.4 Go言語によるXMLの解析と生成
7.5 Go言語によるJSONの解析と生成
7.6 Go Webサービスの作成
7.7 まとめ
第8章 テスト用ライブラリを使ったアプリケーションのテスト
8.1 Goとテスト/8.2 Goによるユニットテスト
8.3 GoによるHTTPのテスト
8.4 テストダブルと依存性の注入
8.5 サードパーティ製のテスト用Goライブラリ
8.6 まとめ
第9章 ゴルーチンとチャネルを使った並行処理
9.1 並行性(Concurrency)と並列性(Parallelism)
9.2 ゴルーチン
9.3 チャネル
9.4 Webアプリケーションと並行実行
9.5 まとめ
第10章 Go Webアプリのデプロイ――Heroku、GAE、Docker
10.1 サーバへのデプロイ
10.2 Herokuへのデプロイ
10.3 Google App Engineへのデプロイ
10.4 Dockerへのデプロイ
10.5 デプロイ方法の比較/10.6 まとめ
付録 Go言語開発環境の準備/インストール
Goの設定
索引
奥付

著者プロフィール

  • Sau Sheong Chang(著者)

    シンガポールパワー社のデジタルテクノロジー担当取締役。前職はPayPalのコンシューマーエンジニアリング部門のディレクター。RubyおよびGoの開発者コミュニティにおいて積極的な活動を行っており、書籍の執筆やオープンソースプロジェクトへの貢献、カンファレンスなどでの講演も行っている。

  • 武舎広幸(翻訳)

    マーリンアームズ株式会社代表取締役。機械翻訳など言語処理ソフトウェアの開発と人間翻訳に従事。国際基督教大学の語学科に入学するも、理学科(数学専攻)に転科。山梨大学大学院修士課程に進学し、ソフトウェア工学を専攻。修了後、東京工業大学大学院博士課程に入学。米国オハイオ州立大学大学院、カーネギーメロン大学機械翻訳センター(客員研究員)に留学後、満期退学し、マーリンアームズ株式会社を設立。

  • 阿部和也(翻訳)

    1973年頃よりFORTRAN、1980年頃よりBASICでプログラミングを始める。COBOL、PL/I、Cを経て、1988年頃よりMacintoshでCプログラミングを開始し、1990年にビットマップフォントエディタ「丸漢エディター」を発表。その後、C++によるMacOS 9用ビットマップフォントエディタの開発にも従事した。現在はPerl、PHP、JavaScriptにより病院情報システムの機能拡張に取り組んでいる。

  • 上西昌弘(翻訳)

    学生時代から講義や趣味でプログラミングに親しむ。製造業の情報部門で3D CGおよびAI技術をベースにした開発業務に長年従事した。コンピュータ関係を中心とした書籍の翻訳に参加するとともに、産業翻訳に携わっている。訳書に『日本海軍空母vs米海軍空母太平洋1942(オスプレイ""対決""シリーズ)』(大日本印刷)などがある。