SSブログ

書籍『Core Java for the Impatient, Third Edition』 [本]

Core Java for the Impatient (English 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)

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』にも私の名前があります。
コメント(0) 

書籍『Building Serverless Applications with Google Cloud Run』 [本]

Building Serverless Applications With Google Cloud Run: A Real-World Guide to Building Production-Ready Services

Building Serverless Applications With Google Cloud Run: A Real-World Guide to Building Production-Ready Services

  • 作者: Venema, Wietse
  • 出版社/メーカー: Oreilly & Associates Inc
  • 発売日: 2020/12/29
  • メディア: ペーパーバック

メルペイでは、GKE(Google Kubernetes Engine)を使ってマイクロサービスを開発していました。カウシェではGoogle Cloud Runを使ってサービスを提供していますので、Cloud Runの概要を学ぶために読んでみました。

160ページと薄い本ですが、Cloud Runの基本的な事柄や注意しなければならない事柄を説明しています。また、ハンズオン形式で進めながら動作を確認できるようになっています。
コメント(0) 

書籍『The Kubernetes Book』 [本]

The Kubernetes Book: 2022 Edition (English Edition)

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に関するセキュリティの概要を知ることができます。
コメント(0) 

書籍『Docker Deep Dive』 [本]

Docker Deep Dive: Zero to Docker in a single book (English Edition)

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で試すことができます。

コメント(0) 

書籍『Googleのソフトウェアエンジニアリング』 [本]

Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス

Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス

  • 出版社/メーカー: オライリージャパン
  • 発売日: 2021/11/29
  • メディア: 単行本(ソフトカバー)

職種としての「ソフトウェアエンジニア」は、ソフトウェアの設計から実装まで行うものと考えられることがあると思います。しかし、そこにエンジニアリングという視点はどの程度含まれるのでしょうか。さまざまな設計手法、さまざまなレビュー、テスト駆動開発、継続的インテグレーションなどの実践は、確かにエンジニアリングではあります。しかし、実践できていない開発組織もまだまだ多いと思います。

仮に実践できているとしても、小さな組織で行っているエンジニアリングが、Googleほどの大きな組織へと拡大するためには、スケールするのかを考える必要があります。Googleほどの大きさにならなくても、ビジネスが成長しているのであれば、それを支える開発組織も大きくなっていき、今までのエンジニアリング的な実践がスケールするのかを考える必要が自然と発生していきます。

この本では、大きなソフトウェア開発組織へと成長する過程で、試行錯誤しながらGoogleが取り組んできたソフトウェアエンジニアリングについて述べられています。

私自身のウェブサービスの開発経験はメルペイで働き始めてからなので限られてはいますが、この本を読みながら、現在自分達が直面している問題、あるいは、今後直面するであろう問題を色々と考えさせられることが多い内容でした。ただ、私自身があまり馴染みがない領域に関しては内容を理解できないものもありましたが、全体としてはとても参考になることが多い本でした。

この本で紹介されているHyrumの法則というのがあります。
あるAPIに十分な数のユーザーがいるとき、APIを作った者自身が契約仕様として何を約束しているかは重要でない。作られたシステムが持つあらゆる観測可能(obserbable)な挙動に関して、それに依存するユーザーが出てくるものである。
この法則に、いかに苦しんできたかは、この本全体でいろいろなところに登場します。小さな組織であれば、API仕様をきちんと書いておくだけでおそらく十分なのでしょうが、組織が大きくなれば、Hyrumの法則が登場して、思わぬ使われ方や想定が行われるようになっていくということです。
コメント(0) 

書籍『Go言語による分散サービス』の予約注文が可能になりました [本]

書籍『Go言語による分散サービス』が、Amazon.co.jpで予約注文可能になりました。

Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築

Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築

  • 出版社/メーカー: オライリージャパン
  • 発売日: 2022/08/03
  • メディア: 単行本(ソフトカバー)

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

目次は、次の通りです
本書への推薦の言葉
はじめに

第I部 さあ始めましょう
1章 レッツGo
2章 プロトコルバッファによる構造化データ
3章 ログパッケージの作成

第II部 ネットワーク
4章 gRPCによるリクエスト処理
5章 安全なサービスの構築
6章 システムの観測

