midnight in a perfect world

webエンジニアのメモ

「パーフェクト ruby on rails」を読む。

実際には実務に合わせて読み進めている状態だが、railsで開発する日本のweb企業所属のエンジニアには2022年の現代にも普通に通用するrailsの構築パターンを学べる。

2020年刊行の本を元に学習を進めていたが、今学んで特に損することはないくらいに学べる。約10年間の大手金融系SIerなら迷わずJavaだったし、当時40歳くらいの技術講師は「Javaを書ければ君たちは生涯エンジニアとしてくいっぱくれない」的なことを講師から言われた記憶はあるが、完全に空手形だったなという笑い話でしかない。過度に期待していたわけではないが、2022年で新サービスの構築でJavaを使う企業はほぼないと思うしね…

とは言え、本書はフロントエンド、バックエンドを問わずrailsの設計思想に沿ってwebサービスを構築するという目的には沿った内容が紹介されていると思う。ちゃんとrspecなどのテストを書く従量制についても触れているので総合的に多様なメンバーでサービスのグロースをするための手法と言っても良いくらいの学びを得ることができる。

「サーキット・スイッチャー」を読む。

シンプルに面白かった。よく聴いているポッドキャストのe34で存在を知り、気になったSF小説

e34.fm

いろんなレビューにある通り、映画化がすごくハマりそうなスピーディーな物語。評者が言及している通りエンタメ作品としてすごく完成度が高く、サスペンスとして謎が少しずつ明らかになっていく過程や構成、演出がうまく、引き込まれる。無駄のない筋肉質な感じの文体で、かつ現役のソフトウェアエンジニアということでエンジニアリングに関する描写の正確さもあり、藤井大洋氏の小説の読後感に近い。

テーマとなっているトロッコ問題の現実社会への実装方法についてはかなりアクチュアルで今後の人類の課題になることが確定してるなと感じた。確定してるのに正解がないから、実装を各々の裁量に委ねるべきなのか、まず応急処置的に一律で普及を目指すべきか。最後に主人公が取った大きな決断というのも社会全体に対して良いようで、即座に敵側から問題を指摘されていたりするのがリアルだった。

「真似のできない女たち」を読む。

タイトル通りの内容。主に20世紀に西洋世界で活躍した女性たちを約20人取り上げて、山あり谷ありの人生について語るというもの。高級な週刊大衆誌という感じなのだが、現代で読むと彼女たちの生き方が型破りで強い社会性を帯びていて面白かったりする。

序文にもある通り、彼女たちは一概に「偉人」として伝記が語られるような類の人たちではなく、とても人間臭く失敗したり成功したり落ちぶれたりもがいたりする。ちょうど昨年読んだ黒人興行師フレデリックの生涯がなんとなく思いうかんで面白かった。人類の歴史を揺るがすような大きな偉業を遂げたわけではないけど、彼らが関係する社会に大きな影響を与えたのは確かな女性たち。

timit.hatenablog.com

どの人物も面白いのだが、アメリカのアフリカ系女性初のコミック作家であるジャッキー・オーメス氏の仕事ぶりには素直に尊敬した。絵柄も現代に通じるほど非常に丁寧でオシャレで知的な感じ。めちゃくちゃかっこよくて尊敬しかない。

nitter.net

 

テスト駆動開発」を読む。

名著と名高い本書だが、若干読むのが早すぎた感じがある。今の所自分が担当するシステムでテストに関わるのはRSpecとかrubocopくらいなのだが、日常的に書く訳でもない。またサンプルコードがjavapythonでそれほど馴染みがなかったこともあって、コードレベルでの理解はやや追い付かない部分があった。

ただ、コードを書く上での著者の思考の流れを追体験するような感覚で読めたのは面白かった。「todoリスト作ってみる」とか「とりあえず動かしてみる。その後きれいにする」とか「うまくテストが通らなければ歩幅を小さくして進める」とか「superを使って別々のテストに共通する重複を排除する」とか「いったんコーヒーでも飲んで落ち着こう」みたいな感じでかなりリアルで共感できて、なるほど、確かに似たようなことは自分でもやってるよなと思ったし学びや自信になった。

後半になるとリファクタの仕方とかもう少しレイヤが上がって設計に関する話がメインになるのだが、同僚とか身内ネタなどを交えつつ筆致が軽くてわりかし読みやすくて面白いのも良い。最後に訳者の和田卓人氏による現代(2017年)においてのテスト駆動開発の現状について述べられているのも良かった。現実主義的VS教条主義的な派閥争いとかTDDをさらに進化させるような技法が出てきていたりといった内容で、時間なければここだけ読むのでも効果はあるように思える。

「10年戦えるデータ分析入門」を読む。

面白かった。エンジニアとマーケッター(アナリティスト)の間を行き来しつつ、あくまで「事業に役立つデータ分析」を学ぶことができる。SQLで生のテーブルからデータを抽出し、データマートやETL/ELTの工程を踏んで実務的なBIに起こし込むまでデータに関して全般が紹介されている。

SQLで自在にデータを抽出する技術だったり、データの横持ち→横持ち変換など著者が実際に現場で学んできたノウハウが詰まっている感じで参考になった。

unix考古学」を読む。

技術書ではなく、UNIX創世記についてケン・トンプソンやデニス・リッチーを中心に関係者の証言や公式文書などからまとめたもの。派生してオープンソースやインターネットやC言語、ハードウェアとしてのコンピュータ自体の歴史についても学べる。資料の集め方が研究者的で知的誠実さを感じ、読んでいてめちゃくちゃ面白かった。

単に技術的な話に止まらず、1960年代から遡ってアメリカの当時の社会的な状況やAT&TバークレーやMITなどの大学といった工学系エリートたちの関連だったり、大学内のチームメイトや先輩後輩の関係だったり対立だったり人間臭い話も知ることが出来る。開発予算確保のために別の名目で研究成果を出しつつちゃっかりOSの開発もやってたみたいなこぼれ話も良い。ARPAがインターネットの始祖ということは知ってたけど、ロシアとの冷戦の対抗(スプートニクショック)としてNASAと同時期に出来たというのも初めて知った。誰かに語りたくなる蘊蓄がたくさん入った良書。