5月に読んだ本

Vue.js入門 基礎から実践アプリケーション開発まで
 

Vue.js入門 基礎から実践アプリケーション開発まで | 川口 和也, 喜多 啓介, 野田 陽平, 手島 拓也, 片山 真也 | コンピュータ・IT | Kindleストア | Amazon

業務でVue.jsを書いているけれどかなり雰囲気で書いているという意識もあったのでリラーニングの意味も込めて読んだ。Vue.jsを学ぶ上で必要なことがほぼほぼ網羅されていてかなり良い本だった。フロントエンドのテストコードとか書いたことがなかったのでテストコードに触れられたのは良い経験だった(書かないと思うけど)。Vueは公式のドキュメントが充実しているけれど個人的にはあまり読みやすいと感じていなかったのでこっちで一通り知識をさらえたので助かった。

 

 コーディングを支える技術――成り立ちから学ぶプログラミング作法

 Real World HTTPにて、C++の言語仕様についての文脈で触れられていて、良さそうな本だなと思い、手にとった。プログラミング言語一般に存在するような言語仕様について明瞭にまとめられていて勉強になった。それぞれ仕様として理解していても、それが何を実現したくて実装されているのかといったことを考えたことがなかったが、意図を理解することでそれぞれの使用について理解が深まったと思う。

中でもアセンブラの話題からif elseやwhile、forといった制御構造がgotoで実現可能であり、可読性を高めるためにもたらされている制御の仕組みであるという点は、自分の中になかった観点だった。本書を読んでコンパイラやパーサーの実装への興味がでてきた。

 

入門 コンピュータ科学 ITを支える技術と理論の基礎知識

 

 CSの話題が広く触れらていて、前掲の「コーディングを支える技術」の内容をより深堀りするような内容もあり、連続して読んだことで理解が深まったように思う。よりハードに近いというかCPUとメモリや記憶媒体でプログラムやアプリケーションがどのように実現されているのかということが理解できるような内容で勉強になった。自分の中でアプリケーションレベルのレイヤーの高い部分からハードの部分まで浅い理解ではあるけれど全体的な仕組みがようやく理解できたような気がする。

 

 

ここ3ヶ月くらいで本を10冊ほど読み、読書によって身についたことも多いと思うが、圧倒的にコードを書く量、読む量が少ないと感じるのでこの2点について意識的に増やしていきたい。どれだけ本を読んでもコードに触れる量が少ないとたかが知れていると思う。

6月はとりあえず

 

 

を読んで、あと今秋の応用技術者を受ける予定なのでその過去問をできれば良いかな。

 

てかはてなのツールでAmazonのリンク発行するとはてなアフィリエイトURLになってるっぽいのワロ

4月に読んだ本

もう6月ですが、4月に読んだ本についてかきます。

一応メモとかは残してるけど、だいぶ何読んで何感じたか忘れてるなと感じるので、まじで毎月書こう

 

 LPICレベル1 レベル2

  

開発に使う環境はLinuxではないけれど、業務内でそこそこLinuxでサーバーいじる機会が増えてきたので勉強した。本当は資格もとってしまおうかと思ってたけれど、いきなりレベル2をとれずレベル1を受けてからでなくてはいけない点と、そこそこ試験料が高かったのでやめた。

レベル1についてはかなり基本的な内容だったのですぐ読み切って、レベル2を読んだ。読んだことでなにかが明確にできるようになったというような感覚はないけれど、Unixの文化を感じる一端にはなったのかなと思う。シェルスクリプトとかもそうだけれど、ここらへんの習熟ってなにかUnixの文化を理解すると徐々に進んでくると思う。加えて、ここらへんで自分のリポジトリにdotfilesをまとめるようになったのがおそらく理解に役立ったかな。

 

 Real World HTTP

良書との評判高い、本書を読んだ。HTTP Real Worldといつも間違えてしまう。社内勉強会に来て頂いてる講師の方がおすすめしていたこともあり手を付けた。

良書の名に違わずHTTPについてまとまった内容で良かった。こういう本少ないのだろうか?HTTPのやりとりが究極プレーンテキストのやりとりで、そのなかでシンタックス、セマンティクスの拡張という歴史の流れが追えた点が何より良かった。同じ時期にマスタリングTCP/IPが読めたのも良かったかな。

