試験公開中

このエントリーをはてなブックマークに追加

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

インプレス

3,400円+税

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

関連サイト

本書の関連ページが用意されています。

内容紹介

Goプログラマーの実践力を上げる! Go言語はシンプルで直接的です。net/http、html/templateなど標準ライブラリが提供され、Webアプリの開発に最適となっています。

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

――※本書は『Go Web Programming』の翻訳書です。

※Go言語に関する基本的な知識を前提としています。

※サンプルコードは訳者のサポートページ(http://marlin-arms.com/support/goweb)からダウンロードできます。

書誌情報

  • 著者: Sau Sheong Chang(著), 武舎広幸, 阿部和也, 上西昌弘(訳)
  • 発行日: (紙書籍版発行日: 2017-03-17)
  • 最終更新日: 2017-03-17
  • バージョン: 1.0.0
  • ページ数: 392ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

プログラミング経験者。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(オスプレイ"対決"シリーズ)』(大日本印刷)などがある。

目次

はじめに

本書について/ロードマップ

コードの表記とダウンロード

著者/訳者紹介

目次

第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の設定

索引

Home 書籍一覧 Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る ▲ ページトップへ戻る