おすすめ書籍|組込みエンジニア向け

この記事は約251分で読めます。

みなさん、技術書読んでいますか?
最近はGoogle検索でだいたいのことはわかるようになってきましたが、やはりストックの知識(体系的な知識)は書籍のほうが便利だと思います。

そこでこの記事では、私が読んだことのある本の中でプログラマ、ITエンジニアにオススメの書籍を紹介してみたいと思います。新人さんや初心者から中級者向けの本をメインに取り上げて行きます。

面白そうな本があれば、実際の書店でてにとってパラパラと内容を確認してみてくださいませ。お近くに書店がない場合は、出版社やAmazonの書籍紹介欄の目次だけでも眺めてみてくださいませ。なんとなく本の内容がわかるかなと思います。
また、わかる範囲で、各本の紹介の末尾に「著者情報はこちら」としてTwitterアカウントおよびサイトも記載しています。こちらもあわせてご参照くださいませ。

  1. C言語
    1. C言語 ポインタ完全制覇
    2. C言語改訂版 2 はじめて学ぶCの仕組み
    3. Linux技術者のためのC言語入門
    4. エキスパートCプログラミング―知られざるCの深層
    5. C言語デバッグ完全解説
    6. C言語 入門書の次に読む本
    7. プログラミング言語C
    8. 組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド
    9. CERT Cセキュアコーディングスタンダード
    10. CプログラミングFAQ―Cプログラミングのよく尋ねられる質問
    11. プログラミング診断室
    12. ハッカーのたのしみ
  2. RTOS, 組込みシステム
    1. リアルタイム組込みOS基礎講座
    2. 組み込みソフトウェアの設計&検証
    3. μITRON準拠TOPPERSの実践活用
    4. CとGNU開発ツールによる組み込みシステムプログラミング
    5. 組込みI/Oインタフェース基礎講座
    6. 30日でできる! OS自作入門
  3. ARM, Cortex, プロセッサ
    1. CPUの創りかた
    2. ARM Cortex‐M3システム開発ガイド
    3. ARMマイコンCortex-M教科書
    4. プロセッサを支える技術
    5. ARM組み込みソフトウェア入門
    6. GPU を支える技術
  4. 開発プロセス, マネジメント
    1. アジャイルサムライ
    2. 人月の神話
    3. Redmineによるタスクマネジメント実践技法
    4. デッドライン
    5. ゆとりの法則
    6. Manage It! 現場開発者のための達人式プロジェクトマネジメント
  5. Linux, Unix, シェルスクリプト
    1. UNIXという考え方
    2. 動くメカニズムを図解&実験! Linux超入門
    3. それがぼくには楽しかったから
    4. 入門UNIXシェルプログラミング
    5. Linuxのブートプロセスをみる
    6. sed & awkプログラミング
    7. Linuxデバイスドライバプログラミング
    8. 超例解 Linuxカーネルプログラミング
    9. ★ 私はどのようにしてLinuxカーネルを学んだか Device Tree編
    10. 詳解UNIXプログラミング
  6. Excel VBA
    1. ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
    2. 続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
    3. 続々ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
    4. Excel VBA逆引き辞典パーフェクト
    5. VBAエキスパート公式テキスト Excel VBA スタンダード
  7. Git
    1. 独習 Git
    2. 実用 Git
    3. わかばちゃんと学ぶ Git使い方入門
    4. GitHub実践入門 ~Pull Requestによる開発の変革
    5. Subversion実践入門:達人プログラマに学ぶバージョン管理
  8. Jenkins, CI, ビルド
    1. Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術
    2. Jenkins
    3. 継続的インテグレーション入門
    4. 継続的デリバリー
    5. GNU make
    6. Linkers & Loaders
  9. 技術系その他
    1. Docker&Kubernetesのきほんのきほん
    2. Emacs 実践入門
    3. 達人プログラマー
    4. レガシーコード改善ガイド
    5. Binary Hacks ―ハッカー秘伝のテクニック100選
    6. CODE コードから見たコンピュータのからくり
    7. GNU GLOBALハンドブック
    8. UML モデリングのエッセンス
    9. UML モデリング入門
    10. Make: Electronics ―作ってわかる電気と電子回路の基礎
    11. 珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造
    12. プログラミング作法
    13. わかばちゃんと学ぶ Webサイト制作の基本
    14. ソフトウェアライセンスの基礎知識
    15. ★ 暗号技術入門
    16. 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
    17. ★ ITエンジニアとして生き残るための指南書。 自分を守りアップデートするための18のテクニック。
    18. ★ターミナルソフトTera Termガイドブック
  10. 簿記, 財務
    1. ★ とある会社の経理さんが教える楽しくわかる!簿記入門
    2. ★ とある会社の経理さんが教える楽しくわかる!原価計算入門
    3. ★ パブロフ流でみんな合格 日商簿記3級 テキスト&問題集
    4. ★ パブロフ流でみんな合格 日商簿記2級 商業簿記 テキスト&問題集
    5. ★ パブロフ流でみんな合格 日商簿記2級 工業簿記 テキスト&問題集
  11. ビジネス, 自己啓発系
    1. ★ 職場の問題地図
    2. エリートに負けない仕事術
    3. プロフェッショナルの条件
    4. 10年後、生き残る理系の条件
    5. ★武器がないエンジニアは肯定を続けることで、武器を手にする。
    6. ★残酷すぎる成功法則
  12. ドキュメント作成
    1. ★ エンジニアのためのWord再入門講座
    2. ★ 伝わるデザインの基本
    3. ★ 考える技術・書く技術―問題解決力を伸ばすピラミッド原則
    4. ★ 「分かりやすい表現」の技術―意図を正しく伝えるための16のルール
  13. 英語、TOEIC
    1. フォニックストレーニングBOOK
    2. 世界一わかりやすい 英語の発音の授業
    3. DUO 3.0
    4. 一億人の英文法
    5. 総合英語 Evergreen
    6. 新TOEIC TEST 出る順で学ぶボキャブラリー990
    7. 出ない順 試験に出ない英単語