ただ、全体としては事実の羅列に近いところもあって内容は三分の一くらいしか咀嚼できていないとおもうのでどこかで振り返って読みたい。

 

 マスタリングTCP/IP 入門編(第6版)

 会社においてあったのが第5版だったので、6版を買って読んだ。周りの人間で分量が多くて読みきれんと言う人がいたので読みづらい本なのかなと思っていたけれど、読みやすかった。TCP/IPについてかなり明瞭に書かれているしアナロジーもたくさん使われていて、分量の割にかなり読みやすい方に分類される本だと思う。

内容としては、おおよそで理解していたネットワークの知識が再整理できた点がかよかった。解像度が1段上がった感覚がある。読んだあとにネットワーク周りのプロトコルを実現するプログラムがどのようなものなのか気になった。イメージ大体Cで書かれてそう。

 

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

 ほぼ管理はしてないけれど一応管理職なので読んだ。

全体を通して一般論が述べられていて抽象度が高かったこともあり、なかなか理解が難しかった。ただ、マネジメント職のエンジニアの一般的な悩みである、マネジメントに時間を取られ自らの技術力向上、コーディングに時間が取れないといった点にも触れられていて、このあたりは自分のこととして読めたと思う。

また、本の中で強調されていて気になった点としては、「チームの健康度」といったワードや1on1などのコミュニケーションの大切さがあって、ここは日々の業務のなかでも痛感している部分で、のちに実際の業務に反映できているのは良かった。

 

 

今月は4冊目標のところ5冊読めた(+Gopher道場もやった)のでタスクは消化できて達成感があるけれど、早く読もうとするとやはり理解度が落ちてしまうとも感じるのでここはバランスをとらないと行けないと思う。ただ、ゆっくり精読したところで時間に比例して理解度が上がるとも必ずしも言えないのが難しい。。

 

 

 

 

 

3月に読んだ本

今更ですが3月に読んだ本について書きます。

今月は3冊読んだ。基本的には1ヶ月に4冊読めたらいいなと思ってるけど読めたり読めなかったりですね。

 

プログラミングの基礎

プログラミングの基礎 *1 | 浅井 健一 |本 | 通販 | Amazon

内容としては、OCamlの入門書といった内容。演習問題もしっかりやると結構重いが、やると力つくなと感じた。関数型言語に入門したかったのと、良書との評判を見かけたので読んでみた。評判通り良書だった。OCamlの基本的な操作に加えて最後はメトロネットワーク問題を解くプログラムをつくるという流れだったが、関数型言語に特徴的ないくつかの要素、参照透過性や高階関数などに親しむことができた。関数型言語に触れてみたかった理由のひとつとして、新しいパラダイムの言語に触れることで普段書く(関数型でない言語の)コードの幅を広げたいということがあったが、これまで手続き的な考え方しかできていなかったところが、多少データの構造であったり処理の構造に気を使って処理を書くようになっとと思う。

またこれまで基本的にLL(軽量プログラミング言語)しか触ってこなかったが、OCamlの強い静的型付けを経験できたこともよかった。ほかにもメトロネットワーク問題を解くなかで木構造を実装するところがあったが、こんなにエレガントにかけるんだ。。と驚いたり、学ぶことの多い一冊だった。

OCamlで何か作れればと思っているけれど、未だに何も手を付けられていない。。。

 

オブジェクト指向でなぜつくるのか

オブジェクト指向でなぜつくるのか 第2版 | 平澤 章 |本 | 通販 | Amazon

図書館で借りて読んだ。この本はかなりさらっと読めた。一番勉強になったと感じたのが、クラスがユーザー定義の型としての意味合いをもっているということ(他にも継承によるコードの再利用といった側面もあるが)。オブジェクト指向の概念が何故捉えづらいのかといったテーマから本が始まっておりそこへの応答に比較的量が割かれていたけれど個人としては、オブジェクト指向を実現する言語仕様についてわかっていない部分が多かったのだなと感じた。

 

プログラマが知るべき97のこと

プログラマが知るべき97のこと | 和田 卓人, Kevlin Henney, 夏目 大 |本 | 通販 | Amazon

 

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

 

図書館で借りて読んだ。97個の独立したエッセイが掲載されている本なので、あまりピンとこないものもあったり、勉強になったと感じるものもあったりといった感想。

他にもたくさんあるけれど、ここらへんが参考になった。

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

 

コード書くのもそうだけど他人のコードを読むのが力つくというのは、自分がLaravelのコンテナのソースコードを読んでから解像度がコードに対しての解像度がかなり上がったという経験からも実感をもって感じていたので意識的にやっていきたいと思うTipsだった。

 

4冊に届かなかったのが残念。。。

*1:Computer Science Library