最近読んだ本(2021年1、2月)

読んだ本、読んでいる本。

今年は本をどんどん読んでいきたい。

実践Rustプログラミング入門

三ヶ月ほどでやっと読み終わった。人と読むのはやはり偉大、途中で挫折しない。実践的な目的(GUIアプリ、組み込み、Webアプリ、WebAssemblyの何かしら動くものを作る)のために手を動かせる構成であったためとりあえず手を動かして覚えたい自分には非常にありがたかった。蟹本に比べるとCS的な説明は少ない気がする(読んだ人に聞いた感想)。CS的な説明が少ない分CS的な背景が必要となるor背景を知っていた方が面白くなる部分が多い。例えばコンパイラの気持ちを考えながら読み進めていくとより深く理解できる気がする(所有権、参照、マクロの字句解析、構文解析など)部分や、非同期処理、並列プログラミング(Mutex, Semaphoreなど)、スレッディング、プロセスなどのOS関係の話を知っておいた状態で読むと良いかも。

これだけは知っておきたい「税金」のしくみとルール改訂新版6版

確定申告が近づいたのでこれを機に読んでおこうと。知人によるとFP3級よりは難しいらしい。よく出来た仕組みだなあと感心したと同時に、これをコードに落とし込むfreeeのエンジニアは大変だなあと。 既存の仕組みをITに適用して効率化を図るアプリケーションを作りたいという野望。既存の仕組みの上に乗っかって最適化、効率化を図るのがITの社会に対する意義だと最近思い始めてきて、結局それぞれのドメイン知識知らないと課題もわからないし、最適化、効率化もできないのではないか?と思えたのでこれ以外にも積極的に仕組み、ルールを学んでいきたいな。ITに関わる人はたとえエンジニアでも広くジェネラリストであったほうが良いのではという持論を強めた(他の理系分野に比べて)。

これだけは知っておきたい「税金」のしくみとルール改訂新版6版

これだけは知っておきたい「税金」のしくみとルール改訂新版6版

  • 作者:梅田 泰宏
  • 発売日: 2020/06/24
  • メディア: 単行本(ソフトカバー)

推し、燃ゆ

ミーハーなのでね、もちろん読んでいく。

何もしていないでいることが何かをするよりつらいということが、あるのだと思う。

自宅にずっと籠もっていると、コードを書いていない自分、インプットしていない自分、アウトプットしていない自分が否が応でもわかってしまい辛くなるときがある。自分を支配するのって難しい、実は大学への通学したり、授業を受けたり、バイトしに会社に向かったり、会社で働いたりが何かしているって安心感を維持する点で重要だったのかもしれない。さすがに労働しているフリを出すために窓際社員がリモートワークを頑なに拒否するほどではなくても、否が応でも自分と向き合わないといけない時間が増えたと感じられる。自分と向き合い続けてもおかしくなっちゃうから何か熱中して骨になるのは大事なんだけど、いざ振り返ったときに現実の色んなことを失いつつある自分に気づいて戸惑うことを繰り返している。そんなもんか

余計なことを削ぎ落とし続けて結果を追い求め続け背骨だけになった自分に肉を付ける一年にでもしたい。まあどちらも必要な時期だよ。

推し、燃ゆ

推し、燃ゆ

五色の虹

三浦英之が満州国の建国大学卒業生にインタビューして回ったドキュメンタリー。

読み進めるうちに共同体の一部であるという所感が自分から失われつつあると感じた。自分一人で生きているかのように錯覚していた。と同時に社会的義務感を久しぶりに認識した。 同年代の建大の青年の日記から、一見自己肯定感の低さのように見える自分自身に対する高貴さを感じ取ったのだ。自分の社会に対する役割から自身の行動を規定する。自身が高まるためには、自身の目標に近づくためには、自身はどうあるべきか、といった。

若い頃は目の前に沢山の道が開けていて、全部が自分の可能性のように思えてしまう。すべてが自分の未来だと勘違いしてしまうんですね。でも本当はそうじゃない。そのうちのほんの一つしか選べない。自分が生きてきた人生がすなわち私の人生だとすれば、私はわたしの人生に悔いというものはありません

人の人生なんて所詮、時代という大きな大河に浮かんだ小さな手こぎの舟にすぎない。小さな力で必死に櫓を漕ぎだしてみたところで、自ら進める距離はほんのわずかで、結局、川の流れに沿って我々は流されていくしかないのです。誰も自らの未来を予測することなんてできない。不確実性という言葉しか私たちの時代にはなかったのです

という言葉が胸を刺した。心のどこかで自分の進路を規定すること、覚悟を持つことを恐れていた。可能性を捨てるのが怖かった。中途半端に確実性が高まった世の中で確実なものに身を預けたがっている自分を感じ取れた。確実性は氷山の一角でしかなくコロナウイルスが流行して不確実性が浮き彫りになっただけだ、そもそも確実性など無いんだよ。とはいいつつ完全なる確実性も不確実性もなく時代とともにパラメータが微妙に変化しつつある気がしている。

Docker実践ガイド 第2版

なんちゃってインフラエンジニアをずっとやっていたので定期的にインフラインプットをしたい第一弾。この本はcgroup、名前空間やストレージドライバなどのOSに近づいたコンテナの背景も説明してくれるし網羅性が他の本よりも広いので何となく使えるのレベルを超せる気がする。なぜDockerがアプリケーションコンテナなりうるかもこの本を読んでから技術的に理解できた気がする。コンテナ内名前空間ではアプリケーションのPIDが1になるからだ。複数プロセスを動かしてコンテナを止めたときPID=1のプロセスは消されるが残りのプロセスがゾンビプロセスになってしまうらしい。systemd(/sbin/init)を使ったり、複数アプリケーション管理用のシェルスクリプトを使って複数プロセスを管理できるならコンテナ一個でも代替はできるらしい。もちろんアプリケーションコンテナの利点を活かす(アプリケーションごとにスケールしやすいなど)ために、1コンテナ1アプリケーションの方が良くはありそう。VMのように複数アプリケーションを動かすならそれこそLXD使えばいいね。

話が脱線するが、ハードウェアが異なる環境にコンテナをマイグレーションするのって、現実のコンテナの載せ替えのようだ。船からトラックへの載せ替えと近い。何かしらの規格に詰め込んでしまえば他の媒体との交流の効率が著しく向上する。そして輸送効率化のせいで港湾労働者が必要とされなくなるのはAIで仕事が奪われる人間と近いかもしれない。個人的には何か仕事が奪われたらまた新しい仕事が生まれる気がしている。大きな歪みが一時期生まれたとしても何だかんだ世の中は適応して調和に向かってうまく回っていく気がしている。大きな歪みはコロナ下の現代みたいだ。