So-net無料ブログ作成

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) 

書籍『入門 監視』 [本]

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

  • 作者: Mike Julian
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2019/01/17
  • メディア: 単行本(ソフトカバー)

私自身は、backendのサービスを開発し、それが実際にデプロイされるのを経験するのはメルペイでの開発が初めてです。監視というのは以前には経験していないため、本書を読みました。

原著は、『Practical Monitoring』ですが、日本語版ではタイトルが『入門 監視』となっています。残念ながら、監視の経験不足からくるのだと思うのですが、本書の後半は、内容がピンとこない項目が多かったです。

細かな詳細は省きますが、以下の章から構成されています。
  • 1 章 監視のアンチパターン
  • 2 章 監視のデザインパターン
  • 3 章 アラート、オンコール、インシデント管理
  • 4 章 統計入門
  • 5 章 ビジネスを監視する
  • 6 章 フロントエンド監視
  • 7 章 アプリケーション監視
  • 8 章 サーバ監視
  • 9 章 ネットワーク監視
  • 10 章 セキュリティ監視
  • 11 章 監視アセスメントの実行
  • 付録A 手順書の例:Demo App
  • 付録B 可用性表
  • 付録C 実践 監視SaaS

「1 章 監視のアンチパターン」と「2 章 監視のデザインパターン」は、監視をする上で基本的に認識しておくべきことが書かれています。

残りの章は、全体的に個々の項目を深掘りしているというよりも浅く広く必要なことを述べているのですが、私自身は経験がないためかピンとこないものが多かったです。私のような全くの初心者は、監視の経験と知識がある人と一緒に読みながら、補足や解説をしてもらいながら読むと理解が深まるのではないかと思います。

コメント(0) 

『Effective Java 第3版』の翻訳作業が終わりました [本]

昨年の2月から原著『Effective Java Third Edition』の草稿のレビューが始まり、レビューが終わったのが11月で、昨年末には原著が発売されています。翻訳作業は、昨年の12月から始めて、すべての作業が今月初めに終了しました。今回も、翻訳および(索引作りも含めた)組版までLaTeXで行いました。

原著のレビューのときには気付かなかった多くの間違いは、翻訳作業を通してJoshua Bloch氏へ知らせており、原著の4th printing(第4刷)では修正されています(原著の正誤表は、こちらです)。

今回はもっと早く終わるかと思ったのですが、結局、約430時間を翻訳作業に費やしました。翻訳に先立っての原著のレビューは約42時間でした。

Amazon.co.jpでは、以下のように紹介されています。
Javaプログラマーにとって必読の定番書『Effective Java』の改訂第3版。

この第3版では、Java 8で新たに導入されたラムダとストリームに関する章が新規に追加されたほか、 オプショナル、インタフェースでのデフォルトメソッド、try-with-resources文、@SafeVarargsアノテーション、モジュールなどの機能を扱った項目を含み、第2版の78項目から90項目に増加しています。

今日ではJavaは大きく複雑になり、並列実行から、繰り返し、各種データの表現まで、多くの事柄に対して多様な抽象化を持ち合わせています。この大きさと複雑さを考えると、最新のベストプラクティスの指導書はなおさら重要です。

本書は多くのデザインパターンとイデオムを示すコード例を含んでおり、プログラミング言語Javaの正しい理解と、簡潔で明瞭で正確なソフトウェアの設計に役立つでしょう。
発売予定は10月31日です。予約注文は、Amazon.co.jpのこちらのページからできます。
コメント(0) 

『Effective Java Third Edition』が届きました [本]

ej3e.jpg
米国の出版社(Pearson)から届きました。電子版も昨年末に出版社から頂いていたのですが、紙の本もいいものです。

2001年に初版が出版されて、17年が過ぎました。2001年に初版を読んだときには、正直なところ私にとっては書かれている内容が衝撃的でした。当時、技術評論社の雑誌「Java PRESS」や「XML PRESS」にJava関連の記事を書き、『プログラミング言語Java第3版』の翻訳も行い、Javaについてはかなり分かっているつもりでした。しかし、初版の英語版を読んだときは、自分が何も分かっていなかったと自覚したのを覚えています。

幸い初版を翻訳する機会を得て、翻訳しながら様々なフィードバックを著者のJoshua Blochへ行いました。翻訳者で著者へ問い合わせをする人は少ないようです。『Effective Java』は多くの言語に翻訳されていますが、それに関してJoshua Blochは次のようにツィートしています。

スクリーンショット 2018-01-26 6.29.06.png

