予約受付中:『Go 言語 100Tips』 [本]
私にとって21冊目となる技術書の翻訳本の予約受付が、Amazon.co.jpで行えるようになりました(カバーデザインはまだ確定していません)。

以下は、本書からの引用です。

Go言語100Tips 開発者にありがちな間違いへの対処法 (impress top gear)
- 出版社/メーカー: インプレス
- 発売日: 2023/08/08
- メディア: 単行本(ソフトカバー)
以下は、本書からの引用です。
推薦の言葉
Go 開発者が製品環境でコードに触れる前に必ず読むべき本です。『Effective Java』に相当するGoの本です。— Neeraj Shah, Nutanix
わかりやすく、効果的な例題。間違いがなぜどのように起こるのかを理解することで、コスト的に高くつく手痛い失敗を避けられます。— Giuseppe Maxia, VMware
Teiva Harsanyi は、実際に起こった問題や見逃しがちな問題を分類し、なぜそれらが起こるのかという微妙な違いがある世界まで掘り下げています。あなたが本書を持っていないのは、101個目の間違いとなるでしょう。— Anupam Sengupta, Red Hat
悪い習慣を見極めて、よい習慣を身に付けてください。文章は魅力的で、例題は適切であり、洞察は見事です。— Thad Meyer, LI-COR Biosciences
目次
第 1 章「Go:学習は容易、習得は難しい」
第 2 章「コードとプロジェクト構成」
第 3 章「データ型」
第 4 章「制御構造」
第 5 章「文字列」
第 6 章「関数とメソッド」
第 7 章「エラー管理」
第 8 章「並行処理:基本」
第 9 章「並行処理:実践」
第 10 章「標準ライブラリ」
第 11 章「テスト」
第 12 章「最適化」
本書について
『Go 言語100Tips 開発者にありがちな間違いへの対処法』には、Go開発者が言語のさまざまな機 能を扱うときについやってしまいがちな100個のよくある間違いが含まれています。本書は、外部ライブラリやフレームワークではなく、Go言語そのものと標準ライブラリに大きく焦点を当てていま す。間違いについてのほとんどの議論では具体例を示しており、どのような場合にその間違いを犯しやすいかを説明しています。本書は、考えや手法を押しつけるものではありません。個々の解決策は、それが適用されるべき状況を伝えるために詳しく説明されています。
2023-06-02 05:29
コメント(0)
記事「実践API設計」 [本]
雑誌の記事を最後に執筆したのは、「Software Engineer Vol.1」(技術評論社、2007年4月)だったので、16年振りに記事を書きました。
堅牢で、保守性に優れたWebサービスの実現
仕様ファーストでいこう!
実践API設計
ウェブサービスの開発に従事するようになったのは、リコーを早期退職して、2017年9月から働き始めたソラミツからでしたが、その後、メルペイ、現在のカウシェと、バックエンドのサービス開発に従事しています。実際に本番サービスとして使われるサービスを開発したのはメルペイからです。
私自身は、1984年に就職してからのワークステーション開発、その後のデジタル複合機開発と長年ウェブサービスには関わることはありませんでした。2018年6月からメルペイでマイクロサービスの開発に従事したときに考案して、その後、さまざまなマイクロサービスの開発、および、現在のカウシェでも実践していることを記事としてまとめています。発売は、4月22日です。
5章から構成されます。
第1章 優れたAPI 仕様とは何か
よくある問題点と、記述すべき事柄
第2章 gRPC におけるAPI 仕様の書き方
サービスの概要、エンドポイントの説明、エラーの説明
第3章 API 仕様ファースト開発
仕様を先に記述し、テスト駆動で開発する
第4章 E2E テストフレームワークの構築
API 仕様ファースト開発のための独自実装
第5章 API 仕様の技術的負債の返済
サービスの成長を支えるための改善活動
2023-04-05 09:48
コメント(0)
書籍『Core Java for the Impatient, Third Edition』 [本]