スポンサーリンク

C言語

C言語 ポインタ完全制覇

中級者向けの本です。この本を読めば下記のような複雑なポインタの宣言もさらっと読めるようになります。

int atexit(void (*func)(void));

また、文章がブログのような柔らかい語り口調なので読みやすいです。
たとえば p[i]*(p + i) のシンタックスシュガーであるという説明のところでは下記のようにポイントが示されています。

p[i] は i[p] とも書くことができる
上記のポイントに関するもっと大事なポイント

でも書くな

ポインタの話だけでなく、スタックやヒープなどの解説もあり、C言語全体の理解にとても役立ちます。さらに、普通の書籍ではあまり触れられることのない、現場で使われるC言語の定石も書かれていて、現場の空気を垣間見ることができます。

「ヘッダファイルには多重インクルードガードを」は当然として「ヘッダファイルはパブリックなものとプライベートなものにわけろ」などある程度の規模の開発では必須の
ことを教えてくれます。
また、「アサーション assert を有効につかえ」のような基本的なことや「0と\0とNULLのちがい」といった超マニアックな話題もあります。特にNULL周りの話は、わかっているつもりでもわかっていない事を思い知らされます。

また、下記のように書いたコードがどのようにふるまうかなんてこともわかります。マニアックですね。

(**********printf)("hello, world\n"); // どうせ * は何もしない

ポインタがなんとなくしかわかっていない人、C言語中級を目指す人にはお勧めの本です。現場の息遣いが感じられる良著です!

著者情報はこちら
@kmaebashi
K.Maebashi’s home page

C言語改訂版 2 はじめて学ぶCの仕組み

C言語には列挙型 enum があります。整数マクロの代わりに使われている場合が多いですが、enum の真価はそこではありません。
enum の理想(と哀しい現実)をここまでわかりやすく説明した本はほかに見たことがありません。
enum をただの連番を作ってくれる型だとおもっているかたにぜひぜひ読んでほしい本です。目からうろこ間違いなしです。enum のためだけに買っても損はないと思います。



エキスパートCプログラミング―知られざるCの深層

残念ながらいま(2022年03月時点)は絶版なのですが、もし本屋で見かけたら即買いです。読んでいて面白いしC言語の深いところを知ることができます。インターポジショニングなんてこの本くらいしか説明ないのではないでしょうか。リンカを使って既存の関数をおきかえる方法ですが、これを知っているとリンカのくせのある挙動が理解できます。その他にもいっぱい面白い項目があって、なんでこれが絶版なのか、ほんとうに惜しい。C言語の本で間違いなくダントツでナンバーワンです。

C言語デバッグ完全解説

書籍名の通り、C言語に特化したデバッグの解説本です。バグを難易度で「初級」「中級」「上級」に分けて、それぞれのレベルでのよくあるバグを例示しています。そしてそのバグの原因と修正方法を解説しています。デバッグとバグの起きにくいコーディングについて書かれた良書です。デバッグで困っている、コードレビューでよく指摘される、そのような方にオススメの本です。

初級について例を挙げると、下記のようなあるあるバグが例示されています。

#define FREE(p) free(p); \
                (p) = NULL

if (flag)
    FREE(p);

freeした後にNULLを入れて安全にする、ということがしたかったコードですね。ですがこれは下記のようにプリプロセッサで展開されます。いわゆるぶら下がり文のバグを思っ切り踏んでいます。

if (flag)
    free(p);
(p) = NULL;

解決方法はベテランの方はすぐに思いつくと思いますが、下記の例が挙げられていました。マクロ関数は do-while(0)で囲め、という古の戒め通りですね。

#define FREE(p) do {           \
                    free(p);   \
                    (p) = NULL \
                } while(0)

if (flag)
    FREE(p);

他にも中級、上級になると、バッファーオーバーランや乱数の精度、割り込み(シグナル処理)でのバグを解説しています。複雑なのでここでは例示できませんが、書籍を手に取ってみて確認してみてください。

後半はデバッグの方法(パラメータの振り方など)やバグの出にくいコーディングの方法を解説しています。気をてらったような記述はなく、現場でも口を酸っぱくして言われるだろう至極真っ当なことが書かれています。

ひとまずC言語の文法は覚えてコードはかけるけどデバッグに時間が取られている。コードレビューでバグの可能性をよく指摘される。そういう初級者から中級者の方にオススメの一冊です!

C言語 入門書の次に読む本

題名の通り、初心者が次のステップに進むための本です。入門書にありがちがなリファレンス的な内容ではなく、どちらかというとプラクティスを説明している本です。ヘッダファイルには何をかけばいいのか、ライブラリはどうするのか、などなど。入門書を一冊読み終えたひとにおすすめしたい本です。

プログラミング言語C

説明、いりますかね?いらないですよね。みんなご存知C言語のバイブル。少なくともANSI C の範囲ではもし何かあっても「K&Rの本に書いてある!」といえば相手を黙らせられます。
ただ難易度はしょうしょう高いです。Unix を知っていること前提な感じなので全くの初心者には向きません。情報系の大学生にちょう土いいかな、という感じです。
C言語をやるならとりあえず持っておくべき本でしょう。

組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド

自動車業界のひとたちが守っているコーディングルール MISRA の説明の本です。自動車はうっかりバグっちゃいましたテヘペロではすまないのでけっこうルールが厳しいです。他の業界がそこまでやる必要があるかというと微妙ですが、部分的に取り入れるのはありだと思います。意地でもバグを出したくないぜ!そのためなら自由を捨てるぜ!という方はぜひ。

