Go言語プログラミングエッセンス(技術評論社) [電子書籍]
    • Go言語プログラミングエッセンス(技術評論社) [電子書籍]

    • ¥3,5201,056 ゴールドポイント(30%還元)
    • すぐ読めます
100000086601896793

Go言語プログラミングエッセンス(技術評論社) [電子書籍]

mattn(著)
価格:¥3,520(税込)
ゴールドポイント:1,056 ゴールドポイント(30%還元)(¥1,056相当)
フォーマット:
専用電子書籍リーダアプリ「Doly」が必要です。無料ダウンロード
出版社:技術評論社
公開日: 2023年03月09日
すぐ読めます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

Go言語プログラミングエッセンス(技術評論社) の 商品概要

  • Go言語ユーザーとして,「もう一段レベルアップしたい」「開発に使いたい」と思っている方に向けた,Go言語の解説本です。関数やパッケージの使い方,並行処理,テストといった基本的なトピックにおいて,「こう書くと綺麗になる」「こう書くとパフォーマンスが上がる」といったエッセンスを紹介します。後半ではCLIアプリ/Webアプリの開発手順や,現場で使われている便利なパッケージなど,著者が業務やOSSの開発で培った技術をふんだんに紹介します。
  • 目次

    第1章 プログラミング言語Goとは
    1.1 Goの簡単な歴史
    1.2 Goの立ち位置
    1.3 Goが利用される場面
    標準でUTF-8をサポート
    マルチプラットフォーム
    並行処理の扱いやすさ
    ストリーム指向
    シングルバイナリ
    1.4 教育用途としてのGo
    1.5 なぜGoが使われるのか
    コンパイルの速さ
    レビューのしやすさ
    周辺ツールの充実
    パッケージ公開の簡単さ
    libc非依存
    共同開発でのスキル差
    1.6 まとめ

    第2章 開発環境の準備
    2.1 Goコンパイラのインストール
    [COLUMN]GOROOT? GOPATH?
    2.2 開発環境のセットアップ
    Visual Studio Code
    Vim
    Goland
    2.3 まとめ

    第3章 基本的な文法
    3.1 プロジェクトフォルダ
    3.2 Go言語の特徴
    3.3 静的な型
    3.4 基本的な構文
    変数宣言
    const(定数宣言)
    iota(列挙)
    命名規則
    関数呼び出し
    条件分岐
    ループ
    配列とスライス
    文字列
    map
    type(型宣言)
    struct(構造体)
    メソッド
    ポインタ
    interface{}またはany
    コンストラクタ
    インターフェース
    defer
    3.5 goroutine(ゴルーチン)
    channel(チャネル)
    制御構文(select)
    3.6 Goモジュールとは
    go.modの配置
    replace
    go install
    3.7 プロジェクトレイアウト
    3.8 lint文化
    go vet
    revive
    golangci-lint
    3.9 go fmt
    3.10 まとめ
    [COLUMN]おまじない

    第4章 基本テクニックとベストプラクティス
    4.1 ビルトイン関数
    printとprintln
    panicとrecover
    [COLUMN]Explicit is better than implicit, Simple is better than complex
    init関数
    4.2 パッケージ
    fmtパッケージ
    logパッケージ
    encoding/jsonパッケージ
    netパッケージ
    timeパッケージ
    pathパッケージとpath/filepathパッケージ
    osパッケージ
    ioパッケージ
    contextパッケージ
    4.3 build constraints
    ファイル名による指定
    +build(またはgo:build)コメントによる指定
    [COLUMN]マルチプラットフォーム向けアプリケーションの開発テクニック
    4.4 cgo
    pkg-configを使って複雑なコンパイルオプションに対処
    4.5 go:embed
    4.6 Functional Options Pattern
    4.7 Builder Pattern
    4.8 internalパッケージ
    4.9 Embedded struct
    4.10 go run
    4.11 まとめ

    第5章 Webアプリケーションの開発に必要な要素
    5.1 net/http
    基本の使い方
    ルーティング
    [COLUMN]Method Value
    ファイルのサーブ
    5.2 html/template
    struct
    range/end
    if/else/end
    with/else/end
    template.HTML
    FuncMap
    template.Parse
    define/template
    5.3 net/smtp
    5.4 まとめ

    第6章 速いプログラムのためのテクニック
    6.1 並行と並列
    6.2 goroutine
    6.3 channel
    6.4 非同期パターン
    ジェネレータ
    合流処理
    先着処理
    タイムアウト処理
    停止処理
    スロットリング(throttling)
    6.5 まとめ

    第7章 テストにおけるテクニック
    7.1 テストの考え方
    7.2 Goのテストの基本
    Table Driven Tests
    t.Skip/t.Skipf
    setup/teardown
    t.Short
    t.Parallel
    テストデータ
    カバレッジ
    7.3 便利なテクニック
    テンポラリディレクトリ
    環境変数
    7.4 Fuzzingテスト
    7.5 まとめ

    第8章 ベンチマークにおけるテクニック
    8.1 「推測するな、計測せよ」
    8.2 ベンチマークの基本
    8.3 ベンチマークの比較
    改善の前と後の比較
    異なる実装の比較
    8.4 プロファイリング
    8.5 まとめ

    第9章 GoによるCLIアプリケーション開発
    9.1 システムのコンセプト
    9.2 データベース登録プログラム
    [COLUMN]プログラムを作る手順
    ZIPファイルのURL一覧を得る
    ZIPファイルを展開する
    データベースに登録する
    9.3 データベース照会プログラム
    9.4 テストの実装
    9.5 CLI開発に役立つライブラリ
    9.6 フラグライブラリ
    flagパッケージ
    urfave/cli
    alecthomas/kingpin
    spf13/cobra
    9.7 端末制御ライブラリ
    olekukonko/tablewriter
    mattn/go-runewidth
    jroimartin/gocui
    9.8 まとめ

    第10章 GoによるWebアプリケーション開発
    10.1 システムのコンセプト
    10.2 TODOアプリケーション
    Webサーバ
    リクエストハンドラ
    テンプレート処理
    静的ファイルのサーブ
    10.3 リマインダメール送信
    10.4 Goにおけるフレームワーク
    Gin
    Echo
    Micro
    Beego
    フレームワークの選定について
    10.5 まとめ

    第11章 GitHubでの開発における勘所
    11.1 ライブラリの仕様
    11.2 プロジェクトの作成
    11.3 パッケージ名
    11.4 実装
    11.5 バージョニング
    [COLUMN]GitHubのワンポイントTips
    11.6 テスト
    11.7 ドキュメント
    go docの使い方
    godocの使い方
    https://pkg.go.dev/で閲覧する
    11.8 ディレクトリ構造
    11.9 自動テスト
    11.10 自動リリース
    11.11 まとめ

    第12章 データベースの扱い方
    12.1 database/sql
    サードパーティドライバ
    Query/QueryRow
    Exec
    Prepare
    Begin/Commit/Rollback
    12.2 ent/ent
    OpenAPI連携
    entgen
    12.3 ORMベンチマーク
    12.4 まとめ

    第13章 Goとクラウドサービス
    13.1 Goがなぜ使われるのか
    13.2 Google Cloud
    13.3 AWS Lambda
    13.4 Oracle Cloud
    [COLUMN]バイナリサイズを小さくする
    13.5 まとめ

Go言語プログラミングエッセンス(技術評論社) の商品スペック

シリーズ名 エンジニア選書
Cコード 3055
出版社名 技術評論社
本文検索
他の技術評論社の電子書籍を探す
紙の本のISBN-13 9784297134198
ファイルサイズ 14.3MB
著者名 mattn
著述名

    技術評論社 Go言語プログラミングエッセンス(技術評論社) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!