Core Java for the Impatient (English Edition)
- 作者: Horstmann, Cay S.
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2022/09/29
- メディア: Kindle版
かなり前に注文していたのですが、先日やっと届きました。この本は、Java 17までをカバーしています。Cay S.Horstmannの著書は多くありますが、この「for the Impatient」シリーズの特徴的なのは、章末に豊富な練習問題が含まれることです。簡単な問題もありますが、難しい問題も含まれていることがあります。2014年に出版したJava 8だけを解説した次の本の練習問題と同じものも含まれています。

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング (impress top gear)
- 出版社/メーカー: インプレス
- 発売日: 2014/09/22
- メディア: 単行本(ソフトカバー)
Cay S.Horstmannの本でもう一つ特徴的なのは、Acknowledgements(謝辞)に過去の書籍のレビューアも含めて名前が列挙されていることです。『Core Java, 12th Edition』とこの『Core Java for the Impatient, Third Edition』にも私の名前があります。
2022-12-03 07:35
コメント(0)
書籍『Building Serverless Applications with Google Cloud Run』 [本]
メルペイでは、GKE(Google Kubernetes Engine)を使ってマイクロサービスを開発していました。カウシェではGoogle Cloud Runを使ってサービスを提供していますので、Cloud Runの概要を学ぶために読んでみました。
160ページと薄い本ですが、Cloud Runの基本的な事柄や注意しなければならない事柄を説明しています。また、ハンズオン形式で進めながら動作を確認できるようになっています。
2022-10-11 06:05
コメント(0)
書籍『The Kubernetes Book』 [本]

The Kubernetes Book: 2022 Edition (English Edition)
- 作者: Poulton, Nigel
- 出版社/メーカー:
- 発売日: 2017/06/18
- メディア: Kindle版
過去のEditionは読んでいませんが、2022 Editionとなっている2022年版を読みました。Kubernetesにに関する書籍を読んだのは、2018年6月にメルペイに入社してから読んだ『Kubernetes in Action』以来です。
Kubernetesを学ぶのが初めてではないこともあり、内容も分かりやすく、知識が深まった部分も多かったです。
この本で特筆するとしたら、セキュリティに関する章があることだと思います。「15: Threat modeling Kubernetes」「16: Real-world Kubernetes security」です。詳細に説明されているわけではありませんが、Kubernetesに関するセキュリティの概要を知ることができます。
2022-08-27 11:26
コメント(0)
書籍『Docker Deep Dive』 [本]

Docker Deep Dive: Zero to Docker in a single book (English Edition)
- 作者: Poulton, Nigel
- 出版社/メーカー:
- 発売日: 2016/09/20
- メディア: Kindle版
「MAY 2020」とカバーにある(おそらく最新版)を読みました。普段、Dockerを深く使いこなしてはいないので、Docker全体を知るために読んでみました。
Dockerfileやdocker-composeについてはもちろん説明はされています。それ以外にも、Docker Swarm、Docker Stacks、ネットワーキングについても解説されていますし、15章「Security In Docker」ではセキュリティに関する基本的な事柄も説明されています。
Dockerのセキュリティに関しては、ちょうど「Security Journey」で基本を学んだばかりでしたので、復習にもなりました。
Docker Swarm関連では、分散サービス用のRaft、gossipプロトコル、リーダー選出(leader election)などの用語が事前説明なしで使われています。これらも『Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築』で学んだばかりだったので、問題なく理解することができました。
本の内容は、実際に手元でDockerを動作させて確認できますし、Docker Swarmについても(全部ではないですがある程度)Play with Dockerで試すことができます。
2022-07-28 04:15
コメント(0)
書籍『Googleのソフトウェアエンジニアリング』 [本]

Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス
- 出版社/メーカー: オライリージャパン
- 発売日: 2021/11/29
- メディア: 単行本(ソフトカバー)
職種としての「ソフトウェアエンジニア」は、ソフトウェアの設計から実装まで行うものと考えられることがあると思います。しかし、そこにエンジニアリングという視点はどの程度含まれるのでしょうか。さまざまな設計手法、さまざまなレビュー、テスト駆動開発、継続的インテグレーションなどの実践は、確かにエンジニアリングではあります。しかし、実践できていない開発組織もまだまだ多いと思います。
仮に実践できているとしても、小さな組織で行っているエンジニアリングが、Googleほどの大きな組織へと拡大するためには、スケールするのかを考える必要があります。Googleほどの大きさにならなくても、ビジネスが成長しているのであれば、それを支える開発組織も大きくなっていき、今までのエンジニアリング的な実践がスケールするのかを考える必要が自然と発生していきます。
この本では、大きなソフトウェア開発組織へと成長する過程で、試行錯誤しながらGoogleが取り組んできたソフトウェアエンジニアリングについて述べられています。
私自身のウェブサービスの開発経験はメルペイで働き始めてからなので限られてはいますが、この本を読みながら、現在自分達が直面している問題、あるいは、今後直面するであろう問題を色々と考えさせられることが多い内容でした。ただ、私自身があまり馴染みがない領域に関しては内容を理解できないものもありましたが、全体としてはとても参考になることが多い本でした。
この本で紹介されているHyrumの法則というのがあります。
あるAPIに十分な数のユーザーがいるとき、APIを作った者自身が契約仕様として何を約束しているかは重要でない。作られたシステムが持つあらゆる観測可能(obserbable)な挙動に関して、それに依存するユーザーが出てくるものである。この法則に、いかに苦しんできたかは、この本全体でいろいろなところに登場します。小さな組織であれば、API仕様をきちんと書いておくだけでおそらく十分なのでしょうが、組織が大きくなれば、Hyrumの法則が登場して、思わぬ使われ方や想定が行われるようになっていくということです。
2022-07-12 04:45
コメント(0)
書籍『Go言語による分散サービス』の予約注文が可能になりました [本]
書籍『Go言語による分散サービス』が、Amazon.co.jpで予約注文可能になりました。