つまり、著者の知らないところで翻訳が行われていることがほとんどだということです。同じことを『APIデザインの極意』の著者Jaroslav Tulachも述べています(こちら)。

幸い、その後は、Joshua Blochの新たな本の草稿をレビューする機会を得られて、『Java Puzzlers』、『Effective Java Second Edition』、そして、今回の第3版もレビューしました。残念ながら草稿をレビューしているときの注意力と翻訳をしているときの注意力は異なっているようで、草稿のレビューでは気付かなかった間違いを翻訳中に気付くことがあります(たとえば、こちらの8番目の「A」)。また、草稿にはなかった内容が最終版には入っていることもあり、翻訳していて間違いに気付くこともあります(『Effective Java Third Editon』は、レビューアからのフィードバックを反映した細かな修正が多いような気がします)。

日本語版『Effective Java 第3版』については、もうしばらくお待ちください。

コメント(0) 

『Effective Java Third Edition』 [本]

Effective Java (3rd Edition)

Effective Java (3rd Edition)

  • 作者: Joshua Bloch
  • 出版社/メーカー: Addison-Wesley Professional
  • メディア: Kindle

電子版は、すでに購入可能となっています。PDF版であれば https://www.informit.com/ から購入可能となっています。紙の本は、年明けのようです。

第2版に続いて、この第3版もレビューさせてもらいました。第2章から第12章までの原稿をレビューしました。レビュー用の第2章が送られてきたのが2月7日で、最終章である第12章が送られてきたのが11月25日でした。

日本語版は、私にとって17冊目の翻訳本になりますが、しばらくお待ちください。

英語版の正誤表は、こちらです。

コメント(0) 

予約受付中『ベタープログラマ』(2) [本]

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

  • 作者: Pete Goodliffe
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/12/15
  • メディア: 単行本(ソフトカバー)

間もなく発売されますが、先日紹介した目次に加えて、アマゾンでは以下のように紹介されています。

プログラマとしてのキャリアをスタートすると、構文や設計を理解するだけでなく、その他の様々な事柄を理解し習得する必要があると気づきます。

本書は、優れたコードを作りだし、人々と効率的に働く生産性の高いプログラマになるための考え方とテクニックを38のテーマで紹介します。

はじめに、コード1行1行の書き方、デバッグやエラー処理、コードの改善方法など開発現場でのコーディングを取り上げます。

次にコードを単純に保つこと、コード変更やテスト、リリースなどソフトウェアを開発する際の考え方や心構えを扱います。

個人的な活動として、継続的な学習方法と停滞を避けるための課題の見つけ方など、自らを成長させる方法も紹介。

さらに組織の中で他の人とコミュニケーションを取りながら、効果的に働くための習慣を解説します。

『Code Craft』の著者Pete Goodliffeが、自らの経験を元に「優れたプログラマ」になるための考え方と習慣をまとめた本書は、プログラミングを愛し、長く続けながら、優れたプログラマになりたいと思うすべての人に必携の一冊です。

各章の終わりでは、読者が考えるべき複数の「質問」が用意されています。自分の経験を振り返りながら答えを考えてみてください。そして、「やってみる」として、みなさんに挑戦してもらいたいことが一つ提示されています。最後に、章の内容に関連したちょっとした漫画が描かれており、面白く読むことができます。

コメント(0) 

レビュー終了:『Effective Java 3rd edition』 [本]

Effective Java (3rd Edition)

Effective Java (3rd Edition)

  • 作者: Joshua Bloch
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2017/12/29
  • メディア: ペーパーバック

記事「レビューした(している)これからの新刊」で、今年レビューしている本の一冊として紹介した『Effective Java 3rd Edition』のレビューが先週終了しました。

第2章から第7章までは、「Rough Cut」としてすでに「Safari」で読めるようになっています。こちらです。第3版では章が一つ追加されており、その追加された第7章「Lambdas and Streams」もSafariで読めます。

第2版では78項目でしたが、新たな第7章の7項目も含めて第3版は89項目になっています。

コメント(0) 

予約受付中『ベタープログラマ』 [本]

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

  • 作者: Pete Goodliffe
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/12/15
  • メディア: 単行本(ソフトカバー)

昨年の6月から翻訳を行ってきた本です。優れたプログラマになるために、どのようなことを心がけるべきかについて、ソフトウェア開発の様々な側面について説明されいます。

目次は、以下の通りです。
1章 コードを気にかける
  コードへの正しい取り組み方と態度を身に付ける

第Ⅰ部 you.write(code)
2章 見かけのよい状態を維持する
  コードの表現:レイアウトと名前付け