CERT Cセキュアコーディングスタンダード

こちらはセキュリティ関係のひとが守るコーディングルールですね。うっかり脆弱性を作り込まないための本です。ほほう、そんなところに脆弱性が……?となるような項目がたくさんです。

下記の記事にて公式サイトで公開されている内容を紹介しているのでそちらもぜひ。

おすすめ書籍|組込みエンジニア向け
みなさん、技術書読んでいますか? 最近はGoogle検索でだいたいのことはわかるようになってきましたが、やはりストックの知識(体系的な知識)は書籍のほうが便利だと思います。 そこでこの記事では、私が読んだことのある本の中でプログラマ、ITエ...

CプログラミングFAQ―Cプログラミングのよく尋ねられる質問

ちょっと古いのですがこれも名著です。C初心者がつまづくところをFAQ形式で説明しています。多次元配列のポインタなんかぜったいつまづくよね、とおもったり。対象にしているCのバージョンが古いのでたまに今の規格とあっていないところもありますが、たいていはそのまま使えます。下記の記事で公開されているサイトを紹介しています。ぜひぜひ読んで。

おすすめ書籍|組込みエンジニア向け
みなさん、技術書読んでいますか? 最近はGoogle検索でだいたいのことはわかるようになってきましたが、やはりストックの知識(体系的な知識)は書籍のほうが便利だと思います。 そこでこの記事では、私が読んだことのある本の中でプログラマ、ITエ...

プログラミング診断室

これも名著ですね。やばいコードが盛り沢山です。世の中って広いんだなぁと思わせてくれます。下記の記事で公開されているサイトを紹介しています。ぜひぜひ読んで。

おすすめ書籍|組込みエンジニア向け
みなさん、技術書読んでいますか? 最近はGoogle検索でだいたいのことはわかるようになってきましたが、やはりストックの知識(体系的な知識)は書籍のほうが便利だと思います。 そこでこの記事では、私が読んだことのある本の中でプログラマ、ITエ...

ハッカーのたのしみ

書籍名だけみると、ネットワークの脆弱性の本かと思ってしまいますが、実際の内容は異なります。
たとえばもっとも簡単な例だと、1Word中の1のBitを数えるような、ビット演算レベルのアルゴリズムを紹介している本です。

こういうと「コンパイラが最適化してくれる」という意見もあるかもしれませんが、アルゴリズムレベルで異なるものは最近のコンパイラと家でもなかなか勝てません。たとえば最初に例をあげた「1Word中の1のBitを数える」というコードですが、本書では下記のようなコードを挙げています。配列も使わないし繰り返しどころか条件分岐すらない、ビット演算と加減算のみの高速なコードです。
なぜこれでビットの数え上げができるのか、本書では数学的な丁寧な解説があります。理論好きなかたにはたまらない一冊でしょう。

int pop(unsigned int x)
{
    x =  x - ((x >> 1) & 0x55555555U);
    x = (x & 0x33333333U) + ((x >> 2) & 0x33333333U);
    x = (x + (x >>  4)) & 0x0F0F0F0FU;
    x =  x + (x >>  8);
    x =  x + (x >> 16);
    return x & 0x0000003FU;
}

このような簡単な例からはじまり、ビット並び替え、整数の乗算除算、平方根や行列反転、ヒルベルト曲線など高度な話もでてきます。下記の記事もこの書籍を参考にしています。

C言語で2の累乗(2^n)への切り上げ&切り捨て
2の累乗(2^n)の値への切り上げ&切り捨てについて、効率的なC言語のコードの書き方をご紹介します。組込みファームウェアでは、2の累乗への丸めをする必要がままあります。またコードサイズを小さくすることが求められます。そこでビット演算を使った方法をご紹介します。

組込みシステムがリッチになってきたとはいえ、ブートローダのようにまだまだ1Byte単位で戦わざるを得ない場面もあります。
カーネルを触る人なら、ディスパッチャを1命令でも少なくしたいという要求もあると思います。

そのような限界へ挑戦するプログラマにうってつけの名著です。

スポンサーリンク

RTOS, 組込みシステム

リアルタイム組込みOS基礎講座

基礎講座の題名に反してちょっと内容がむずかしいですが、これをよめばRTOSのことをひととり解ると思います。セマフォやメッセージキュー、同期やデッドロックなど避けて通れない話題がたくさんです。ひとまず読んでほしい本。

組み込みソフトウェアの設計&検証

タスク設計の勘所なんかを学べる本です。RTOSだと設計といえばタスクスケジューリングの設計が主ですが、その方法を解説しています。破綻しない方法、デッドロック市内方法など。説明がわかりやすいのでおすすめです。後半はモデルを使った数学的な話がでてきて難易度が上がります。

μITRON準拠TOPPERSの実践活用

TOPPERS/JSP の本です。網羅的な内容ではないですが、いろんな各アーキテクチャへのポーティングの話があってカーネル理解の勉強になりますね。

CとGNU開発ツールによる組み込みシステムプログラミング

隠れた名著だおともいます。もっと売れていていいと思うんですけどねぇ……。コンパイルやリンク、ロードなどの説明から始まってDMAやLEDなどを制御するRTOSのデバドラの作り方、最後にRTOSの説明をしています。普通の教科書では概念だけで済ませるところをちゃんと説明してくれるのでホント助かりました。おすすめです。

組込みI/Oインタフェース基礎講座

組み込み関係の本ってさも当然のようにSPIやらUARTやらI2Cの話が出てきますが、それらを説明した本ってなかなかないんですよね。これはそういうI/Oを説明した本です。かなり珍しい本なので、そこらへんの話が苦手なひとはぜひ読んでおくといいと思います。

