Go言語本 - 人気 / 新書 / 高評価 書籍一覧 | 技術書の本ダナ


Go言語 人気本 ランキング

人気 1位
 
本書の内容

Go 1.6に対応!構文や動作を「なぜ・どうして」から解説。読みやすさ、理解の深さを追求したGo入門書!

本書は、Goプログラミングをこれから始める方のための学習書です。Go言語の基本的な構文から、特徴的な機能、開発ツールや使用頻度の高いパッケージの使い方まで、実際にプログラムを書いてみたい方に必要な知識を解説しています。

Go言語の最新バージョン1.6に対応。データ型からチャネルとゴルーチンなどの特徴的な機能、各種パッケージまで、コード例をふんだんに使って「なぜそうなるのか」から説明していますので、C/C++、Java、C#、PythonやPHP、Rubyなど何かしらのプログラミング言語を学んだ方であれば「なるほど、なるほど」と腹落ちしながら読み進められます。

使用頻度の高いパッケージの使い方は集中的に解説するほか、巻末には標準ライブラリのパッケージカタログ付き。座右において便利に使える一冊です。

■Go言語とは
Go言語(Golangとも呼ばれます)は、2009年に米Googleが公開したプログラミング言語です。構文は簡潔で可読性が高く、コンパイル言語ゆえの安全性とインタプリタ言語のような開発の軽快さを両立し、マルチコアや並行処理などに対応していることから、次世代のソフトウェア開発を支えるプログラミング言語の1つと期待されています。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
c/c++, php, javascriptを経験しています。
cと使い心地が似ていると聞いたのでGo言語を知ってみたくて本書を購入しました。

どのような思想の言語でどのような文法・機能を持っているのかが必要十分に解説されていたので、読んでいて非常にわかりやすかったです。
他の言語と比較して記述されている箇所もあるので、その点もわかりやすかったポイントになります。

Go言語を初めてのプログラミング言語に選ぶ方が読むとまた違った印象になるかもしれませんが、巷によくある入門書よりは難解かなぁという印象です。。。
ふたつ目以降の言語を覚えようと思って読む方に対しては、いきなり本家の プログラミング言語Go を読む前に本書を先に読み、概要を押さえておくことをお勧めします。概要を知っておくことできっと理解が捗ると思います。
言語仕様を把握するためにとても良い本でした。Go初心者の方が最初に読むのに最適だと思います。
私はもともとRubyしか触ったことがなく、型やポインタ等は知ってはいましたがプロダクション環境で使ったことはないというレベルでした。私はTour of Go→Effective Go→みんなのGoと読み進めたのですが、個人的にはGo初心者の方であれば、Tour of Go→この本→Effective Go→みんなのGoという読み方が良いような気がしました。
内容は非常に丁寧でわかりやすく、読むのにあまり時間もかかりません。ややお値段はしますが、ググりながら仕様に惑わされるくらいなら購入しておいて損はないと思います。仕様の背景や考え方についてもかなりやさしく説明されていますので、エンジニア歴が浅い人でも十分理解できます。
職場であるアプリを作る機会があって本書を買いました。静的型付け言語は少しだけjavaを触ったくらいでしたがこの本を一通り読み終えたら望みのアプリを作ることができました。今も本番機で動いているのでこの本のおかげだと思っています。
 
人気 2位
 
本書の内容
(概要)

2016年に刊行し好評いただいた「みんなのGo言語」の改訂版です。全章を最新の内容にアップデートし、「第7章 データベースの扱い方」を新規で書き下ろします。ますます注目の集まるGoを現場で使うためのノウハウが1冊に凝縮されています!


(こんな方におすすめ)

・Go言語を使ってみたい方

・Go言語に携わることなった方


(目次)

