Eng (なりたい)

はやく エンジニア になりたい

2週間休みだったので興味がある本を読み散らかした。

5月後半の2週間お休みだったので、自分を甘やかして「自分の興味のある本を片っ端から読み散らかして良い」という期間にしました。

まったくもって有益ではないですが、読書記録として感想を書いておこうと思います。

ガッツリ読んだ本

思考する機械コンピュータ

論理回路からAIまで、コンピュータというコンセプトの全体感を楽しみながらつかめる良書だと思います。

各章に出てくる事例も面白いものが多く、知的好奇心が刺激されまくりでした。大学時代の自分に勧めたい一冊。

コンピュータシステムの理論と実装

nand2tetrisでおなじみの本ですね。 NANDとDFF回路を手持ちにOS(と本書で定義されるソフトウェア)を作っていくという流れです。 各章ではどう実装するか、ではなくどういった機能を実装すべきかという仕様(と実装のヒント)が示されます。

最適化などはもちろん考慮されておらず、最低限の機能を対象としていますがそれでもこの内容を1冊で学べるので個人的にはとても良い本だおともいました。

コンパイラの章は僕の知識不足で実装しきれなかったので、この機会に勉強してリベンジしたいです。おすすめの本などがありましたら教えて下さい!!

オペレーティングシステムの仕組み

ひとつ下の 作って理解するOS を読みはじめたところ、「OSなんもわかってないじゃん…」という気持ちになったので購入して通読しました。 比喩によって説明して「結局どういうこと?」みたいな部分がなかったのが個人的にとても良いと思った点です。

「メモリとは、1バイトのデータを格納できる箱が並んだようなものであり、それぞれの箱にはアドレス(address)という通し番号のようなものがついている」というイメージで説明されてきたはずである。これはメモリに対する素朴なイメージでしかない。

そのレベルで教わってきていたのでとても助かりました笑

作って理解するOS

作って理解するOS  x86系コンピュータを動かす理論と実装

作って理解するOS x86系コンピュータを動かす理論と実装

  • 作者:林 高勲
  • 発売日: 2019/09/26
  • メディア: 単行本(ソフトカバー)

突発的にOSに興味が出たので読み始めた本。まだ8割ほどしか読めていないです(重い…)。

全体として、前半はコンピュータのしくみ・ハードウェアの基礎・CPU命令の仕様 と続き、後半でいざOS実装!!という流れです。

前半は座学っぽくなっているので若干読み進めるのに根気がいりますが、復習としてとても良かったです。 ちなみに、開幕は2進数の説明からはじまります。2進数知らない状態からOSを実装できる状態までもっていくってすごすぎでは…。

今は後半の途中なのですが、全てアセンブリによる実装なので噛み砕いていくのに時間がかかります。 ただその分挙動の解釈に間違いがうまれにくいかなと思いました。

完走がんばります〜

手を出し始めた本

コンピュータの構成と設計

パタヘネ。

コンピュータ何もわからなくなったので復習し始めました。 まだ1章ですが、読んでて楽しいのでちょくちょく読み返していきます。

計算機プログラムの構造と解釈

実際には非公式日本語訳のほうがわかりやすいとのことだったので下のPDFを読んでいます。 N回挫折しているので今回は大学時代の友人を巻き込んで毎週読み合わせをしています。 ありがたい。

github.com

正直 やっと2章までたどり着いた程度なので感想的なものは書けませんが、数学的な能力のほうが不足しているせいで演習問題や例題の理解にビビるほど時間がかかります…。みんなで頑張ろうな!!

感想

普段の業務では直接的には活きなさそうだけど興味があった分野の本を読み漁りました。 友人とのSlackで僕が理解した内容をひたすらつぶやき続けるチャンネルを作ってブツブツ言いながら2週間を過ごしました(リアクションしてくれたみんなありがとう…)。 これで僕もつよつよエンジニアに近づいた!! という感覚は皆無ですが、こういう勉強はこれからも時間を見つけて続けていきたいなと思います。