30日でできる! OS自作入門

おそらくこの本が OS 自作本のはしりじゃないかと思います。組み込みというより普通のPCのハードで動かす本です。ただ内容は組み込みにも応用できる話題がたくさんです。RTOS というより汎用OSのカーネルとかに興味があるひとが向いている気がします。

スポンサーリンク

ARM, Cortex, プロセッサ

CPUの創りかた

言わずとしれた名著。これを超える本は出てこないのでは。CPUの作り方をまなびながらハードの基本が学べます。プルダウン?なにそれ?というレベルでも読めます。とにかくまず読んで。これをよまなきゃハードは始まらないぜ。

ARM Cortex‐M3システム開発ガイド

ARMマイコンCortex-M教科書

プロセッサを支える技術

ARM組み込みソフトウェア入門

Cortex より前の、クラシックARMのときの本。ちょっと古いんですが、ARM系の組み込みソフト屋としては知っていて損はないことばかり。

GPU を支える技術

スポンサーリンク

開発プロセス, マネジメント

アジャイルサムライ

アジャイルの入門書といえばアジャイルサムライ!といえるくらい有名ですね。

マスターセンセイが、軽妙な語り口で分かりやすくも厳しくアジャイルについて教えてくれます。絵などが豊富でとても読みやすいです。そして内容も濃いです。アジャイルの根本的な考え方からはじまり、アジャイル的なチーム作り、見積もりのやり方、プロジェクトの進め方、そしてプログラミングの仕方まで説明があります。

出てくる用語をざっと挙げると「エレベータピッチ」「インセプションデッキ」「イテレーション(スプリント)」「スタンドアップミーティング」「ベロシティ」「ふりかえり」「WIP」など、アジャイルに欠かせないものをきっちりおさえてあります。他の本だと難しく書かれている説明も、現場にそった説明がされていて、とても理解しやすいですね。まずはこの本から始めるのがいいと思います。チケット駆動開発をするにもこれを読んでおくと導入しやすそうです。

ただ、唐突に「ファーンファーン ウィーヒッダステーッステー」とか書かれていたのは笑ってしまいました。楽しくアジャイルを学べる本です。

人月の神話

古典的名著。人を増やせば早く終わるってもんじゃねーぞというのを指摘した本。読んでないと話にならないくらいの名著です。必読。

Redmineによるタスクマネジメント実践技法

おそらくチケット駆動開発 TiDD の最初の本ではないでしょうか。いまでこそ当たり前になっているチケットによる開発ですが当時はまだ浸透していませんでした。おすすめプラクティスものっていて、これも必読。

デッドライン

ゆとりの法則


スポンサーリンク

Linux, Unix, シェルスクリプト

UNIXという考え方

Unix/Linux を使うならこれはよんでおかないと話にならないですね。Unixがどういうポリシーで作られているかを述べた本です。1つのコマンドには1つのことをやらせる、データはテキストであつかう(だからパイプなどでどんどんコマンドをつないでいける)など、基本をぎゅっと抑えられます。

動くメカニズムを図解&実験! Linux超入門

隠れた名著です。題名からは分かりづらいですが、組み込みLinux向けだと思います。対象読者はRTOSなどで組み込みシステムの基本を抑えた人向けかなと思います。RTOSからの移行組にぜひおすすめしたい。

それがぼくには楽しかったから

Linux をつくったリーナスさんの自伝。読み物としてどうぞ。

入門UNIXシェルプログラミング

シェルプログラミングといえばまずはこの本!という名著。シェルとはなにかから始まり段階を追シェルってシェルスクリプトに向かいます。途中には避けては通れない sed などの使用法も解説もあります。後半には豊富なサンプルがあり学習しやすいです。

bash の拡張機能などは載っていませんが、この本の書き方ならどこの環境でもまず動くと思うので、何はともあれこの本を読んでから拡張機能にi手を出すのがいいと思います。

Linuxのブートプロセスをみる

sed & awkプログラミング

Linuxデバイスドライバプログラミング

Amazonオンデマンドで再販中ですね。

著者情報はこちら
@55_youlab



★ 私はどのようにしてLinuxカーネルを学んだか Device Tree編

おそらく唯一のDevice Tree専門の本です。
最近の組込み業界はARM一色ですが、組込みLinuxも例外ではありません。そしてARM(だけに限りませんが)をLinuxで動かすためにはDevice Treeの知識がかかせません。結構最近できた、ハードの差異を吸収する仕組みなんでが、こいつがなかなかに難しい……。そして情報もすくない。そんな八方塞がりの状態をなんとかしてくれる良書です!

著者情報はこちら
@55_youlab

詳解UNIXプログラミング

スポンサーリンク

Excel VBA

ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本

続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本

続々ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本

Excel VBA逆引き辞典パーフェクト

VBAエキスパート公式テキスト Excel VBA スタンダード

スポンサーリンク

Git

独習 Git

ソフトエンジニア向けのGitの解説本です。これ一冊あればひとまずOKでしょう。

対象としては「いつもなんとなくpushとかpullとかしてるけどなんなのかはよくわからん」「環境がLinuxなのでSourceTreeとかの素敵なGUIツールが使えない」「コマンドラインでやらざるを得ない」というような、
ちゃんとGitを真面目に理解したい、理解しないといけないエンジニア向けの本です。

最近は非エンジニア向けに書かれた解説書や、GUIツール前提の本なども多く、それはそれでわかりやすいです。
確かにルーチンな作業はそれで十分なのですが、大規模開発でブランチを多用したり、開発リーダとしてGitの運用ルールを考えたりするような場合は少し心もとないです。
「rebase って何?」とか言ってるようだと、あとあと詰んでしまいます