電子版(PDF)は、発売後にオライリー・ジャパン(ページはまだ用意されていません)のサイトから購入可能になります。
目次は、次の通りです

Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築
- 出版社/メーカー: オライリージャパン
- 発売日: 2022/08/03
- メディア: 単行本(ソフトカバー)
電子版(PDF)は、発売後にオライリー・ジャパン(ページはまだ用意されていません)のサイトから購入可能になります。
目次は、次の通りです
本書への推薦の言葉
はじめに
第I部 さあ始めましょう
1章 レッツGo
2章 プロトコルバッファによる構造化データ
3章 ログパッケージの作成
第II部 ネットワーク
4章 gRPCによるリクエスト処理
5章 安全なサービスの構築
6章 システムの観測
第III部 分散化
7章 サーバ間のサービスディスカバリ
8章 合意形成によるサービス連携
9章 サーバディスカバリとクライアント側ロードバランス
第IV部 デプロイ
10章 Kubernetesでローカルにアプリケーションをデプロイ
11章 アプリケーションをKubernetesでクラウドにデプロイ
訳者あとがき
2022-06-30 05:00
コメント(0)
書籍『Go言語による分散サービス』 [本]
Amazon.co.jpではまだ先行予約できませんが、私にとって通算20冊目となる翻訳本が8月上旬に発売されます。
原著はこちらです。

目次は、次の通りです
『Go言語による分散サービス ― 信頼性、拡張性、保守性の高いシステムの構築』
ISBN:978-4-87311-997-7
280ページ(予定)
出版月:2022年8月
価格:3,200円(税込:3,520円)
原著はこちらです。

Distributed Services With Go: Your Guide to Reliable, Scalable, and Maintainable Systems
- 作者: Jeffery, Travis
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2021/03/30
- メディア: ペーパーバック
目次は、次の通りです
本書への推薦の言葉
はじめに
第I部 さあ始めましょう
1章 レッツGo
2章 プロトコルバッファによる構造化データ
3章 ログパッケージの作成
第II部 ネットワーク
4章 gRPCによるリクエスト処理
5章 安全なサービスの構築
6章 システムの観測
第III部 分散化
7章 サーバ間のサービスディスカバリ
8章 合意形成によるサービス連携
9章 サーバディスカバリとクライアント側ロードバランス
第IV部 デプロイ
10章 Kubernetesでローカルにアプリケーションをデプロイ
11章 アプリケーションをKubernetesでクラウドにデプロイ
訳者あとがき
2022-06-09 04:07
コメント(0)
予約受付中です:『スーパーユーザーなら知っておくべきLinuxシステムの仕組み』 [本]
私にとって19冊目の技術書の翻訳本になる『スーパーユーザーなら知っておくべきLinuxシステムの仕組み』がAmazon.co.jpで予約受付中です。

昨年の5月から翻訳作業を始めました。発売日は、3月8日となっています(遅れることないと思います)。
原著は、こちらです。


スーパーユーザーなら知っておくべきLinuxシステムの仕組み
- 出版社/メーカー: インプレス
- 発売日: 2022/03/08
- メディア: 単行本(ソフトカバー)
昨年の5月から翻訳作業を始めました。発売日は、3月8日となっています(遅れることないと思います)。
原著は、こちらです。

How Linux Works, 3rd Edition: What Every Superuser Should Know
- 作者: Ward, Brian
- 出版社/メーカー: No Starch Press
- 発売日: 2021/04/19
- メディア: ペーパーバック
2022-01-13 06:11
コメント(0)