第1章Goによるチーム開発のはじめ方とコードを書く上での心得(松木雅幸)

  • 1.1 開発環境の構築

  • 1.2 エディタと開発環境

  • 1.3 Goをはじめる

  • 1.4 Goらしいコードを書く

  • 第2章マルチプラットフォームで動作する社内ツールのつくり方(mattn)

  • 2.1 Goで社内ツールをつくる理由

  • 2.2 守るべき暗黙のルール

  • 2.3 TUIもWindowsで動かしたい

  • 2.4 OS固有の処理への対応

  • 2.5 がんばるよりもまわりのツールに頼る

  • 2.6 シングルバイナリにこだわる

  • 2.7 Windowsアプリケーションの作成

  • 2.8 設定ファイルの取り扱い

  • 2.9 社内ツールのその先に

  • 第3章実用的なアプリケーションを作るために(藤原俊一郎)

  • 3.1 はじめに

  • 3.2 バージョン管理

  • 3.3 効率的なI/O処理

  • 3.4 乱数を扱う

  • 3.5 人間が扱いやすい形式の数値

  • 3.6 Goから外部コマンドを実行する

  • 3.7 タイムアウトする

  • 3.8 シグナルを扱う

  • 3.9 goroutineの停止

  • 第4章コマンドラインツールを作る(中島大一/上田拓也)

  • 4.1 なぜGoでCLIツールを書くのか?

  • 4.2 デザイン

  • 4.3 flagパッケージ

  • 4.4 サブコマンドを持ったCLIツール

  • 4.5 使いやすく,メンテナンスしやすいツール

  • 第5章The Dark Arts Of Reflection(牧 大輔)

  • 5.1 動的な型の判別

  • 5.2 reflect パッケージ

  • 5.3 reflect の利用例

  • 5.4 reflect のパフォーマンスとまとめ

  • 第6章Goのテストに関するツールセット(鈴木健太)

  • 6.1 Goにおけるテストのあり方

  • 6.2 testingパッケージ入門

  • 6.3 ベンチマーク入門

  • 6.4 テストの実践的なテクニック

  • 第7章データベースの扱い方(mattn)

  • 7.1 Goにおけるデータベースの取り扱い

  • 7.2 database/sqlを使ってデータベースに接続する

  • 7.3 Exec命令の実行

  • 7.4 Query命令の実行

  • 7.5 Goにおけるデータベースの型

  • 7.6 ORMを使ったデータベースの扱い方

  • 7.7 RESTサーバを作る
  •  
    内容サンプル
     
    User Voice
    入門書を終え、Go言語を実際どう使おうと考えたときに役立つ本だと思います。複数の方が各々専門のパートを説明しており、実践的かつ分かり易いです。
    歴戦のGoエンジニアがおそらく長い年月をかけて会得したGoの知見が詰まっている本です。
    ある程度Goに慣れてきた人に読むのをお勧めしたいです。
     
    人気 3位
     
    本書の内容
    Goプログラマーの実践力を上げる! Go言語はシンプルで直接的です。net/http、html/templateなど標準ライブラリが提供され、Webアプリの開発に最適となっています。本書では、Go言語と標準ライブラリによるWebアプリの開発手法を解説。HTTPの仕組みから始め、リクエストやレスポンスのコーディング、テンプレート/DBの活用、テスト/デプロイへと進みます。Go言語の拡張性/モジュール性/保守性/実行効率を発揮させるべく、本書により開発の実践力を培ってください。――※本書は『Go Web Programming』の翻訳書です。※Go言語に関する基本的な知識を前提としています。※サンプルコードは訳者のサポートページ(marlin-arms.com/support/goweb)からダウンロードできます。
     
    内容サンプル
     
    User Voice
    現状、Go言語の書籍の中では一番実践的かつ分かり易く解説されています。 フレームワークに頼らず、Webの仕組みを理解するのにも役立つはずです。 ただし、実案件で一般公開するWEBサービスを実装するには、何らかのフレームワークがないと厳しいと思います。 本書ではあえてフレームワークを使わずWebの仕組みの基本から丁寧に説明し、Go言語周辺技術の解説を分かり易くしています。
    文字数も多すぎず少なすぎず、GoでWebアプリ(サーバー)を作るのに必要なことが大体網羅されているかと思います。おかげさまで、1週間程度でMVCモデルの自作FWの基盤が完成しました。
    ただ、この書籍ではGo言語の構文などの説明はほとんどないのでGo言語自体の勉強は他の書籍などで勉強する必要があります
     
    人気 4位
     
    本書の内容
    プログラミング言語Goはロブ・パイクやケン・トンプソンら著名なプログラマたちによりGoogleで生み出された.
    Goは最小の方法で最大の効果を生み出すプロフェッショナルなプログラマ向けのツールであり,
    シンプルで信頼性が高く,効率的なソフトウェアの構築を容易にする.
    本書は,明解で効率的なプログラムを今すぐGoで書くために,言語機能と標準ライブラリを
    最大限活用する助けになるよう書かれている.
    前半ではプログラムの構造的要素,基本データ型,コンポジット型,関数など基本事項を解説し,
    後半は従来の言語とはやや異なる方法をとるメソッド,インタフェース,並行性,パッケージ,
    テスト,リフレクションに焦点を当てる.
    原著者の一人は,K&Rとして知られる名著『プログラミング言語C』の著者の一人でもあり,
    Goの開発者たちのプログラミング哲学も知悉したブライアン・カーニハン.
    Goプログラマにとって必携の書となるだろう.
     
    内容サンプル
     
    User Voice
    あのブライアン・カーニハンが携わっているThe Go Programming Languageの翻訳本。当然、原著は良書であり、Go言語を学ぶ者全てにとってバイブルであり続けるだろう。

    本書は待望の日本語版という事であるが、脚注に訳注がいくつかあるものの、本文には意訳が全くない。技術本としては正しい姿勢であり、内容もほぼ完全に正確である。英語を読めない人にはお勧めであるが、日本語としては若干読みづらいものになっている。

    正確さを追及するか、読みやすさを求めるか。もどかしいところではあるが、個人的には、日本語版ではもう少し日本語としての読みやすさが欲しかった。
    演習問題が難しいのが難点ですが、Go言語をしっかり学ぶ一冊としては、現在出版されている本では一番だと思います。

    他の言語をすでに知っていて新たな言語としてGo言語を学びたい方、Go言語でコードを書いたことのある方(A Tour of Goをやり終えた程度の知識で十分)にはオススメできます。
    一方で、一番初めのプログラミング言語としてGoをこの本で学ぶのは難しいと思いますので、他の本をあたるか、他の言語にするのがいいです。
    Go言語を最初の言語として選ぶ人は少ないとは思いますが笑
    業務レベルでGoを利用する方ならば習得しておいた方が良いと思われる言語仕様について解説されています。
    趣味で捨てコード前提でちょっとしたツールを書くレベルならば別の書籍の方が良いのかもしれません。
    訳者のリポジトリ(YoshikiShibata/gpl)にて回答のサンプルが確認できます。
     
    人気 5位
     
    本書の内容
    Go言語による新時代のコンピュータシステム入門

    いつも開発に使っている言語やライブラリの裏側は、いったいどうなっているの? システムプログラミングの世界を知りたいと思ったら、やっぱりC/C++のコードを読むしかないのだろうか……。
    そんなことはありません! 低レイヤはOSの世界。いまなら、さまざまなOSで動作するプログラムをシンプルに記述できるGo言語があります。 本書では、Go言語の実装を掘り下げたり、さまざまなライブラリが利用しているコンピュータシステムの基本的な概念を学びながら、アプリケーション開発者の視点で低レイヤの仕組みを学んでいきます。
    2016年9月から2017年8月にかけてアスキーjpの「プログラミング+」コーナーで連載された大好評のWebコンテンツを、さらにわかりやすく紙版の書籍として編纂、発売するものです。連載では扱えなかったOSにおける時刻・タイマー、およびセキュリティ関連の情報を加筆。豊富なイラストも全面的に改訂のうえ収録しています。
     
    内容サンプル
     
    User Voice
    システムプログラミングというと難しそうなイメージがありますが、この書籍は言語仕様がシンプルなGo言語を使って分かりやすく説明されています。

    私自身スクリプト言語の経験しかありませんでしたが、興味をそそられる内容を非常に読みやすく解説されているため、多少の難しさはありましたがワクワクしながら読み進められました。
    内容についてとても満足していますが、欲を言えば後半の章が駆け足気味に書かれていたので、もっと掘り下げた内容の続編もしくは改訂版が出ることを期待しています。

    あとこの本はASCII.jpの同名の連載を本にしたものなので、購入を検討されている方は、こちらを確認してから購入されると間違いがないと思います。
    http://ascii.jp/elem/000/001/235/1235262/
    Goの並列処理を勉強したくて買いました。複数の章に分かれてそれなりに詳しく説明されており、サンプルソースでイメージを掴めるような構成になっています。
    初心者には少々難しい感じがしましたが、Goを深く知りたい方にはお勧めと思いました。
    OSの根本で何が起きてるか、go がそれをどうやって抽象化しているのかがよくわかる。
    それに加えて、IOや並列処理の扱いについても広範に書かれているため、goに依らず一つ上のプログラ厶を書くための道標になる。
    14章の内容だけで買う価値がある。
     
    人気 6位
     
    本書の内容
    (概要)
    注目のプログラミング言語Goを習得するメリットはいくつかあります。シンプルな言語設計のため学習しやすく,整理されたコーディング規約によりチーム開発で運用しやすいこと。マルチプラットフォームに対応し,さまざまな環境へのツールをつくるときに有用であること。インフラ部門のスループットの重い作業の処理速度を並列実行により改善できること,などが挙げられます。Cなどの軽量言語やLL言語(Ruby/Perl/Pythonなど)を使っているのであれば,Go言語を利用しそのメリットを享受できるでしょう。本書で紹介するTipsや利用方法を参考にすれば,Go言語を適材適所で利用するための勘所をつかむことができます。

    (こんな方におすすめ)
    ・Go言語を使ってみたい方
    ・Go言語に携わることなった方

    (目次)
    第1章 Goによるチーム開発のはじめ方とコードを書く上での心得(松木雅幸)

    第2章 マルチプラットフォームで動作する社内ツールのつくり方Windows(mattn)

    第3章 実用的なアプリケーションを作るために(藤原俊一郎)

    第4章 コマンドラインツールを作る(中島大一)

    第5章 The Dark Arts Of Reflection(牧 大輔)

    第6章 Goのテストに関するツールセット(鈴木健太)
     
    内容サンプル
     
    User Voice
    Go歴1年のものです。

    Tour Of Goを一通りやった後、次に読むべき本。
    Tour Of Goは文法や基本的なライブラリの使い方を学べるが、
    実際にアプリケーションを書くとなると色々な疑問が生じます。
    ・どのライブラリを使うべきか(AwesomeGoには同じようなものが沢山あって迷う)
    ・エディタとGo toolsとの連携って?
    ・mapを使うべきかStructを定義すべきか
    ・テストのお作法は?
    ・エラーハンドリングはどうすべき?
    ・インターフェース、継承はどこまで使えるの?
    ・....

    これらを逐一Webで調べるとなると時間もかかるし古い・信頼できない情報も多い。
    自分なりの型が出来上がるまでに結構な時間がかかる。
    本書はこのような入門者が実際に本格的なコードを書く段階で、
    浪費してしまいがちな時間を節約とういかショートカット可能な良書だと思います。

    私の場合はこの本がまだなかったころにGoをやりはじめ、
    数ヶ月かけていろんなサイトを見まくって徐々に身につけていきました。
    その苦労して身につけたノウハウが本書には、惜しみなく書かれています。
    1年前に読みたかった。。

    おすすめです。
    Go言語に置ける便利なツール(標準や外部ライブラリ含む)を紹介する本です。
    内容はディレクトリ構成やテストや並列処理の書き方にまで及びます。

    イメージとしては https://www.amazon.co.jp/dp/B00G9QIN58 に近い本でした。
    golangにとってこれから開発者が増えるだろうと思われるこのタイミングでこういった本が出るのは本当に素晴らしいことだと思います。
    もう既にGoに入ってはGoに従っているGoファンは、いますぐ買っても、むしろいますぐ買うべきな本です。多分これまで引っかかったところに頷けるだけでなく、これから引っかかるであろうところもいま現在のコミュニティ的ベストプラクティスを含めてよく書かれています。著者がまた豪華で、書いている内容も特徴的なものが多くてニンマリしてしまいました。なによりGopher君ほんとかわいいです。
     
    人気 7位
     
    本書の内容
    Goプログラミングについて一歩踏み込んだプロユースの解説書。
    読者はシンプルなコードを書きながら、実運用アプリケーションの開発で使うスキルとテクニックを学ぶことができます。
    本書のサンプルプログラムはどれもシンプルですがとても実践的です。
    拡張性、並行処理、高可用性といったエンタープライズアプリケーションの開発で直面する現実的な問題に対するソリューションが含まれています。
    本書を読めば、実際の業務に必要な技能――Goによる開発手法および関連技術の使い方――をマスターし、ツールやプログラムの開発スキルを迅速かつ簡単に向上できます。
    日本語版では、監訳者の鵜飼文敏氏による巻末付録「Goらしいコードの書き方」を収録しました。
     
    内容サンプル
     
    User Voice
    内容はGoの基本的な言語仕様を理解していることを前提で記載されています。
    (※そのためか環境構築は末尾の「付録A」に記載)
    ただし、初心者でも他言語の経験者であれば読み進められると思います。

    下記項目を学べます:
    ・認証を備えたチャットアプリの作成でHTTP,WebSocket,OAuthの基礎
    ・マッシュアップ:Google Place, Goole Map, TwitterストリーミングAPIなどからデータを取得し、加工したデータの公開APIの作成
    (REST形式でCORS(Cross-Origin Resource Sharing)にも対応したAPIの公開方法から取得結果をWebでグラフィカルに表示活用するまで)
    ・mongoDB,NSQなどのミドルウェアとの連携
    ・コマンドラインツールで標準入出力を橋渡した複数連携までの応用や、デーモンツールの作成方法

    環境:
    ・作業環境:mac,linuxでの前提で記されている
    ・必須:git, (homebrew)
    ・章の途中で使用:mongoDB,NSQ

    読み進めていくことでGo言語には独自の慣用表現があり、その癖をつかむことで強力でコンパクトなコードが書ける事がわかってくる。(特に並行処理をシンプルに記述できる)
    利用するAPI、パッケージもサービスが大きなもの、コミュニティでバグフィックスや更新が活発なものをチョイスし、アジャイル開発やテスト駆動開発で実装をすすめるといった作業の実践における基本は抑えている。
    内容はWeb関連とコマンドラインツール作成での基本項目は抑えている。また、新たにサービスを作り上げる際、各システムのコンポーネントをマイクロサービス化し、将来的にスケーリングや耐障害性を考慮した柔軟な構成を作るノウハウについても軽く触れている。
    以上の点を踏まえ、各章の技術を応用し、Go言語による独自サービスのアーキテクチャを構想する上での礎となりうる参考書だと感じた。

    注意事項:
    記載されているソースコードは一部が省略されていたり、バグがあったりで、紙面のみですすめる場合は注意が必要だが、基本的にコンパイラのエラーメッセージを追えば解決できるレベル。
    ※(例)紙面4章 bighuge.goは存在しないjsonキーを参照する場合にメモリセグメントエラーが起こる。
    ※2章-P42:gomniauthを使用:mac環境では、依存ライブラリは右記のコマンドで解決した。: brew install bazaar
    筆者がWeb(Github)で公開してる全てのソースコードは、bugfixしたり機能改善されたものに刷新されている。

    記載されている概要は以下の様です。

    --------------------------------------------
    1章.WebSocketを使ったチャットアプリケーション

    ・net/httpパッケージで簡易Webサーバの実装。
    ・テキスト、html用のテンプレートの使用によるコンテンツの分離。
     -> text/template テキスト向け
     -> html/template html向け、データ挿入時にコンテキスト認識をする。不正スクリプト埋め込み回避やエンコード処理(エスケープ)が行われる
    ・sync.Onceによる一度だけの実行。
    ・ユーザが作成した構造体にServerHTTPメソッドを実装してhttp.Handler型のインタフェースに適合させHTTPリクエストを処理できるようにする。
    ・Goプログラムのビルドと実行の方法。
    ・サードパーティ・オープンソースのwebsocketを利用。(go getでパッケージ取得)
    ・goroutineによる並行化と、goroutine間で安全にメッセージパッシングするチャネルによる情報共有。
    ・defer文による関数終了時呼び出し。
    ・select文のcase節は同時実行されない再入可能な性質の利用。
    ・コマンドライン引数から値を取得し、サーバの設定を動的に指定する実装例。
    ・ログトレース用の自作パッケージの作成とインポート:インタフェースの定義と実装を踏まえ処理の追加。
    ・公開してない構造体の型をユーザに返す事ができ、ユーザは型について関知しないが、その型で公開されているインタフェースに基づいて操作できる。
    ・TDD(Test Driven Development)に準じたユニットテストの簡単な実装例と実行。 (go test)。

    --------------------------------------------
    2章.認証機能の追加
    1章で作成したチャットアプリを、Facebook,Github,Googleアカウントの認証を利用してログインできるように機能追加。認証で得たユーザ名でチャットできるようになる。

    ・Decoratorパターンで、http.Handler型をラップし複数のハンドラを指定順に処理できるように実装。
    ・OAuth2を使用した他サービス認証連携。(オープンソースgomniauthを使用)
    ※mac環境では、依存ライブラリは右記のコマンドで解決した:brew install bazaar
    ・Cookie,Base64,JSONを使った実装。
    ・htmlテンプレートに動的値を渡す。

    --------------------------------------------
    3章.プロフィール画像を追加する3つの方法
    1章で作成したチャットアプリの画面にユーザのアバター画像を以下の方法で取得する
    (1).認証サービスからアバターの画像を取得
    (2).GravaterというWebサービスでユーザのメールアドレスから画像を検索し取得
    (3).ユーザが作成したアプリに画像をアップロードして取得(Goで静的サーバ:ファイルサーバ)

    ・md5のハッシュの利用。
    ・例外処理:error.Newでエラーオブジェクトへのポインタを作成できる。以降はポインタで渡される。(Javaなどの例外は高いコストでオブジェクトが作られる)
    ・グローバル変数の利用。

    --------------------------------------------
    4章.ドメイン名を検索するコマンドラインツール
    指定したドメイン名とその候補を検索し、使用可能かチェックできるツールの作成。
    小さなコマンドラインツールを組み合わせて強力な処理を可能にする。
    ツール中で使用する外部サービス:
    (1)Big Huge Thesaurus(Webサービス)のAPIを利用(類語候補選出)
    (2)WHOISサーバ問い合わせを利用(使用可能domain照合)

    ・os.Getenvで環境変数から設定値の取得。
    ・コマンドライン(パイプ)を利用した複数のGoプログラム間での標準入出力の連携。
    ・Goプログラム内で標準入出力の連携。
    ・bashによる複数Goプログラムのビルド。

    --------------------------------------------
    5章.分散システムと柔軟なデータの処理
    TwitterのストリーミングAPIを使用して、ツイートのトレンドワード状況をリアルタイムに取得して集計するアプリの作成。
    各システムのコンポーネントをマイクロサービス化し将来的にスケーリングや耐障害性を考慮した構成を可能とする設計も提示。
    必須ミドルウェア環境
    ・mongoDB:ドキュメント指向DB
    ・NSQ:メッセージキュー
    ・上記各種Go用ドライバ
    ※各種環境構築はhomebrew(mac環境)などでインストール可能。
    ※ドライバも[go get]で取得可能。
    ※mongoDBはドキュメント指向でありテーブル定義も不要ですぐ使える。

    ・envdecodeパッケージの`env:"HOGE"`による環境変数からの設定値の取得。
    ・プログラムを穏やかに終了する手法。
     -> 問題発生時、必須処理を実行してから終了する実装方法
     -> シグナルのチャネルを使用する方法
     -> ctrl+cでの終了に対応した実装方法
    ・構造体struct{}{}はフィールドがないためメモリを全く消費しない。
     -> シグナルのチャネル送受信でメモリ消費削減に利用できる。
    ・mongoDB:イテレータでfindした結果を格納し順次アクセスすることによるメモリ消費削減。
    ・time.AfterFunc(int,func)でgoroutineによる一定時間後実行とcallback関数による実装。

    --------------------------------------------
    6章.REST形式でデータや機能を公開する
    5章で作成したTwitterツイート検索アプリのAPIを作成しブラウザで利用できるようにする。

    ・ハンドラ間でのデータ共有のためグローバル変数を操作するロック機構を備えたヘルパー関数群の実装方法。
    ・DRY(Don't Repeat Yourself)に基づく実装方法。
    ・CORS(cross-origin resource sharing)によるWebドメイン間のリソース共有。
    ・labix.org/v2/mgo/bsonパッケージによるjson,bsonのキー値取得方法。
    ・curlコマンドを使ったAPIテスト。
    ・JQuery等でグラフィカルなブラウザ表示用インタフェースの作成。(※ここはGoでない)

    --------------------------------------------
    7章.ランダムなおすすめを提示するWebサービス
    Google Place, Google Mapを使用した位置情報からおすすめスポットを表示するWebAPIの作成。
    ※html,js,cssなどを筆者のリポジトリから取得することでグラフィカルな表示結果が可能。
    公開するAPIを変更せず内部を改良したり駆動開発の例を踏まえて記載されている。

    ・runtime.GOMAXPROCS:CPU数の最大値指定。
    ・sync.WaitGroupによる複数goroutineの終了待ち制御。
    ・Goに用意されていない列挙の仕組みを実装。

    --------------------------------------------
    8章.バックアップの作成
    Goの標準ライブラリ(ioutil,osなど)を使用したバックアップツールの作成。
    コマンドラインで実行するツールと、デーモンで起動するプログラムを作成。
    ※ファイル変更検知用ハッシュ値の永続化に筆者独自のパッケージを使用

    ・filePath.Walkを使った全ファイル、フォルダへのアクセス。
    ・md5によるファイル内容変更検知。
    ・archive/zipによるファイル圧縮。

    --------------------------------------------
    付録A 安定した開発環境のためのベストプラクティス
    ・Goの実行環境、開発環境の構築
     ※最新版等のインストールは、Goの公式サイトのインストール手順もあるのでそちらも参照。

    付録B Goらしいコードの書き方
    ・各章で紹介されたGoによる実装を、よりGo言語ならではの実装に変更した例を紹介。

    以上。
    文章は分かりやすく、内容も段階的に進んでいく。複数の言語に慣れている人やGOの紹介記事を読んでいる人は大体わかるだろう。
    が(いつものことだ)初学者にはコケところが多い。例えば、

    ・ビルドエラー
    1章のclient.goプログラムを実行しようと、"go run client.go"とするとの下記エラー。
    ./client.go:17: undefined: room

    本にはroom.goを追加すれば解決する、と書いてあるが、書いてもエラーは消えない。
    →"go build client.go room.go main.go"と3つのファイルを指定してのビルドが必要(こう書くと当たり前ににみえるが、初心者だと暗黙的にroom.goがインポートされるのだろうと誤解する。またmain.goが必要との記載はない。)。なお、"go build main.go room.go client.go"でも動く。もちろん3つのファイルの順番を入れ替えても問題ないが、-oオプションで出力の名前を指定しないと、先頭のファイル名の実行ファイルが作られる。

    ・ビルドエラー2
    GOではソースコードの場所に決まりがある。これを知らないと最初のサンプルコード(client.go)からビルドできない。
    例えばソースコードでは
    import (
    ...略
    "github.com/matryer/goblueprints/chapter1/trace"
    )
    とインポートするが、ここでコケる。
    room.go:8:2: cannot find package "github.com/matryer/goblueprints/chapter1/trace" in any of:

    エラーにならないためには、GOPATHを定義した上で指定されたパスにソースをおく。
    $GOPATH/go/src/github.com/matryer/goblueprints/chapter1/trace

    実際には、
    $GOPATH/go/src/github.com/matryer/
    フォルダを作っておいて、そこでgit clone https://github.com/matryer/goblueprints.gitする

    ・公開サンプルコードが最終複雑板
    サンプルコードは公開されメンテされている!
    https://github.com/matryer/goblueprints
    https://github.com/oreilly-japan/go-programming-blueprints

    が、上記サイト(git)には実装の最終段階(おそらく)が載っているので、本では最初は簡単なはずのサンプルコードが突然複雑。本をなぞったり、ミニマム構成を試したければ、自分でコードを削りながら学習を続けることになる。
    tinypinsブランチでは少しはマシかも。
    https://github.com/matryer/goblueprints/tree/tinypins

    #その他、emacsにgo-modeを入れるために、24.5へのアップデート(homebrew)、MELPAのインストール(インストールしても使い方がわからなかった・・M-x package-installとか打った)、CASKを入れて捨てる(依存するソフトが大量にあるのは嫌い)で、いろいろハマったが、それは別の話題。

    #最後に。本には色んな話題が詰まっており、ハマりながら学ぶことが多いので悪い印象はありません。良い本と思います。
    webプログラマーです。最近新しくサービスを作ることになり開発言語としてgolangが選ばれたので、「体系的にgolangでのweb開発を学べる本を」と思い本書を購入しました。

    しかし本書は期待したものと少し違いました。
    その理由は、
    1. RDBを使ったチュートリアルがない
    2. 最初のwebsocketを使ったチュートリアルの置き去り感
    3. 認証のチュートリアルがTwitterアカウントを使った外部認証のみ
    です。
    Rails Tutorialのような「golangを使ったwebアプリケーション開発入門」を期待している方は注意が必要です。
    しかし、私の想定が違っていただけで、悪い本ではないのでこの評価にしました。

    ちなみに、4章の「ドメイン名を検索するコマンドラインツール」の章が一番参考になりました(webアプリケーション開発を銘打った本なのに)。
     
    人気 8位
     
    本書の内容
    大変ご好評いただきました前書を、最新のGo 1.4のバージョンに対応して改訂しました。
    前書と同様に、Googleが開発したプログラミング言語「Go」の基礎から応用までをわかりやすく解説した1冊です。
    Linux、Mac OS X、Windowsの各環境に対応しています。

    ※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
     
    内容サンプル
     
    User Voice
    Go言語を使って初めてアプリを作ろうと思った時に購入したのだが、これ1冊で全ての記述方法を使いこなすことができた。Go言語は、標準のライブラリがとても強力であり、それらの使い方もよく記述されている。なので、「こういう処理をしたい!」と思った時にも参考になった。
    20年ぶりにコンパイル言語を使う必要が出てきたので、Go言語を勉強することを決意。
    昔、C言語で開発していた頃を懐かしく思い出しながら、読み進めることができた。
    HTTP通信やWebサーバーの作り方が(簡単ではあるが)説明されているのも良い。

    ゴルーチンのチャネルは理解するのに時間を要した。
    また、インターフェースについては、その仕組みの説明はあるものの、どうしてそれを使うのか・・・という目的・利便性についての説明が不足していると感じた。
    最終章の「逆引きサンプル」は、説明を端折っているところがあるので、別途調べる必要あり。

    プログラミングの初心者がこの本に手を出しても、理解するのはおそらく無理です。
    ちょっとツッコミを入れましたが、私はこの本でGo言語の基礎を理解できたと思います。
    新しい言語でプログラミングがしたくなって、基本的なことを体系的に学ぶために読んだ。プログラミングの情報はWebを検索する方が詳しいことが分かるのだが、言語そのものについて体系だって知るには、やはり書籍の方がよい。本書も入門者向けにGo言語のコンセプトを含めてアウトラインを学ぶためのものだ。この本を読んだからといって本格的なプログラムが書けるわけではないが、WebAPIにアクセスして情報を取得して、それをファイルに書き出すくらいのことはできるようになる。データベースアクセスの説明がないのが残念だが、それら応用編は他の書籍に任せるということだろう。これから深く学ぶための出発としては良い本だと思う。
     
    人気 9位
     
    本書の内容
    本書は、Go言語でプログラミング言語のインタプリタを作りながら、プログラミング言語とそのインタプリタについて学ぶ書籍です。
    順を追ってコードを示し、C言語風の構文を持つ言語「Monkeyプログラミング言語」のインタプリタを組み立てていきます。字句解析器、構文解析器、評価器を作りながら、ソースコードをトークン列に、トークン列を抽象構文木に変換し、その抽象構文木を評価し実行する方法を学びます。さらに、インタプリタに新しいデータ型を導入し、組み込み関数を追加して、言語を拡張していきます。付録では構文マクロシステムについても扱います。
    本書では、Go言語標準のツールキット以外のサードパーティライブラリやフレームワークは使用せず、0行のコードからはじめて、完動するインタプリタができあがるところまでを体験します。その過程を通じて、プログラミング言語とそのインタプリタの仕組みを実践的に学ぶことができます。
     
    内容サンプル
     
    User Voice
    インタプリタの中で何が起こっているのか知る事ができる本です。

    本にある通り写経するとMonkey言語という下記のような言語が実際に動きました。

    let map = fn(arr, f) {
    let iter = fn(arr, accumulated) {
    if (len(arr) == 0) {
    accumulated
    } else {
    iter(rest(arr), push(accumulated, f(first(arr))));
    }
    };
    iter(arr, []);
    };

    翻訳もよく非常に丁寧な説明なのと、テスト駆動でインクリメンタルに実装されていくので、ほぼつまずく事なく完走できました。
    ただ他の方のレビューにある通り2章は内容が少し難しいのと、なぜか一部説明が雑なページがあるのでここは無理に理解しようとせずに読み進めてしまえばあとは苦労なく完読できると思います。

    私の場合は完成まで大体1日30〜1時間くらいで1ヵ月位かかりましたが(添付画像はgithubのコミットログです)、勢いよくやればもっと少ない時間で終われると思います。

    この本は「Writing An Interpreter In Go」という本の翻訳版で、すでに同じ作者の「Writing A Compiler In Go」という本が出版されているようです。こちらの日本語翻訳版も出版されることを期待しています。
    2章までは自分が何やってるかあんまりわからないかも。
    あくまで文の解析までなので。
    ただ、3章からはアウトプットがわかっているのでこう書いてくんだろうなと
    本の指針やコード内容が一致してきてさらにおもしろくなっていく

    要所要所でエンカレッジしてくれるのがよい、モチベーションにつながる

    3章-評価のReturnのとこはよく考えて追うと素晴らしいロジックだなと感動した
    木構造ってこんなうまく扱えるんだなぁ

    一旦、インタプリタを実装してその後に機能を追加するので
    今までやってきたことの復習が本を読み進めていればできる。
    それが4章からで、評価の部分をやっているとその前の構文解析どうやってたっけなというのが
    もう一度作っているインタプリタに解釈できるものを増やすことでおさらいが可能

    自分ですべて写経して進めたが、詰まるところもなかった。
    これは本書がテスト駆動で開発を進めているからだろう。
    テストでエラーが出ても、本書が間違っていることはないだろうと自分のコードに集中することができた
    インタプリタといった難解の部類のものを理解する上でこんなにもGo言語というものが合うのかと関心した。
    今までCで書かれていたアルゴリズム系の本もGo言語で書かれれば良いのにと思う程。

    一番良かったのが、テスト駆動型で解説が進む為、C言語で特有のいつの間にか動かないコードになっていて、
    前のページを確認しながらコードの誤りを探す手間がほとんどなく、本文やコードにより集中出来た。

    Go言語は仕様がシンプルなので、サンプルコード中の「この書き方何だっけ?」という迷いがほとんど発生しない。

    他に良かった個所として、著者がどこが難所で自身が理解するまでに何度も読んだという個所が明記されている為、イメージしにくい個所(Pratt構文解析あたり)は初見では理解できなくても良いんだと安心して先に進めることが出来る。
     
    人気 10位
     
    本書の内容
    シンプルな言語仕様と手厚い並行処理機能で多くのプログラマの心を捉えるGo言語。いまではサーバーサイドでのプログラミングやコンテナツールの実装言語など、さまざまな分野で活用されています。
    本書は、Goの並行処理の設計哲学、言語の機能、また実際のプログラミングテクニックや並行処理の使い方、システムに導入する際のベストプラクティスとパターン、その内部構造までを簡潔にまとめた書籍です。
    普段からGoでプログラミングをしているプログラマや、並行処理について学習したいプログラマが、新たな知識を身につけるのに良い一冊となるでしょう。
     
    内容サンプル
     
    User Voice
    会社の輪講で3ヶ月前に読み始め、ほぼ最後まで辿り着いたので再レビューします。今回は前回より遥かによく読めました。

    全体的に読んでスルスルわかるのは並行処理に慣れてる人だけで、頭の中でコードを動かすのは結構しんどいですし、解説に不足がある箇所も幾つかありました。輪講の時わかりづらかった部分を上司に教わりながら読みましたが、完全に独学だと難しい箇所が多かった気がします。
    ただ、例がたくさんあるので、一つ一つの例を理解しながらじっくり読んでいく内に、5章の時点でかなりゴルーチンとチャネルを使ったコードが読めるようになってきたという感触がありました。重要なテクニックは繰り返し登場するので、すぐにはわからなくとも繰り返し読んでる内にわかってくると思います。
    or doneチャネル、チャネルのチャネル、及びbridgeチャネル等、上司曰くアンチパターンらしいものが幾つかあるので要注意です。
    また、おそらく原著者が勘違いをしていた箇所を訳者が訂正していたり、情報が足りていない箇所を補足していたりしたので訳注を読むことを強く推奨します。

    類書がなく、また類書を誰かが書くとしてもこの本の模倣にならざるを得ないのでは、と感じる充実度なので、★5評価は変わらずです。

    以下は2020年1月に書いたレビューです。

    並行処理プログラミングの経験は一切なし、Goはゴルーチン・チャネルを使わないプログラミングを2週間ほど、ゴルーチンとチャネルの知識はA Tour of Goのみ
    という予備知識で読みはじめました。
    3章まではかなり丁寧に解説していて、頑張れば着いて行けましたが、
    4章の実践的な並行処理テクニックを多く紹介している箇所で、理解に時間がかかるし理解出来たとしてもモノになる気がしないなと思い、そこで挫折。
    しかし完全に自分の並行処理レベルの問題ですし、全体的に丁寧かつ詳しく解説してるので、3章を再読して並行処理の経験を積んでから出直そう、と思いました。
    3章まででも読む価値は十分あるので、並行処理・Go初心者の方でもそこまでだけでも読むことをおすすめします。ゴルーチンとチャネル辺りの謎が色々解けます。
    並行処理全般、他言語の並行処理とは異なるゴルーチンについて知りたかった私にとって、1〜3章までで丁寧に説明してくれた上、パターンは使用ケースを経て、最後にゴルーチンの背景にあるワークスティーリングという戦略をこれでもかと丁寧に説明してくれたこの本に対して感動した。

    本書のおかげでGo言語が更に好きになった。

    普段、平行処理を書かない私にとって、4章の並行処理パターンを理解するのは難解だと感じたけれども、
    これは何度も反復して習得したい。
    サンプルコードも豊富なので、手を動かしながら読み進めることでGo言語での並行処理が理解しやすいです。
    そこまでページ数があるわけではないので、簡単に読めるのもいいです。
     
    人気 11位
     
    本書の内容

    【本書の内容】
    比較的小さいけれど、どのようなスキルのプログラマ(含む予備軍)にとっても有用で有益なプログラミング言語がGoです。
    本書は2009年に発表され、以来、コンパクトさとシンプルさを残したまま、さまざまなスキルをもったプログラマに愛される言語として成長してきたGo言語を意のままに操れるレベルを目指せる学習書です。
    ビギナーにとっても、Webにある実行環境を使用することで掲載されたサンプルプログラムや、練習問題を実行できるよう配慮されていますし、スクリプト言語を使った経験があれば、ウォーミングアップは終わっています。スクラッチやエクセルのフォーミュラを使ったことがあったりHTMLを書いた経験があれば、本格的なプログラミング言語の第一歩を踏み出す格好のきっかけになるはずです。
    もちろん、それなりの忍耐とか努力は必要ですが、火星探査機を構築しながら(!?)Go言語を完全習得できる、最初の1冊となるでしょう。

    【本書のポイント】
    ・特定のテーマごとに学習単元をユニット化
    ・ユニットはさらに特定のトピックを扱うレッスンに分割
    ・レッスン後はクイックチェック
    ・さらに練習問題を配置して知識を根付かせ応用力を
    ・問題に対する模範解答も完備
    ・ローカルに開発環境を持っていなくても学習できる
    ・GitHub上にも最新の解答例を掲載

    【読者が得られること】
    ・Go言語の構文を理解できる
    ・Go言語を使ったプログラミング
    ・特色とメリットを活かした開発技法の習得

    ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
    ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
    ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
    ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

    (翔泳社)

     
    内容サンプル
     
    User Voice
    新し目の Go の入門書を探していたところ原書の方が評判がよかったので買った。
    Kindle 版を買って Mac で読んでいるが、画面のサイズに合わせて表示してくれるのでとても見やすくて良い。
    ここまで Kindle 版に力を入れてくれたら Kindle 版を買っても良いと思った。
    内容的には初心者向けで入門書として優秀だと思いました。
    他言語経験者にはもう少し説明を省き詳細を詰め込んでくれるとありがたいところです。
    Goの入門書としては割と久しぶりの新刊ですが、これが一番読みやすかったです。
    かなり初歩的な所から順々に知識を積み上げて行くスタイルで、ページを行ったり来たりする読み方が不要なので、
    サンプルコードを順番に写経しているだけで、それなりに知識が定着します。
    かなり初歩的な部分から順に解説している。
    逆にあまり踏み込んだ解説は無い。
    踏み込んでいない部分については、最後にある程度一覧としてまとめられている。
    舞台設定めいたものにこだわりがあるようで、その部分が冗長に感じるかも知れない。
     
    人気 12位
     
    本書の内容
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

    FileMakerによるデータベース設計や運用で問題を抱えている、行き詰まりを感じている、効率が低下して困っている--。本書はそのような問題の解決策、防止策を網羅。利用頻度が高い顧客・販売・在庫管理データベースなどを例に、基本的なテクニックや問題解決方法、陥りやすいミスを防ぐ方法を開発のプロが紹介します。また、iPadやiPhoneを使ったモバイルデータベースの開発手法や、FileMakerチューンアップの手法、処理速度の向上、AWSを利用したクラウドでのデータベース設計方法などのさまざまなテクニックも多数掲載しました。バージョン13対応。
     
    内容サンプル
     
    User Voice
    まさにプロが現場で積み重ねてきた知恵が惜しげも無く書かれています。
    書かれていることには、なぜそうした方がいいのか、その方法の欠点は?など、分かりやすく説明されているので経験の浅い方にはよい指針となると思います。
    小手先の工夫ではなく運用に耐えられる作りはどうすればいいのかに迷っているなら、ぜひ手元におくことをおススメします。
    今までのマニュアル本では、初級編か高度なシステムをとらえたものがほとんどでしたが、ちょうどその中間で悩んでいる私などにとって非常に助かるガイドです。このソフトは実はとても使い易いものだったんだと思えるようになりました。
    分かりやすい、使える方法が。満載です。実践的な内容で書かれており、ソリューションの開発を始めて、いろいろな壁にぶつかっている人、スキルアップして、さらに優れたソリューション開発を目指す人には、本当に役立つと思います。
     
    人気 13位
    発売日 2016/08/27
    (3.5)
    Amazon 800円 Kindle 3,410円
     
    本書の内容
    Go言語は、Googleが開発したプログラミング言語であり、構文がシンプル、コンパイルが速い、並行処理をサポートしている等々の特徴を有しています。
    本書は、Go言語の最新バージョン1.6に対応しており、基本的な構文から、○×ゲームなどWebアプリの作成、Raspberry Piの操作まで幅広く解説しています。

    本書は、Go言語編とRaspberry Pi編で構成されています。

    ◆Go言語編
    Go言語の構文や並行処理などについて、Webアプリケーションを例に説明します。
    スライスやdeferなどGo言語特有の文法や標準のWebサーバライブラリなども説明していますので、Go言語を初めて使用する方やWebアプリケーションを作成したい方にお勧めです。
    また、本編の最後に、Go言語のツールやGoogle App Engineについても紹介しています。

    ◆Raspberry Pi編
    実際にGo言語で作成したプログラムで、Raspberry Pi上のGPIOに接続したLEDを点滅させたり温度計からデータを取得します。
    そして最後に、Raspberry Piとインターネット上のサービスを連携する「IoT」の実装について説明します。

    ※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
     
    内容サンプル
     
    User Voice
    Go言語の簡単に様々なOS用のネイティブ実行ファイルが作れる所に一目惚れしてNode.jsから一部乗り換える為に触っている。
    例えばNode.jsではファイル間の繋がりをrequireで表現出来るのだが、
    Golangではイマイチ勝手がわからずコピペコードだらけになり苦戦していた。

    ディレクトリ構造やパッケージ回りの記述が欲しいと、
    書店へ足を運び何冊かパラパラめくって気に入ったので購入。

    パッケージとディレクトリの関係、エクスポートの仕様。
    Vendor回りの仕様を平易な文章と図で解説してあるので体系的に情報を得たい人には刺さる。
    これで得た知識を元にネット等で検索を行いながらそれなりに書けるようになったので、元手分は回収出来たと思う。

    中盤以降の異様なラズパイ推しはあまり興味ないので序盤だけ読んでリリースしたが、
    IoTメインをプッシュする書籍なのでハマる人もいるかも知れない。
    変数や関数の解説などプログラム経験者にとっては当たり前の内容が書いてあったり、クロージャなど初心者は置き去りなキーワードがいきなり出てきたりするため、どのレベルの読者層を想定しているのかがいまいちわからない。
    また、経験者の目線で考えて、非常に分かりづらい内容が多い。
     
    人気 14位
    発売日 2012/11/21
    (3.8)
    Amazon 300円
     
    本書の内容
    本書は、Google製のオープンソースのプログラミング「Go」の入門書です。中級者(他のプログラミング言語を使ったことがあるレベル)を対象とし、開発環境の構築やプログラミングの記述方法、文法などの基礎から応用までをわかりやすく解説しています。また、C言語などの他の言語との違いについても述べています。なお、応用については、最後の章で具体的なサンプルを掲載しています。
     
    内容サンプル
     
    User Voice
    "基礎からわかる Go言語"のタイトルとおり、Go言語を利用する上での必要な事柄が簡潔に分かりやすくまとまっていると思います。
    他のプログラミング言語を利用している人がGo言語の入門にあたり参照するのに適した内容であると思います。

    基本的な事柄+巻末の逆引きという構成で、Go言語の特徴は十分に把握できる書籍であると思います。

    しかし、http://go-tour-jp.appspot.com/ を触る時間のある方にとっては必要かどうか???
    入門書としてわかりやすい本だと思いました。本のフォントが小さいのでやや読みにくいです。その代わりコンパクトなサイズの本なので持ち運びやすく、気が向いた時に読むことができます。たくさんあるコラムには、有益な情報が書かれていて役立ちました。Go本家のWebサイトにたくさんの情報がありますが、まずは手軽にGoの基礎を学ぶには良い本だと思います。
    後半部分は逆引きとなっていて、具体的な使い方ががわかりやすく示されています。

    Go言語のの基本を学ぶにはいい本ではないかと思いますが、一点だけ、配列・スライス・マップの章は言葉足らずでどうしてこうなるのかの説明が不足してしまい、結局ネットの情報に頼ることになるかと思います。それだけが残念でした。
     
    人気 15位
     
    本書の内容
     
    内容サンプル
     
    User Voice
    Go 言語をざっとしりたいという方には,いいでしょう。
    私には大変良かったです。1時間ほどで,Go 言語の概要が理解できました。
    たしかに古い内容ですが,Go 言語の基本は,これで十分かと思います。
    あとは,公式ページを読む,さらに,厚めの本で確認すればいいかと思います。
    著者若いな〜。(と内容とは関係ないところで感心してないで)

    まだまだ情報が少ないGO言語の入門書。ある程度プログラミング経験のある人だったらかなり物足りなさを感じる内容かなー。まあ、GO言語ってどんなの??を知りたい人なら半日くらいで読めてしまう内容。『はじめての』というタイトルの通り、とてもわかりやすいものではあるのだけど。

    まだまだ利用者が少ない言語でもありますし、プログラミング初心者が今「GO言語」に手をつけるのは早いと思う。とすると興味を持つのはきっとプログラム経験者・・・、でもそうだとすると内容が薄い。微妙な立ち位置の本ではありました。
    Goについて簡単に読んでみたくて買いました。
    if とかswitchとか、型とか、基本的な書き方を抑えてあると思います。
    初期に出たままになっているというのと、誤植が多いので、そのままでは動かないコートが多かったです。
    ただ、安くなっているので、それらを前提に読むなら、そんなに悪くないと思います。
    古いが故に、調べてみると、Goが初期に比べてよくなっていることが感じられます。
     
    人気 16位
     
    本書の内容
    急激に普及しているGoogle社開発の言語Goのプログラミングに必要な100+基本コード&イディオム集。
     
    内容サンプル
     
    User Voice
    初めに書いておくと、ある程度Go言語を知っていないと、この本は完読できません。
    またこの本を完読してもGo言語でプログラミングはできません。
    よくある初心者向けチュートリアル本ではなく、言うならばC++での「プログラミング言語 C++ 第3版」のボリュームの減ったGo言語版、と捉えることができるでしょう。

    Go言語の言語仕様の哲学を学ぶことができ、その意味で非常に興味深い本です。
    Go言語は流石最近の言語とあって、これまでのいろいろな言語の長所をふんだんに取り入れていることがこの本からわかります。
    CやJavaだけでなく、SmalltalkやErlangなどとの比較は興味深いです。
    また、なぜ
    for i :=0;i < 10;i++{foo := a[i]}ではなく、for i,foo := range a[1:10]を使うべきなのかJavaとの比較も興味深いです。

    文法とイディオムに重きを置いている本ですので、gofmtコマンドでソースファイルを整形してくれる、といったより実践的なことは一切書かれていません。
    それでも言語仕様を楽しんだり、より深くGo言語を知ったりするうえで、有益な1冊です。

    もう一つ付け加えておくと、日本語訳者は原書の内容にもいろいろ関わっているようです。とはいえ、日本語訳としてどうなんだろうか、そのまま英語から訳しただけではないかと思える、理解に苦労する文章も散在しています、ご参考まで。
     
    人気 17位
     
    本書の内容
     
    内容サンプル
     
    User Voice
     

    Go言語 新書一覧

     
    本書の内容
     
    内容サンプル
     
    User Voice
     
    発売日 2020/10/11
    Kindle 936円
     
    本書の内容
     
    内容サンプル
     
    User Voice
     
     
    本書の内容
    データ構造とアルゴリズムGoの実践、トピック自体は複雑ですが、読みやすく理解しやすいように設計されています。アルゴリズムは、ソフトウェアプログラムがデータ構造を操作するために使用する手順です。明確で単純なサンプルプログラムに加えて、プログラムは、データ構造がどのように見え、どのように動作するかをグラフィック形式で示します。基本的なつのデータ構造をすべてイラストで解説,誌面がフルカラーなので、図の「動き」がわかりやすい,あなたはそれを簡単に、速く、うまく学びます。
     
    内容サンプル
     
    User Voice
     
     
    本書の内容
     
    内容サンプル
     
    User Voice
     
     
    本書の内容
    本書はYouTube APIとFirebase Authenticationを使ったWebアプリ開発チュートリアルです。動画検索アプリを題材に、NuxtとGoを使ったアプリ開発を実践することができます。
     
    内容サンプル
     
    User Voice
     
     
    本書の内容
    本書はYouTube APIとFirebase Authenticationを使ったWebアプリ開発チュートリアルです。動画検索アプリを題材に、NuxtとGoを使ったアプリ開発を実践することができます。
    【目次】
    第1章 開発環境について
    1.1 筆者の開発環境
    第2章 YouTube Data APIを有効化する
    2.1 GCPプロジェクトを作成する
    2.2 API を有効化する
    2.3 API キーを取得する
    2.4 API の割り当てについて
    第3章 Go&Nuxtプロジェクトを作成する
    3.1 Goプロジェクトを作成する
    3.2 Nuxtプロジェクトを作成する
    第4章 トップページを作成する
    4.1 人気の動画を取得するAPI
    4.2 人気の動画取得のアクションを作成する
    4.3 人気の動画をAPIから取得して表示する
    第5章 動画再生ページを作成する
    5.1 Echo のコンテキストを使用する
    5.2 動画の詳細情報を取得するAPI を作成する
    5.3 動画再生ページを表示する
    5.4 関連動画の取得API を作成する
    5.5 関連動画を表示する
    第6章 検索機能を追加する
    6.1 動画検索API を作成する
    6.2 検索結果を表示する
    第7章 Firebaseを使ってユーザー認証機能を作る
    7.1 Firebase Authentication を設定する
    7.2 Firebase を使ったアカウント管理機能を実装する
    7.3 ログイン機能を追加する
    7.4 ログアウト機能を追加する
    7.5 ログアウトリンクを追加する
    第8章 DBを用意する
    8.1 Docker を使ってDB を用意する
    8.2 Docker のコマンドを確認する
    第9章 お気に入り追加・削除機能を追加する
    9.1 お気に入り追加・削除のAPI を作成する
    9.2 動画再生ページにお気に入りアイコンを追加する
    第10章 お気に入り一覧ページを作成する
    10.1 お気に入りの動画一覧を取得するAPI を作成する
    10.2 お気に入り一覧を表示する
    第11章 リフレッシュトークンを使ってアクセストークンを再取得する
    11.1 アクセストークンをデコードしてみる
    11.2 リトライ用のメソッドを追加する
    11.3 トークンを再取得する
    11.4 トークン再取得処理の動作を確認する
     
    内容サンプル
     
    User Voice
     
     
    本書の内容
    (概要)

    2016年に刊行し好評いただいた「みんなのGo言語」の改訂版です。全章を最新の内容にアップデートし、「第7章 データベースの扱い方」を新規で書き下ろします。ますます注目の集まるGoを現場で使うためのノウハウが1冊に凝縮されています!


    (こんな方におすすめ)

    ・Go言語を使ってみたい方

    ・Go言語に携わることなった方


    (目次)

    第1章Goによるチーム開発のはじめ方とコードを書く上での心得(松木雅幸)

  • 1.1 開発環境の構築

  • 1.2 エディタと開発環境

  • 1.3 Goをはじめる

  • 1.4 Goらしいコードを書く

  • 第2章マルチプラットフォームで動作する社内ツールのつくり方(mattn)

  • 2.1 Goで社内ツールをつくる理由

  • 2.2 守るべき暗黙のルール

  • 2.3 TUIもWindowsで動かしたい

  • 2.4 OS固有の処理への対応

  • 2.5 がんばるよりもまわりのツールに頼る

  • 2.6 シングルバイナリにこだわる

  • 2.7 Windowsアプリケーションの作成

  • 2.8 設定ファイルの取り扱い

  • 2.9 社内ツールのその先に

  • 第3章実用的なアプリケーションを作るために(藤原俊一郎)

  • 3.1 はじめに

  • 3.2 バージョン管理

  • 3.3 効率的なI/O処理

  • 3.4 乱数を扱う

  • 3.5 人間が扱いやすい形式の数値

  • 3.6 Goから外部コマンドを実行する

  • 3.7 タイムアウトする

  • 3.8 シグナルを扱う

  • 3.9 goroutineの停止

  • 第4章コマンドラインツールを作る(中島大一/上田拓也)

  • 4.1 なぜGoでCLIツールを書くのか?

  • 4.2 デザイン

  • 4.3 flagパッケージ

  • 4.4 サブコマンドを持ったCLIツール

  • 4.5 使いやすく,メンテナンスしやすいツール

  • 第5章The Dark Arts Of Reflection(牧 大輔)

  • 5.1 動的な型の判別

  • 5.2 reflect パッケージ

  • 5.3 reflect の利用例

  • 5.4 reflect のパフォーマンスとまとめ

  • 第6章Goのテストに関するツールセット(鈴木健太)

  • 6.1 Goにおけるテストのあり方

  • 6.2 testingパッケージ入門

  • 6.3 ベンチマーク入門

  • 6.4 テストの実践的なテクニック

  • 第7章データベースの扱い方(mattn)

  • 7.1 Goにおけるデータベースの取り扱い

  • 7.2 database/sqlを使ってデータベースに接続する

  • 7.3 Exec命令の実行

  • 7.4 Query命令の実行

  • 7.5 Goにおけるデータベースの型

  • 7.6 ORMを使ったデータベースの扱い方

  • 7.7 RESTサーバを作る
  •  
    内容サンプル
     
    User Voice
    入門書を終え、Go言語を実際どう使おうと考えたときに役立つ本だと思います。複数の方が各々専門のパートを説明しており、実践的かつ分かり易いです。
    歴戦のGoエンジニアがおそらく長い年月をかけて会得したGoの知見が詰まっている本です。
    ある程度Goに慣れてきた人に読むのをお勧めしたいです。
     
     
    本書の内容

    【本書の内容】
    比較的小さいけれど、どのようなスキルのプログラマ(含む予備軍)にとっても有用で有益なプログラミング言語がGoです。
    本書は2009年に発表され、以来、コンパクトさとシンプルさを残したまま、さまざまなスキルをもったプログラマに愛される言語として成長してきたGo言語を意のままに操れるレベルを目指せる学習書です。
    ビギナーにとっても、Webにある実行環境を使用することで掲載されたサンプルプログラムや、練習問題を実行できるよう配慮されていますし、スクリプト言語を使った経験があれば、ウォーミングアップは終わっています。スクラッチやエクセルのフォーミュラを使ったことがあったりHTMLを書いた経験があれば、本格的なプログラミング言語の第一歩を踏み出す格好のきっかけになるはずです。
    もちろん、それなりの忍耐とか努力は必要ですが、火星探査機を構築しながら(!?)Go言語を完全習得できる、最初の1冊となるでしょう。

    【本書のポイント】
    ・特定のテーマごとに学習単元をユニット化
    ・ユニットはさらに特定のトピックを扱うレッスンに分割
    ・レッスン後はクイックチェック
    ・さらに練習問題を配置して知識を根付かせ応用力を
    ・問題に対する模範解答も完備
    ・ローカルに開発環境を持っていなくても学習できる
    ・GitHub上にも最新の解答例を掲載

    【読者が得られること】
    ・Go言語の構文を理解できる
    ・Go言語を使ったプログラミング
    ・特色とメリットを活かした開発技法の習得

    ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
    ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
    ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
    ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

    (翔泳社)

     
    内容サンプル
     
    User Voice
    新し目の Go の入門書を探していたところ原書の方が評判がよかったので買った。
    Kindle 版を買って Mac で読んでいるが、画面のサイズに合わせて表示してくれるのでとても見やすくて良い。
    ここまで Kindle 版に力を入れてくれたら Kindle 版を買っても良いと思った。
    内容的には初心者向けで入門書として優秀だと思いました。
    他言語経験者にはもう少し説明を省き詳細を詰め込んでくれるとありがたいところです。
    Goの入門書としては割と久しぶりの新刊ですが、これが一番読みやすかったです。
    かなり初歩的な所から順々に知識を積み上げて行くスタイルで、ページを行ったり来たりする読み方が不要なので、
    サンプルコードを順番に写経しているだけで、それなりに知識が定着します。
    かなり初歩的な部分から順に解説している。
    逆にあまり踏み込んだ解説は無い。
    踏み込んでいない部分については、最後にある程度一覧としてまとめられている。
    舞台設定めいたものにこだわりがあるようで、その部分が冗長に感じるかも知れない。
     
     
    本書の内容
     
    内容サンプル
     
    User Voice
     

    Go言語 高評価のおすすめ本 ランキング

    人気 1位
     
    本書の内容
    (概要)

    2016年に刊行し好評いただいた「みんなのGo言語」の改訂版です。全章を最新の内容にアップデートし、「第7章 データベースの扱い方」を新規で書き下ろします。ますます注目の集まるGoを現場で使うためのノウハウが1冊に凝縮されています!


    (こんな方におすすめ)

    ・Go言語を使ってみたい方

    ・Go言語に携わることなった方


    (目次)

    第1章Goによるチーム開発のはじめ方とコードを書く上での心得(松木雅幸)

  • 1.1 開発環境の構築

  • 1.2 エディタと開発環境

  • 1.3 Goをはじめる

  • 1.4 Goらしいコードを書く

  • 第2章マルチプラットフォームで動作する社内ツールのつくり方(mattn)

  • 2.1 Goで社内ツールをつくる理由

  • 2.2 守るべき暗黙のルール

  • 2.3 TUIもWindowsで動かしたい

  • 2.4 OS固有の処理への対応

  • 2.5 がんばるよりもまわりのツールに頼る

  • 2.6 シングルバイナリにこだわる

  • 2.7 Windowsアプリケーションの作成

  • 2.8 設定ファイルの取り扱い

  • 2.9 社内ツールのその先に

  • 第3章実用的なアプリケーションを作るために(藤原俊一郎)

  • 3.1 はじめに

  • 3.2 バージョン管理

  • 3.3 効率的なI/O処理

  • 3.4 乱数を扱う

  • 3.5 人間が扱いやすい形式の数値

  • 3.6 Goから外部コマンドを実行する

  • 3.7 タイムアウトする

  • 3.8 シグナルを扱う

  • 3.9 goroutineの停止

  • 第4章コマンドラインツールを作る(中島大一/上田拓也)

  • 4.1 なぜGoでCLIツールを書くのか?

  • 4.2 デザイン

  • 4.3 flagパッケージ

  • 4.4 サブコマンドを持ったCLIツール

  • 4.5 使いやすく,メンテナンスしやすいツール

  • 第5章The Dark Arts Of Reflection(牧 大輔)

  • 5.1 動的な型の判別

  • 5.2 reflect パッケージ

  • 5.3 reflect の利用例

  • 5.4 reflect のパフォーマンスとまとめ

  • 第6章Goのテストに関するツールセット(鈴木健太)

  • 6.1 Goにおけるテストのあり方

  • 6.2 testingパッケージ入門

  • 6.3 ベンチマーク入門

  • 6.4 テストの実践的なテクニック

  • 第7章データベースの扱い方(mattn)

  • 7.1 Goにおけるデータベースの取り扱い

  • 7.2 database/sqlを使ってデータベースに接続する

  • 7.3 Exec命令の実行

  • 7.4 Query命令の実行

  • 7.5 Goにおけるデータベースの型

  • 7.6 ORMを使ったデータベースの扱い方

  • 7.7 RESTサーバを作る
  •  
    内容サンプル
     
    User Voice
    入門書を終え、Go言語を実際どう使おうと考えたときに役立つ本だと思います。複数の方が各々専門のパートを説明しており、実践的かつ分かり易いです。
    歴戦のGoエンジニアがおそらく長い年月をかけて会得したGoの知見が詰まっている本です。
    ある程度Goに慣れてきた人に読むのをお勧めしたいです。
     
    人気 2位
     
    本書の内容

    【本書の内容】
    比較的小さいけれど、どのようなスキルのプログラマ(含む予備軍)にとっても有用で有益なプログラミング言語がGoです。
    本書は2009年に発表され、以来、コンパクトさとシンプルさを残したまま、さまざまなスキルをもったプログラマに愛される言語として成長してきたGo言語を意のままに操れるレベルを目指せる学習書です。
    ビギナーにとっても、Webにある実行環境を使用することで掲載されたサンプルプログラムや、練習問題を実行できるよう配慮されていますし、スクリプト言語を使った経験があれば、ウォーミングアップは終わっています。スクラッチやエクセルのフォーミュラを使ったことがあったりHTMLを書いた経験があれば、本格的なプログラミング言語の第一歩を踏み出す格好のきっかけになるはずです。
    もちろん、それなりの忍耐とか努力は必要ですが、火星探査機を構築しながら(!?)Go言語を完全習得できる、最初の1冊となるでしょう。

    【本書のポイント】
    ・特定のテーマごとに学習単元をユニット化
    ・ユニットはさらに特定のトピックを扱うレッスンに分割
    ・レッスン後はクイックチェック
    ・さらに練習問題を配置して知識を根付かせ応用力を
    ・問題に対する模範解答も完備
    ・ローカルに開発環境を持っていなくても学習できる
    ・GitHub上にも最新の解答例を掲載

    【読者が得られること】
    ・Go言語の構文を理解できる
    ・Go言語を使ったプログラミング
    ・特色とメリットを活かした開発技法の習得

    ※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
    ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
    ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
    ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

    (翔泳社)

     
    内容サンプル
     
    User Voice
    新し目の Go の入門書を探していたところ原書の方が評判がよかったので買った。
    Kindle 版を買って Mac で読んでいるが、画面のサイズに合わせて表示してくれるのでとても見やすくて良い。
    ここまで Kindle 版に力を入れてくれたら Kindle 版を買っても良いと思った。
    内容的には初心者向けで入門書として優秀だと思いました。
    他言語経験者にはもう少し説明を省き詳細を詰め込んでくれるとありがたいところです。
    Goの入門書としては割と久しぶりの新刊ですが、これが一番読みやすかったです。
    かなり初歩的な所から順々に知識を積み上げて行くスタイルで、ページを行ったり来たりする読み方が不要なので、
    サンプルコードを順番に写経しているだけで、それなりに知識が定着します。
    かなり初歩的な部分から順に解説している。
    逆にあまり踏み込んだ解説は無い。
    踏み込んでいない部分については、最後にある程度一覧としてまとめられている。
    舞台設定めいたものにこだわりがあるようで、その部分が冗長に感じるかも知れない。
     

    Copyrights hogehoge