この本は最初は易しいところから、少しづつコマンドを学んでいく形になっています。
最終的にはブランチを生やしたり、それを分岐元に追随されたり、マージしたりということを自在にできるようになります。

400ページ超あり、なかなかの分量ですが、その分ていねいに書かれています。

Gitの入門書を読んだけどいまいち何をしているかわからない人コマンドラインでGitを操作したい人にはうってつけの本です!!

実用 Git

オライリーのGit本です。オライリーだけあってけっこう高度です。Git 初心者がいきなり読むのはおすすめできません、先に独習Gitを読んでからこの本に進むことをおすすめします。
たとえばGit の得意ないい感じにマージするってのはこんなにむずかしいことやっているのか、と感心しました。

英語がデキルひとは新しい版に挑戦してもいいかもです。

わかばちゃんと学ぶ Git使い方入門

GitHub実践入門 ~Pull Requestによる開発の変革


スポンサーリンク

Jenkins, CI, ビルド

Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術

Jenkins

継続的インテグレーション入門

継続的デリバリー

GNU make

Linkers & Loaders

スポンサーリンク

技術系その他

Docker&Kubernetesのきほんのきほん

これはわかりやすい。Docker 最初の一冊におすすめです。Docker をこれから始める人向け。フルカラーで図もたくさんでとても親切。これ読んでわからなかったら、正直もう無理だと思う。それくらいわかりやすいです。

Emacs 実践入門

達人プログラマー

レガシーコード改善ガイド

Binary Hacks ―ハッカー秘伝のテクニック100選

CODE コードから見たコンピュータのからくり

GNU GLOBALハンドブック

UML モデリングのエッセンス

UML モデリング入門

Make: Electronics ―作ってわかる電気と電子回路の基礎

珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造

プログラミング作法

わかばちゃんと学ぶ Webサイト制作の基本

ソフトウェアライセンスの基礎知識

★ 暗号技術入門

数学ガールで有名な結城先生による暗号の解説書です。

最近は IoT の広まりにより組込み機器もネットにつながる時代です。そのため組込みエンジニアも、暗号処理や公開鍵基盤などのセキュア技術も知っておく必要が出てきています。しかし専門書はアルゴリズムがムスカしい数式で説明されており、その道の人でなければ理解するのが難しいです。

いっぽうこの本では、暗号の処理をおもにデータフローのような図解で説明してあり、また、実際のどのように使われるのか、なぜその暗号が必要なのかをアリスとボブのようなキャラクターで例示してくれるのでとても分かりやすいです。さらに、専門家なら常識すぎてあまり言及されないようなこともちゃんと教えてくれます。例えば「どんな暗号もいつかは解読される」「この製品は絶対に解読できない暗号をつかっている、などの宣伝文句は疑ってかかろう」という旨の注意喚起もあります。当たり前のような気もするかもしれませんが、偉い大学教授が堂々と「数学的に解読不能な暗号アルゴリズムを発明した」などとのたまったりする ので、油断なりません、大事な心掛けです。

内容としては、暗号の歴史的背景(シーザー暗号やエニグマなど)から始まり、対象暗号(DES、AESなど)、公開鍵暗号(RSAなど)について解説されています。さらにハッシュ(SHAやKeccakなど)やメッセージ認証(MAC)、デジタル署名、さらに電子証明書、公開鍵基板(PKI)の解説と続きます。さらに鍵とはなにか、乱数とは、などすこし高度な内容がつづき、最後に「暗号技術を組み合わせる職人芸」であるPGPとそのGNU実装の GPG(Gnu Privacy Guard)の解説があります。補足として、仮想通貨やビットコイン、また、最近の暗号のトレンドである楕円曲線暗号についても少しですが触れられています。

いきなり暗号の専門書をよんでも挫折することうけあいなので、一歩一歩わかりやすく解説されているこの本でまずは基本を押さえるのがよいかと思います!

著者情報はこちら
@hyuki
結城浩

暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

暗号を解説した本です。図や例がおおくわかりやすいです。また新しい本なので最近の暗号についての説明や技術について説明があるのも嬉しいです。内容もしっかりしています。
序盤は初心者向け、中盤は高校〜大学学部くらいのレベルの話があります。後半はビジネスロジックに近いところのお話。

充実した内容でかなりおすすめです。

★ ITエンジニアとして生き残るための指南書。 自分を守りアップデートするための18のテクニック。

技術書や研修などで学ぶような知識でなく、現場でしかも休憩時間なんか同僚や先輩との会話で出てくるような話題が多い稀有な書籍ですね。
ソフトウェア開発のことももちろん書いてありますが、それよりもふと現場で交わされる話題が多いです。そういうのってなかなか文書で読むことはない、現場で伝承されるある種の口伝です。

例えば「休日出勤の方が邪魔入らないよね」てのはよく聞くことがですが「代休取ればいいしね!お賃金ももらえるし!」まで書いてある本は見たことがない。職場ではよく聞く話題ですが。あとは「タバコ休憩」「トイレでの居眠り」なんかも現場ではよく出る話題ですね。
あとは「バグを市場に出してしまったとき、果たしてバグを入れてしまった開発者個人に責を求めるのは正しいのか?」というような話題もあります。

あまり書くとネタバレになってしまうのでここら辺にしておきますが、読者によって下記のような反応になるでしょう。

・若手(5年未満くらい) → ほえー。まじかそうなのか!
・中堅(20年未満くらい)→ あるある笑
・ベテラン(20年以上)→爆笑(著者談)

ゴリゴリの技術書といよりはエッセイに近い雰囲気でとても読みやすいです。電車内とかでも読めるのでおすすめです。
ITエンジニアとして生き残るための指南書

著者情報はこちら
@55_youlab

★ターミナルソフトTera Termガイドブック