第III部 分散化
7章 サーバ間のサービスディスカバリ
8章 合意形成によるサービス連携
9章 サーバディスカバリとクライアント側ロードバランス

第IV部 デプロイ
10章 Kubernetesでローカルにアプリケーションをデプロイ
11章 アプリケーションをKubernetesでクラウドにデプロイ

訳者あとがき

コメント(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

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でクラウドにデプロイ

訳者あとがき

コメント(0) 

予約受付中です:『スーパーユーザーなら知っておくべきLinuxシステムの仕組み』 [本]

私にとって19冊目の技術書の翻訳本になる『スーパーユーザーなら知っておくべきLinuxシステムの仕組み』がAmazon.co.jpで予約受付中です。

スーパーユーザーなら知っておくべきLinuxシステムの仕組み

スーパーユーザーなら知っておくべきLinuxシステムの仕組み

  • 出版社/メーカー: インプレス
  • 発売日: 2022/03/08
  • メディア: 単行本(ソフトカバー)


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

原著は、こちらです。

How Linux Works, 3rd Edition: What Every Superuser Should Know

How Linux Works, 3rd Edition: What Every Superuser Should Know

  • 作者: Ward, Brian
  • 出版社/メーカー: No Starch Press
  • 発売日: 2021/04/19
  • メディア: ペーパーバック



コメント(0) 

『プログラミング言語Go』のKindle版が出ました [本]

出版社からの連絡はなかったのですが、Kindle版が出ました。

プログラミング言語Go

プログラミング言語Go

  • 出版社/メーカー: 丸善出版
  • 発売日: 2021/05/21
  • メディア: Kindle版

固定レイアウトとなっています。固定レイアウトではないKindle版を作成するには手間がかかるため、Kindle版といっても、印刷用のPDFと同じものをそのまま固定レイアウトで出版する本が多いなってきています。

コメント(0) 

書籍『あなたの24時間はどこへ消えるのか』と『News Diet』 [本]

あなたの24時間はどこへ消えるのか

あなたの24時間はどこへ消えるのか

  • 作者: スワン
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2021/01/21
  • メディア: Kindle版

News Diet

News Diet

  • 出版社/メーカー: サンマーク出版
  • 発売日: 2021/02/10
  • メディア: Kindle版

『あなたの24時間はどこへ消えるのか』の「あとがき」は、「私の父には、定年が来なかった。」で始まり、後半には次の言葉が印象的に書かれています。
週末の楽しみは平日に
定年後の夢は今年に
時間は有限であり、第3章「人生を進める1週間の使い方」では、仕事のタスクをプライベートのタスクを同等に扱うことが述べられており、著者によるタスクへの取り組み方が紹介されています。プライベートで行いたいことを仕事のタスクと同等に扱うことは、将来、あれをやっておけばよかったと後悔しないために重要だということは同意できます。

第2章「時間泥棒はすぐそこに」の内容は、まさに『News Diet』で述べられていることの実践例とも言える内容となっています。『News Diet』では、今日では、技術の進歩によってさまざまなニュースが「通知」されるようになっているが、次のようにニュースの害が述べられています。
  • ニュースという一口サイズのごちそうをたらくふ食べる行為は、間違いなく成功の邪魔をする要因の一つだ。
  • それなしでは生きられないほど重要なニュースなど存在しない。数え切れないほどのニュースよりも、たった一冊の良書の方が何千倍もあなたの人生と健康のためになる。
  • 仕事がある日に多くのニュースを消費すると、どれだけの時間を無駄にしたかとは関係なしに不満足な成果しかあげられない。何かをやり遂げられるだけの意志力が残されていないからだ。

『あなたの24時間はどこへ消えるのか』の第2章では、さまざまな通知をオフにすることとアプリケーションを削除することが書かれています。アプリケーションの削除まではまだしていませんが、私自身もiPadやiPod Touchのアプリケーションの多くの通知機能をオフにしています。

通信環境が発達したおかげで世界が狭くなり、リアルタイムに多くのニュースに接することが可能になった今日の社会では、意識してニュースを遠ざけることを行わないと、貴重な時間が失われていくことを示す2冊です。
コメント(0)