書籍『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)
『プログラミング言語Go』のKindle版が出ました [本]
出版社からの連絡はなかったのですが、Kindle版が出ました。
固定レイアウトとなっています。固定レイアウトではないKindle版を作成するには手間がかかるため、Kindle版といっても、印刷用のPDFと同じものをそのまま固定レイアウトで出版する本が多いなってきています。
固定レイアウトとなっています。固定レイアウトではないKindle版を作成するには手間がかかるため、Kindle版といっても、印刷用のPDFと同じものをそのまま固定レイアウトで出版する本が多いなってきています。
2021-05-21 06:44
コメント(0)
書籍『あなたの24時間はどこへ消えるのか』と『News Diet』 [本]
『あなたの24時間はどこへ消えるのか』の「あとがき」は、「私の父には、定年が来なかった。」で始まり、後半には次の言葉が印象的に書かれています。
週末の楽しみは平日に時間は有限であり、第3章「人生を進める1週間の使い方」では、仕事のタスクをプライベートのタスクを同等に扱うことが述べられており、著者によるタスクへの取り組み方が紹介されています。プライベートで行いたいことを仕事のタスクと同等に扱うことは、将来、あれをやっておけばよかったと後悔しないために重要だということは同意できます。
定年後の夢は今年に
第2章「時間泥棒はすぐそこに」の内容は、まさに『News Diet』で述べられていることの実践例とも言える内容となっています。『News Diet』では、今日では、技術の進歩によってさまざまなニュースが「通知」されるようになっているが、次のようにニュースの害が述べられています。
- ニュースという一口サイズのごちそうをたらくふ食べる行為は、間違いなく成功の邪魔をする要因の一つだ。
- それなしでは生きられないほど重要なニュースなど存在しない。数え切れないほどのニュースよりも、たった一冊の良書の方が何千倍もあなたの人生と健康のためになる。
- 仕事がある日に多くのニュースを消費すると、どれだけの時間を無駄にしたかとは関係なしに不満足な成果しかあげられない。何かをやり遂げられるだけの意志力が残されていないからだ。
『あなたの24時間はどこへ消えるのか』の第2章では、さまざまな通知をオフにすることとアプリケーションを削除することが書かれています。アプリケーションの削除まではまだしていませんが、私自身もiPadやiPod Touchのアプリケーションの多くの通知機能をオフにしています。
通信環境が発達したおかげで世界が狭くなり、リアルタイムに多くのニュースに接することが可能になった今日の社会では、意識してニュースを遠ざけることを行わないと、貴重な時間が失われていくことを示す2冊です。
2021-02-28 12:22
コメント(0)
書籍『More Effective Agile: A Roadmap for Software Leaders』 [本]
More Effective Agile: A Roadmap for Software Leaders
- 作者: McConnell, Steve
- 出版社/メーカー: Construx Press
- 発売日: 2019/08/24
- メディア: ハードカバー
Steve McConnell氏の書籍としては『Code Complete (Developer Best Practices) (English Edition)』がよく知られていますし、私自身も強く影響を受けた書籍です。
毎朝30分のエアロバイク中に、今月の初めから『More Effective Agile』を読み始めて、ちょうど読み終えました
『More Effective Agile』は、「A Roadmap for Software Leaders」と副題にあるように、ソフトウェアリーダー向けですが、リーダーでなくても、今日のソフトウェアエンジニアとしてアジャイル開発に関して知っておくべきことがまとめられています。幸い、日本語版もまもなく発売されます。
More Effective Agile ~“ソフトウェアリーダー"になるための28の道標
- 出版社/メーカー: 日経BP
- 発売日: 2020/06/11
- メディア: 単行本
『More Effective Agile』の最後に「Summary of Key Principles」として28個のPrincipleがまとめてありますが、それらが本文で説明されています。おそらく日本語版も書籍の最後にまとめてあると思いますので、先にそちらに目を通してよいかもしれません(日本語版の出版社の紹介ページはこちらです)。
私自身がアジャイル開発によるソフトウェア開発に触れ始めたのは、2013年7月から2年間、私自身が開発のグループリーダーをやったプロジェクト(Go言語でデジタル複合機のコントローラーソフトウェア開発をテスト駆動で行ったプロジェクト)からでした。その後は、主にメルペイでの開発です。
技術書の内容の理解は、それまでの経験・知識に大きく影響を受けます。いつ読むかによって、内容がピンとこなかったり、逆に、それまでの経験・知識をうまく整理してできたりします。『More Effective Agile』は、今、読んだことで、私にとっては後者であったと言えます。
2020-05-31 12:31
コメント(0)
書籍『UNIX: A History and a Memoir』 [本]
Unixと言うものがあるらしいと聞いたのは大学院の修士課程を終える頃で、東芝のUnixマシンをどこかの研究室が購入したのがきっかけでした。しかし、直接触ることはほとんどなくありませんでした。就職してから、塚原研修所(富士ゼロックス)での新人研修で同じ東芝のUnixマシンを少し触った程度でした。
Unixを本格的に使うようになったのは、新人研修を終えて配属されてからです。確か、DECのVAX上でUnix(4.2BSDだったかな?)を使っていました。独自のワークステーション(後に発売されたFuji Xerox 6060 Workstation)を開発するプロジェクトで、OS以外はほぼすべてを開発しました。ワークテーション用のOSはAT&TのUnixではなく、Idrisと呼ばれるUnixクローンでした。
それ以来、Linuxも含めて、4.3BSD、System V、SunOS 4.x、Solaris 2.3、Linux,macOSとさまざまなUnixを使ってきたのですが、初期のUnix開発についてはあまり読んだことがなく、あえて言えば1989年に読んだ「Life with Unix」ぐらいでした。
Life With Unix: A Guide for Everyone
- 出版社/メーカー: Pearson P T R
- 発売日: 1989/04/01
- メディア: ペーパーバック
『UNIX: A History and a Memoir』では、著者であるBrian Kernighan自身の長年のAT&ATベル研究所での活動も含めて、一緒に働いた人達(著名人の集団という感じです)とUnixの歴史が書かれています。また、今日でも使われているUnixの様々なコマンドがどのように誕生したのかも説明があったりして、楽しく読める内容となっています。
目次は次の通りです。
Chapter 1: Bell Labs
Chapter 2: Proto-Unix (1969)
Chapter 3: First Edition (1971)
Chapter 4: Sixth Edition (1975)
Chapter 5: Seventh Edition (1976 - 1979)
Chapter 6: Beyond Research
Chapter 7: Commercialization
Chapter 8: Descendats
Chapter 9: Legacy
Unixの歴史以外に面白いと思ったのは、Brian Kernighanの書籍は、共著も含めてすべてtroffをベースとしたソフトウェアで組版されているということです。
One of the main motivations that Bill and I had for doing our own typesetting was to avoid the errors that the conventional publishing process frequently introduced into printed computer programs. Because we had total control over our content, from input to final pages ready to be printed, we could test the programs directly from the text, which would never be touched by copy-editor or compositor hands. The result was an essentially error-free programming book, which was most unusual at the time. I’ve used that same process ever since; the books listed at the front of this one have all been produced with Troff or its modern incarnation, Groff. Fortunately, one no longer needs typesetters and their expensive and unpleasant media. Today it’s sufficient to get everything right in a PDF file and send that to a publisher or printer.
Kernighan, Brian. UNIX: A History and a Memoir (p.116). Kindle 版.
この本は紙の本とKindle版があり、紙の本は日本で印刷(プリント・オン・デマンド)されるのですが、写真の画質が良くないので、その点ではKindle版がお勧めです。
2020-04-15 18:29
コメント(0)