3章 少ないコードを書く
  不必要なコードを書かない
4章 取り除くことでコードを改善する
  死んでいるコードを見つけて取り除く
5章 コードベースの過去の幽霊
  過去に書いたコードから学ぶ
6章 航路を航行する
  なじみのないコードへの取り組み方
7章 汚物の中で転げ回る
  不快でひどいコードを取り扱う
8章 そのエラーを無視するな!
  エラー処理に対する健全な態度
9章 予期せぬことを予期する
  あらゆる可能性を考慮して、頑強なコードを書く
10章 バグ狩り
  バグを見つけて修正する
11章 テストの時代
  開発者テスト:単体テスト、インテグレーションテスト、システムテスト
12章 複雑さに対処する
  不必要な複雑さを避けるために、コードをうまく設計する
13章 二つのシステムの物語
  優れた設計とひどい設計の顛末

第Ⅱ部 練習することで完璧になる
14章 ソフトウェア開発とは
  ソフトウェア開発とは何か
15章 規則に従って競技する
  開発チームの役割を明確にする規則を作る
16章 単純に保つ
  ソフトウェアの簡潔性を追い求める
17章 頭を使いなさい
  プログラマは頭を使うことができるし、そうするべきである
18章 変わらないものはない
  コードは不可侵ではなく変化する
19章 コードを再利用するケース
  コードを再利用するための健全な方法
20章 効果的なバージョンコントロール
  バージョンコントロールをうまく使う
21章 ゴールポストを抜ける
  QAチームと協業する
22章 凍結されたコードの数奇な人生
  コード凍結とは何か。そもそも必要か
23章 プリーズ・リリース・ミー
  ソフトウェアリリースを作成する

第Ⅲ部 個人的なこと
24章 学びを愛して生きる
  効果的な学び方
25章 試験に基づく開発者
  プログラミングと自動車運転の類似:どのように学び、どのように試験に合格するか
26章 チャレンジを楽しむ
  モチベーションを維持し、スキルを高く維持するための課題の見つけ方
27章 停滞を避ける
  プログラミングスキルの陳腐化を防ぐ
28章 倫理的なプログラマ
  開発者人生における倫理的な問題
29章 言語への愛
  多くのプログラミング言語を学び、使っている言語を愛する
30章 プログラマの姿勢
  プログラマの健康の改善:姿勢、目の疲労、元気の維持

第Ⅳ部 成し遂げる
31章 一生懸命ではなく、賢く
  効果的に働く:不要な作業を回避して、問題を解決する
32章 完了したときが完了
  プログラミングのタスクを明確にし、終わったときを正確に把握する
33章 今度こそ分かった……
  視野を狭くしない:問題を解決する最善な方法を見つける

第V部 人々の営み
34章 人々の力
  優れたプログラマと一緒に働く。チームでうまく働く方法
35章 原因は思考
  説明責任:自分自身と自らの働きを向上させる
36章 遠慮なく話す
  ソフトウェア開発者にとってのコミュニケーションスキル
37章 多くのマニフェスト
  ソフトウェアのマニフェストとは何か。なぜ必要か
38章 コードへの叙情歌
  間違ったソフトウェア管理の教訓

結び
訳者あとがき


コメント(0) 

16冊目の翻訳本 [本]

翻訳本としては私にとって16冊目となる、次の本の翻訳本を12月に出版します。

Becoming a Better Programmer: A Handbook for People Who Care About Code

Becoming a Better Programmer: A Handbook for People Who Care About Code

  • 出版社/メーカー: O'Reilly Media
  • 発売日: 2014/10/03
  • メディア: Kindle版

原著は3年前に出版されています。著者のPete Goodliffeは、次の書籍の著者です。

Code Craft エクセレントなコードを書くための実践的技法 Mynavi Advanced Library

Code Craft エクセレントなコードを書くための実践的技法 Mynavi Advanced Library

  • 出版社/メーカー: マイナビ出版
  • 発売日: 2014/09/17
  • メディア: Kindle版

『プログラミング言語Go』の翻訳作業が終わった後の、2016年6月から翻訳に着手しました。一年以上を要したことになります。

『Becoming a Better Programmer』は、優れたプログラーを目指すための人のために、様々な話題が取り上げられています。40歳から始めた技術書の翻訳ですが、翻訳を行った本から多くのことをソフトウェアエンジニアとして学んできました。この本もからも多くのことを認識し直したり、学ぶことができました。

Amazonで予約注文できるようになりましたら、改めて紹介します。

12月からは、私にとって17冊目となる本の翻訳に着手する予定です。

コメント(0)