.logbook

学んだことを書き綴る、言わば航海日誌です。

組み込みS/W開発者の卵が、2013年に読んで良かったと思う本(3冊)

さて、2013年も残すところ数日。昨日を以って仕事も終わったわけで、今年最後のブログ更新とする。ありがちなタイトルだが「今年読んで良かった本」で今年を締めようと思う。

[その1]メタプログラミングRuby

メタプログラミングRuby

メタプログラミングRuby

今年、組込み業界にも徐々にmrubyの波が押し寄せつつあり、Rubyの勉強を始めたところ。普段、C言語でガリガリソースコードを書いている人間にとって、この本に書かれていることは驚くべきことばかりであった。

主な感想は以下の通り。

  • 「ええー!こんなこともできちゃうの!?!?」というTipsを多く知ることができた。
  • メタプログラミングによってコードの重複を限りなく取り除けることが分かった。
  • Rubyという言語の仕組みを知ることができた。

少しずつでも良いのでmrubyがこの業界に浸透していけばいいなぁと思う。

[その2]テスト駆動開発による組み込みプログラミング ―C言語オブジェクト指向で学ぶアジャイルな設計

正直、組み込みS/Wでテスト駆動開発は無理だと思ってた。なんせH/Wを直接叩くS/Wが多いし、一からMockを実装するのも困難。なにより派生開発が多く、既存のS/Wとのしがらみから逃れられないためである。。。

しかし、この本を読んで組み込みS/Wにおけるユニットテストもどんどん自動化していかなければと思った。

主な感想は以下のとおり。

  • 組み込みS/Wでも使用できるユニットテストフレームワークがあることを知った。
  • 組み込みS/Wでも使用できるMockライブラリがあることを知った。
  • テストダブルの実現方法を学んだ。

いわゆる"組み込みあるある"が多数登場するので、すぐにでも仕事に反映できそうな内容ばかりであった。

[その3]はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

OSのソースコードはどうしても敬遠されがちである。筆者ももちろんそうで、OSのことはOSを作ったメーカーに聞けば良いと思っていた。そんな中、今年本書が発売された。

実際にOSのソースを追いながら内容が解説されている。ソースコードの追い方も参考になるが、OSの動きを知ることで、よりバグの少ない設計に繋がることを実感した。

主な感想は以下のとおり。

  • UNIX V6の中核機能に焦点を当て、S/Wの動きを学ぶことができた。
  • ソースコードの追いかけ方を参考にしたいと思った。
  • OSを知ることでOS上で動作するS/W設計をより良くできると感じた。

来年度、趣味でmrubyのソースコードを読んでみようと思っている。ソースコードを読み、理解する力は訓練して磨いていくしかないだろう。

まとめ

以上が「今年読んで良かった本」である。振り返ってみると、今年は組み込み分野の書籍が豊作だった。書籍から読んだ内容を吸収し、スキルアップしていく。そして、いつか自分も書籍を発行できればなぁと思う。