みんなご存知Tera Termのガイドブックです。メンテナの平田豊さん著です。前半はTera Termの使い方、後半はTera Termの開発、メンテについてです。

前半のTera Termの使い方は、メンテナのかたが書いてあるだけあって細かい機能なども書いてあります。透過ウィンドウ設定ができるとか、10年以上使っている私もしりませんでした。
他にもマクロやショートカットなどの説明があります。いつも通り使う分には困ってなくても、より便利に使うために役立ちそうな情報がたくさんあります。

前半のTera Termの機能の使い方もいいのですが、個人的におすすめなのは後半のTera Termの開発についてです。OSSとしてTera Termのメンテが行われていった経緯などがつぶさに書いてあります。
Tera Term をアップデートすべく、オリジナルの作者である寺西氏に著者がコンタクト取ろうとする様子などが、実体験として書かれています。
世の中にはたくさんの素敵なOSSのソフトがあり、変更履歴やイシュー管理などされていますが、メンテナの心情や動機までは記録されていません。
この本は、そのようないわゆる「中の人」の心情が書かれています
これから先、OSSに関わってみたいという人に是非ともおすすめです!!

ちなみにですが、不肖私この本の帯を書かせてもらいました。でも大丈夫です、何部売れてもわたしは一銭もはいりませんのでそこは安心してお買い求めください!!

著者情報はこちら
@55_youlab

スポンサーリンク

簿記, 財務

会社は利潤追求を旨とする組織である以上、会社員はお金や資産について最低限は知っておかなければなりません。そのお金について学ぶ方法の一つとして「簿記」を勉強することが挙げられます。特に日商簿記検定は公的資格とみなされ、本屋に行けば大量の参考書がありますし、さらに履歴書にもかけてお得です。また、IT系の資格試験に比べ受験料も大変リーズナブルでお財布に優しい。

簿記を少しだけでもかじっておくと、世の中のお金の話が全く異なって見えてきます。あまり技術を知らない他業種の方がIT製品やサービスに触れるのと、私たちエンジニアがそれらに触れるのとでは見えるものが違うのと同様に、簿記を知らない人が見る社会のお金に関することと簿記を知っている人が見る社会のお金に関することは見え方が全く異なります。わかりやすい例で言えば「借金(負債)」ですね。簿記を知らない人は「負債(借金)→ 悪いこと!」と短絡してしまいますが、ちょっとでも簿記をかじっていれば「負債(借金)→現金が増える→それを投資して機材買ったりしてより利益を出せる(かも)」と考えることができるわけです。お小遣い帳の発想から抜けられるんですね。

ゲーテだか昔の偉い人が「複式簿記は人類の偉大な発明の一つ」という旨の発言をしたといわれていますが、確かにその通りかもしれません。お小遣い帳から複式簿記への進歩は、運動方程式や微積分の発見に匹敵する、というと大げさかもしれませんが、オブジェクト指向のパラダイムシフトより大きな変化だったのかもしれません。

また、よく転職市場では「ポータブルなスキルを持て」と言われます。つまり社外でも通用するスキルを持っていると転職で有利だよ、ということです。例えば特定のプログラミング言語は他社に行くと使えないかもしれません。まあプログラミング言語は比較的どこの現場でも使えますが、特定の開発ツールだと使えない危険性はもっと高まります。エンジニアの技術は可搬性がない場合があるんですね。比較して簿記などのお金のスキルはどの会社でも必須です。業界も関係ありません。貸借対照表 B/Sや損益計算書 P/Lのない会社はないでしょう。どこでも使える簿記。多分50年後も使える簿記。すごい。

ということで、エンジニアなわれわれも簿記の初歩くらいは知っておかないといけないので、そのための良書をご紹介します。

★ とある会社の経理さんが教える楽しくわかる!簿記入門

パンダさんたちが、軽妙なボケツッコミをしながら簿記の基本を教えてくれる本です。漫画と文章の2種類の解説で、簿記の本とは思えないくらいスラスラと読めちゃいます。ときどき唐突にマッチョになって簿記の重要性を説くパンダさんとかいい味出しています。

もちろん日商簿記3級に役立ちますが、試験対策というよりも、簿記の本質基本を現場の人が丁寧に教えてくれる本だと思います。著者のかたのサイトから、少しだけ試し読みができますので、ちょっとのぞいて見てはいかがでしょうか。

マンガがあるので内容が薄いのでは、と思っちゃう方もいらっしゃるかもしれませんが、そんなことはないです。むしろ簿記資格試験の入門者向けより深いと思います。この本も現場の息遣いが感じられるほんです!

著者情報はこちら
@soltaril
とある会社の経理さん

★ とある会社の経理さんが教える楽しくわかる!原価計算入門

これは楽しくわかる! 簿記入門の姉妹本です。原価計算は日商簿記2級の範囲(工業簿記)ですので、これから簿記を始める人向けでなく簿記3級を取得したくらいんレベルの人向けの本です。

これまたパンダさんたちが、軽妙なボケツッコミをしつつ難しいはずの工業簿記の原価計算を教えてくれます。今回も漫画と文章の2種類の解説で、簿記の本とは思えないくらいスラスラと読めちゃいます。パンダさんに加え、友人からカネをちょろまかしようとするサルさんとかいい味出しています。

もちろん日商簿記2級に役立ちますが、試験対策というよりも、これも簿記の本質基本を現場の人が丁寧に教えてくれる本だと思います。著者のかたのサイトから、少しだけ試し読みができますので、ちょっとのぞいて見てはいかがでしょうか。

マンガで原価簿記なんて説明できるのか?といぶかしがる方もいらっしゃるかもしれませんが、大丈夫です。やはり現場の人の書いた本は本質を抑えています。いきなり簿記2級の工業簿記をやるのではなく、先のこの本を読んでからの方がスムーズに進められると思います!

