SSブログ

書籍『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) 

書籍『More Effective Agile: A Roadmap for Software Leaders』 [本]

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 ~“ソフトウェアリーダー

More Effective Agile ~“ソフトウェアリーダー"になるための28の道標

  • 出版社/メーカー: 日経BP
  • 発売日: 2020/06/11
  • メディア: 単行本

『More Effective Agile』の最後に「Summary of Key Principles」として28個のPrincipleがまとめてありますが、それらが本文で説明されています。おそらく日本語版も書籍の最後にまとめてあると思いますので、先にそちらに目を通してよいかもしれません(日本語版の出版社の紹介ページはこちらです)。

私自身がアジャイル開発によるソフトウェア開発に触れ始めたのは、2013年7月から2年間、私自身が開発のグループリーダーをやったプロジェクト(Go言語でデジタル複合機のコントローラーソフトウェア開発をテスト駆動で行ったプロジェクト)からでした。その後は、主にメルペイでの開発です。

技術書の内容の理解は、それまでの経験・知識に大きく影響を受けます。いつ読むかによって、内容がピンとこなかったり、逆に、それまでの経験・知識をうまく整理してできたりします。『More Effective Agile』は、今、読んだことで、私にとっては後者であったと言えます。
コメント(0) 

書籍『UNIX: A History and a Memoir』 [本]

UNIX: A History and a Memoir

UNIX: A History and a Memoir

  • 作者: Kernighan, Brian W
  • 出版社/メーカー: Independently published
  • 発売日: 2019/10/18
  • メディア: ペーパーバック

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

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版がお勧めです。
コメント(0) 

翻訳本:『新世代Javaプログラミングガイド』 [本]

新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト] (impress top gear)

新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト] (impress top gear)

  • 作者: Mala Gupta
  • 出版社/メーカー: インプレス
  • 発売日: 2020/03/13
  • メディア: 単行本(ソフトカバー)

私にとって、18冊目となる技術書の翻訳本です。再出版も入れると通算で21冊目となります。初めての翻訳本が2000年12月に出版された『Javaリアルタイム仕様』ですので、Java関連の書籍としては10冊目となります。

この本の原著はJava 12までカバーしていたのですが、プレビュー言語機能やAmberプロジェクトに対して解説されていた内容はこれから出るJava 14までに変更されているものがあります。
言語仕様の変更部分については、この本の原著が執筆された時点と、日本語への翻訳時点では異なっている部分が多くなっており、日本語版では、必要な修正、削除、追加を訳者の判断で行っています。また、日本語版では必要に応じてJava 13および14へ言及したり、訳注を付けたりしています。
「訳者まえがき」より

言語仕様に関しては、以下の説明が行われています。
  • var(第1章「ローカル変数での型推論」と第5章「ラムダパラメータのローカル変数の構文」)
  • switch式(プレビュー言語機能)(第11章「switch式」)
  • テキストブロック(プレビュー言語機能)(第15章「テキストブロック」)
  • record(Amberプロジェクト)(第14章「データクラスとその利用方法」)
  • enumの拡張(Amberプロジェクト)(第13章「Amberプロジェクトの拡張enum型」)
  • パターンマッチング(Amberプロジェクト)(第17章「パターンマッチング」)

プレビュー言語機能は、コンパイルオプションを指定しないと使えない機能です。Java 14ではswitch式は正式な機能となる予定です。Amberプロジェクトは、Amberプロジェクト用のJDKをビルドしないと試すことができません。

目次は、以下の通りです。
第1部 Java 10
第1章 ローカル変数での型推論
第2章 AppCDS — アプリケーション・クラスデータ共有

第3章 ガベージコレクタの最適化
第4章 JDK 10 のその他の改良点

第2部 Java 11
第5章 ラムダパラメータのローカル変数構文
第6章 Epsilon GC — ガベージコレクタの改良
第7章 HTTP クライアント API
第8章 ZGC — 低遅延化とスケーラビリティの改善
第9章 フライトレコーダとミッションコントロール
第10章 JDK 11のその他の改良点

第3部 Java 12
第11章 switch 式
第12章 JDK 12 のその他の改良点

第4部 Java言語拡張プロジェクト「Amber」
第13章 Amber プロジェクトの拡張 enum 型
第14章 データクラスとその利用方法
第15章 テキストブロック
第16章 ラムダの改善ポイント
第17章 パターンマッチング

付録A Amber プロジェクト用の JDK のビルド手順

コメント(0) 

Introduction to Computing Systems: From Bits & Gates to C & Beyond 3rd Edition [本]

Loose Leaf for Introduction to Computing Systems: From Bits & Gates to C & Beyond

Loose Leaf for Introduction to Computing Systems: From Bits & Gates to C & Beyond

  • 作者: Yale N. Patt
  • 出版社/メーカー: McGraw-Hill Education
  • 発売日: 2019/08/27
  • メディア: Loose Leaf

「Loose Leaf for」となっているのでどのように製本されているかちょっと不明ですが、第3版が出版されます。

この本の第2版に関しては、いくつか記事を書いていますが、その一つがこちらです。

コメント(2) 

『A Philosophy of Software Design』 [本]

A Philosophy of Software Design (English Edition)

A Philosophy of Software Design (English Edition)

  • 出版社/メーカー: Yaknyam Press, Palo Alto, CA
  • 発売日: 2019/01/22
  • メディア: Kindle版

この本は、ソフトウェアの複雑さ(complexity)を減らすために、ソフトウェアエンジニアが日々の開発で注意を払うべきことが述べられています。その多くのは、さまざまな書籍で述べられている基本的な事柄です。しかし、それらの基本的な事柄は、習得するのが容易ではないものが多いです。

たとえば、『リーダブルコード』を読むだけで読みやすいコードが書けるようになるのではなかったり、『Effective Java』を読むだけできちんとしたAPI設計ができるようにならなかったりするのと同じです。読んで学んだことを意識して実践し、当たり前となるまで繰り返していく必要があります。

この本を読んで、その内容を実践してみようと思うのか、もう当たり前に行っていることだと思うかは、読み手の経験によって変わってくると思います。この本の中で、私自身は意識して実践しているが、多くのソフトウェアエンジニアができていないと思うことが「Chapter 15 Write The Comments First」です。副題として、「Use Comments As Part Of The Design Process」と書かれています。その導入部分には、次のように書かれています。
Many developers put off writing documentation until the end of the development process, after coding and unit testing are complete. This is one of the surest ways to produce poor quality documentation. The best time to write comments is at the beginning of the process, as you write the code. Writing the comments first makes documentation part of the design process. Not only does this produce better documentation, but it also produces better designs and it makes the process of writing document more enjoyable.
Chapter 15, “Write the Comments First”
John Ousterhout, “A Philosophy of Software Design

API仕様を書く」でも書いていますが、最初に仕様を書くことは、それが当たり前になるまで意識して自分で自分自身を訓練するか、指導してもらうかのどちらかでない限り、身に付かない習慣だと思います。

私が知る限り、残念ながら、この本は日本語へは翻訳されないようです。

コメント(0)