著者情報はこちら
@soltaril
とある会社の経理さん

★ パブロフ流でみんな合格 日商簿記3級 テキスト&問題集

簿記検定界の愛されキャラ、パブロフくんの簿記3級編です。4コマ漫画と文書での説明とでわかりやすく解説してくれます。このパブロフくんが意外とシュールで、持っている株(売買目的有価証券)が上がるようお祈りしたり、株価が下がれば株券を破っちゃったり、従業員に給与を払うのを嫌がったり、可愛さ大爆発です。パブロフくんとなら頑張れる気がします!

下記では、この記事を書いている時点での最新版へのリンクを貼っていますが、数年に一度改訂版が出されるのでねんために改訂されてないか確認してくださいね。

著者情報はこちら
@atsuko_pop
@pubboki
パブロフくんが日商簿記2級、3級を目指すブログ

★ パブロフ流でみんな合格 日商簿記2級 商業簿記 テキスト&問題集

一斉を風靡した、簿記検定界のマスコットのパブロフくんの簿記2級 商業簿記編です。4コマ漫画と文書での説明とを織り交ぜて解説して行くスタイルで、難しい内容もわかりやすく解説されています。
今回も、やはりパブロフくんが可愛いです。会社をどーんと設立しちゃって社長様になっていらっしゃいます。偉くなりやがって….
なんかシュールでかいがいしいパブロフくんと頑張りながら簿記2級を学んでいけます。

ちなみに簿記2級の商業簿記は、平成29年度に試験範囲が大幅に変わっています。数年前に受けて再度挑戦しようという人は、変更内容が「簿記検定ナビ」というサイトがこのページにまとめてくれていますので、ご確認ください。結構変わっております。。。

上記の通り、簿記検定は時々試験範囲が変更されます。それに合わせて参考書も改訂されます。この記事を書いている時点での最新版へのリンクを貼っていますが、ねんために現時点での最新版かどうか確認してくださいね。

著者情報はこちら
@atsuko_pop
@pubboki
パブロフくんが日商簿記2級、3級を目指すブログ

★ パブロフ流でみんな合格 日商簿記2級 工業簿記 テキスト&問題集

簿記2級 工業簿記編です。これも4コマ漫画と文書での説明とを織り交ぜて解説して行くスタイルです。ちょっとしたグラフなんかも出てきますがパブロフくんとお兄さんが親切に説明してくれます。

今回も、やはりパブロフくんが可愛いです。工場で作っている製品であるドッグフードをつまみ食いしたり、工場で走って転んで材料をひっくり返したりしています。悪いやっちゃ笑

工業簿記は、商業簿記に比べて試験範囲の変更は少ないのですが、やはり時々変更されるので、参考書の方も買うときは最新版かどうかチェックしてくださいね。


著者情報はこちら
@atsuko_pop
@pubboki
パブロフくんが日商簿記2級、3級を目指すブログ

スポンサーリンク

ビジネス, 自己啓発系

★ 職場の問題地図

職場の「あるある!」な問題を取り上げ、その対策案を示している本です。
「無駄な会議」「作業の属人化」「報連相の不備」「仕事しない人がいる」など、どこの職場でもありがちな問題を大きく11つ取り上げてあります。

この本の特徴は、ベテランなら「経験則」わかっているこれらの問題の対策を、「場」と「プロセス」に焦点を当て、言語化してシステマチックに説明してあることです。
例えばわかりやすい例として無駄会議をあげます。私の方で要約すると「目的の明確化」「出席者の厳選」「議事録容易化」「決定事項、宿題事項、次回予告の3点確認」の5つの対策が挙げられていました。それらの対策と得られる効果らを星取り表にして説明してあります。
単に対策をつらつら場当たり的に書いているのでなく、ちゃんと体系的にまとめられているのでとてもわかりやすいです。

また、各個人向けの仕事術的なことも書いてあります。基本的なことを抜粋すると「仕事とはインプットを成果物に変換すること」と定義し、
「インプット」「アウトプット」「目的」「関係者」「効率」の5つの要素に分解しています。いわゆる仕事がデキる人はこんなの当たり前だと思うかもしれませんが、
案外これを意識していない人は多いものです。特にこれから経験を積んでいこうとする若手は、これらに気づくまでにそれなりの時間を要する可能性があります。
これを体系的に言語化して理解できるのはメリットが大きいと感じます。
また、これら5つの要素をフレームワークとして、それぞれの職場の問題に当てはめ解決策を提示していきますので、解決のフローが明確となっています。

とてもわかりやすく書籍の構成、まとめかた自体が参考になります。

職場をマネジメントするマネージャ層だけでなく、これから仕事を覚えていく若手にもオススメの名著です!

著者情報はこちら
@amane_sawatari
あまねキャリア工房

エリートに負けない仕事術


著者情報はこちら
@zunzun428
ずんずんのずんずん行こう!

プロフェッショナルの条件

10年後、生き残る理系の条件

著者情報はこちら
@kentakeuchi2003
竹内研究室の日記

★武器がないエンジニアは肯定を続けることで、武器を手にする。

インフラ勉強会の立ち上げ人の佐々木康介さんの処女作です。「技術的な強みがないエンジニアがどうすれば戦っていけるか」を佐々木さんの視点で書いた本です。その内容は、一貫して「肯定しよう」というメッセージです。

一般的に、技術書の著者というのは難関大学出身だったり有名企業の研究開発部門の人だったりということが多いですが、佐々木さんは「大学文系→商社営業→インフラエンジニア」という経歴の持ち主です。
理系バカ(私含め)が多いIT業界において、独特な経歴からの視点でIT業界を観察し生き抜いていく心得がたくさん書かれています。

イケてるプログラミング言語や流行りの分野の話などは出てきません。着実に、日々の業務を成し遂げ成長していくか、その視点で実体験をもとに書かれています。題名にもなっている「肯定」の力で物事を捉え、やるべきことやれるべき事を実行していこうというスタンスですね。

何かと後ろ向きに物事を捉えがちな我々理系エンジニアとしては、新しい視点を教えてくれる良書です。もちろん得意不得意があるので、そのまま真似はできないかもしれませんが、自分の今の強みとミックスさせていけば必ずや前に進めると思います。

「20分で読めるシリーズ」とのことで分量は多くないので、通勤時間などでサクッと読めると思います。自分は後ろ向きだなあ、実行力がないなぁ、などと悩んでいるエンジニアに、ぜひ読んでもらいたい本です

★残酷すぎる成功法則

成功するためのハウツー本は巷にあふれていますが、どれもだいたい作者の体験談とかで「それってアナタの主観ですよね?」といいたくなるようなものばかりです。しかしこの本は、あらゆる法則にエビデンス付きで考察しています。つまり科学的なのです。すべてに論文などのエビデンスをもとに書いてあります。

よくある成功者の自慢話ではなく、真に客観的な成功法則を知りたいかたにぜひおすすめしたい本です!

スポンサーリンク

ドキュメント作成

★ エンジニアのためのWord再入門講座

「くたばれ!Excel方眼紙!」という章があったりして過激な感じをうけますが、内容はとても真摯な本です。MS Wordの「スタイル」という機能をつかって、見栄えよくかつメンテナンス容易にできるようにしてくれる本です。

筆者の「ドキュメントの内容は当たり前品質」という考え、つまりプロなら内容はちゃんとしていて当たり前という考えが随所にでています。内容がちゃんとしているのは当たり前という考えのもと「1に見栄え、2にメンテナンス性」という最初の段階と断言しています。こうかくとなんか見栄え重視の薄っぺらい本かと思うかもしれませんが、さにあらず。まるでソースコードを書くように「設計」や「DRY原則」を重視しています。むしろ、見栄えに時間をとられたくない硬派なITエンジニアのための本といえます。そのためのMS Word のほんとうの実力を引き出してくれる本です。

★ 伝わるデザインの基本

題名からしてデザイナーさん向けの本に見えますが、そうではありません。むしろ非デザイナー向けの本です。もともとが「研究発表のユニバーサルデザイン」というサイトがベースになっており、オシャレな広告を作るというようなものではありません。わかりやすい表やグラフ、図を作るためのものです。それらのコツを伝授してくれます。
文字を詰め込みすぎるなとかフォントの選び方などの超ベーシックなところから、グラフのみやすい作り方、見やすい表の枠組みの作り方、さらに配色や余白、ベクター形式がいいかビットマップがいいかなどの細かいところまで網羅しています。これさえ読んでおけば、普通にエンジニアが資料を作るには十分すぎると思います。超おすすめです。ひとまず著者のサイトを見てみてください。その内容が気に入ったらぜひ本を手にとって見てください。さらにたくさんの情報が学べます!

著者情報はこちら
伝わるデザイン

★ 考える技術・書く技術―問題解決力を伸ばすピラミッド原則

古典的名著といえる本です。よくある「結論から書け」などという曖昧模糊とした方法論ではなく、もっと具体的な方法を教えてくれます。その原則さえ抑えておけば、メールでもドキュメントでも、文章を書くのが随分と楽になります。仕事で文章を書くのに詰まったときはいつもこれを引っ張り出しています。
ただ惜しむらくは、文化的背景の違いなのか、なぜか本書はわかりづらいということです。例文が難しすぎる気がします。ただ、書いてある原則自体はシンプルなので、ちょっと辛抱して読んでみてみると良いかと思います!

★ 「分かりやすい表現」の技術―意図を正しく伝えるための16のルール

こちらも古典的名著といえる本です。どういうものがわかりづらいのかの実例をあげ、それが何故わかりづらいのかを解説し、改善版を示してくれます。非常にわかりやすい本です。また新書サイズなのでいつでも読めるのも嬉しいところです。「考える技術書く技術」を読む前にこちらを読んでおくといいかもしれません。これも必読の本です。

スポンサーリンク

英語、TOEIC

英語、得意ですか?私はあんまり得意ではありません。といっても英語からは逃げられないのでやるしかありません。
やると言っても、英語やTOEICが必要になるのはエンジニアに限らないので本屋には迷える英語難民を救う本にあふれています

そんな大量の本の中から自分にあったものを選ぶのは大変かと思います。
そこで、あまり英語が得意ではない人向けにあまり英語が得意でない私が選んだ英語勉強用の本を紹介します。中学レベルの英語はなんとかわかるけど高校レベルはかなり厳しい、くらいの英語レベルでも読める本たちです。

近くの書店に在庫がなかったときは、出版社やAmazonを眺めていただけるといいかと思います。
(このブログにも紹介文はそのうち追記したいと考えています)

フォニックストレーニングBOOK

世界一わかりやすい 英語の発音の授業

著者情報はこちら
@sekimasao

DUO 3.0

一億人の英文法


著者情報はこちら
@HIROTOONISHI
大西泰斗オフィシャルブログ「英語教師。」

総合英語 Evergreen


新TOEIC TEST 出る順で学ぶボキャブラリー990


著者情報はこちら
@masayakanzaki
TOEIC Blitz Blog

出ない順 試験に出ない英単語



著者情報はこちら
@NISE_TOEIC

コメント

  1. […] おすすめ書籍|組込みエンジニア向け […]

  2. […] エンジニア向けおすすめ書籍みなさん、技術書読んでいますか?最近はGoogle検索でだいたいのことはわかるようになってきましたが、やはりストックの知識(体系的な知識)は書籍のほ […]