1クール続けるブログ

とりあえず1クール続けるソフトウェアエンジニアの備忘録

お休み1ヶ月振り返り

記事一覧はこちら

なぜ1ヶ月お休み?

7月末で3年3ヶ月勤めていた会社を退職することになったためです。7月1日が最終出社日で、以降はお休みを頂いておりました。8月1日から新しい会社で働くことになるため、お休みが約1ヶ月ある状態だったということになります。

この1ヶ月でやったこと

このようなご時世でなければ、6年間住んでいた北海道や5年間住んでいた新潟とかに一人旅して、昔食べていたラーメンとかアイス食べたり酒飲んだりしたかったのですが叶わず…。仏教関連の本読んでいたので奈良行くのも有りだったなあ。

どこにも行けないなら勉強しちゃうぞ!と息巻いていましたが、やろうとしていることの4分の1も出来ないとは…(絶望)。

読書

本当はこの時間があるときにElegant Puzzleとか、英語でしか読めない本を読むぞと思っていましたが触る余裕がありませんでしたね。
後、貞本エヴァもこの期間で読もうと思ってたのに読めなかった。Twitter眺めている時間をここに投資すれば良かったよ…。

データ指向アプリケーションデザイン

www.oreilly.co.jp

きっかけとしては、最終出社日の少し前にfukabori.fmというPodcastを知り、ずっと聴いていました。t_wadaさんのデザインパターンの回を最初に聴いたのですが、あまりに面白くて遡って結構聴いていました。
1年前ほどに、こばさんがゲストとして出演していたNewSQL回がこれまた面白く、その話の中でデータ指向アプリケーションデザインという書籍について触れられていたので、この期間に読みました。
自分が今まで読んだ本の中で一番ボリュームがあるであろう600ページ超えでして、読む前に心が折れて一瞬枕にしそうだったのですが。何とか踏みとどまりました。

自分は基礎的な部分に関してもちゃんとは理解していない箇所が多かったため、第一部から面白かったように感じます。
3章でLSMツリーやBツリーについての説明があったのですが、最初Bashのkey-Valueストアの実装から始まる説明は非常にとっつきやすくて良かったです。また、4章ではエンコーディングについての説明がありますが、Protocol BuffersやThriftに疎かったため(特にThriftはUberGatewayの設定で利用されていたというイメージしか無かった)、非常に勉強になりました。

第2部はデータを分散をさせることによるConsistencyに関する問題とかをどう解決していくかという所が非常に面白かったです。
マルチリーダーやリーダーレスのDBには馴染みが無かったので、理解しきれていない部分も多い。衝突を解決するためのCRDTというMisreading Chatで聴いた内容が出てきて、点と点がつながった感覚になった。
あと8章は勉強していたゆるーく勉強していた分散システムの知識が凄く分かりやすくまとまっていて有り難かった。

なにはともあれ再読は必要!

Site Reliability Workbook

www.oreilly.com

ずっと読もう読もうと思いつつ読めていなかった書籍。e34.fmで良いぞという話が出ていたので、ちゃんと読もうと思って読みました。
自分がDevOpsへの理解が浅かったこともありますが、第1章で語られていたDevOpsとSREの関係性というのは、自分の頭の中を整理する上でとても良かったです。書籍の中でも触れられていますが、class SRE implements devops というのは自分の中でしっくりきたものはありました。

読んでて面白かった章は、第2章のimplemeting SLOsですね。サンプルのシステムアーキテクチャをベースにどのようなSLIが考えられるかあったり、SLO/エラーバジェットポリシーを作成する手順などが記載されており、これをベースにSLOの運用を始めていけると確信できるような内容になっていると思いました。
後は、第5章Alerting on SLOsも良かったです。SLOのアラート設定をシンプルなアプローチから始めていき、それをprecisionやrecallといった指標を元に評価し、burn rateなどを用いて改善していくのは読み進めやすかったですね。
そして飛んで、第20章の SRE Team Lifecycles は、SRE組織をmatureにしていくためのロードマップが示されているのですが、SREを始めるときのイメージが運用チームがSREに転換するというパターンしか自分の頭には無かったので、いくつかパターンがあることに驚きを覚えました。
これも、First SRE Bookと合わせて再読必須だなと思いました。

スイッチ!

www.hayakawa-online.co.jp

これは、お休み入る前にkindleの半額セールで購入したものです。
人間の感情的な部分を「象」に、そして理性的な面を「象使い」に例えて、「象使いに方向を教える」「象にやる気を与える」「道筋を定める」の3つのステップから行動を変えるというのを説明した本。事例と、それを裏付ける実験を紹介していく形式になっている。納得感はあるけど実践できるのか?みたいなところはある。1つ確実なのは、この休みが始まる前に読めば良かったってこと。
この他にも早川の本で買ったものがあるので読めたらなと思っている。

あ、後ブクログがちゃんと使えてないので、進捗が入力できるorkindleなら勝手に記録してくれるものが良いなあと思って代わりを探しています。良いのがあれば教えて下さい。個人的にはgoodreadsってどうなのかなと思っていたり…。

趣味

ちょっと前にもブログに書いたんですが、Travis JapanとINIというボーイズグループを細々と追っているので、その辺の動画やWEB RADIOをずっと観てしまいました。

44smkn.hatenadiary.com

IMAGE NATIONというトラジャの全国ツアーの最終日に配信がありましたが…最高でしたね。去年のライブも配信で観ることが出来たのですが、今年は特に歌がより進化している気がしました。INTERACTIONALもっとちゃんと観たかったなあ。円盤化を何卒…何卒…!
INIのデビューも待ち遠しい!みんな言っていますが、Wanna Oneのenergiticみたいな曲がデビュー曲だと嬉しいな!

分散システムの勉強(中途半端)

ここは中々苦戦しました。deeeetさんのブログ記事を読んで、UCSCの2021年の分散システムの講義動画を観ていましたが、シンプルに「僕のリスニング能力低すぎ…」となり辛みでした。

第10回くらいまでは観たのですが、ちゃんと頭に入っているかがかなり微妙で、結局は講義PDFも存在する、ケンブリッジ大学の分散システムの講義に乗り換えて勉強しています。お休み終わる前までにRaftにたどり着けないので一生合意できない人間になりつつある。
ケンブリッジ大学の授業の第3回leap secondsの話で日光東照宮の🙈 が出てきてビビりました。

また、分散システムと言えば、タネンバウム先生のDistribureted Systemsだと思います。一応、そちらを読み進めています。ですが、「僕、英語読むの遅すぎ…」となり心が挫けそうです。まだ第2章のARCHITECTUREの途中です。
第3版は日本語訳が出ていないですし、第2版は絶版とのことなので英語を読むしかない。僕には英語が分からぬ。この前、TOEICで750点取れたのは奇跡だったのか、それとも750点はこのレベルなのかどっちなの。

手動かしたもの

自作OS本

book.mynavi.jp

ブートローダーの部分までしかやっていないので、実質自作ブートローダー本状態だ。
みかんOSは「未完」というところから名付けられていますが、始まってもいない。始める前のWSL周りでハマって時間を結構使ってしまった感がある。
土台は作ったのでちょっとずつ進められると良いよね…そう…ちょっとずつね。

React/GatsbyJSに入門

新卒で入った会社にいた頃に趣味でAngularを触っていた。その頃の最新はv4だったように思います。mozaic.fmのep24でlacoさんの話を聞いて面白そうと思って、当時既にReact全盛だったと思うのですがAngularを触り始めていました。
業務でJSとSassを書いてたころも有りましたが、ReactやVueのようなライブラリを使った開発は行っていなかったので、この期間に触るかと思ってSSGと共に少し触っていました。
今度ブログ書こうと思います。まだローカルで動かしている段階でCloudflareとかにデプロイ出来ていないので。

式場探し

何気に時間が溶けていったもの。この期間に始めて良かった。

ブライダルフェアなるものが、あんなに一回で時間と精神を消費するものだとは思わなかった。なにも知らなかった頃は1回1時間くらいなのかなあというぼんやりした印象を持っていたが、実際は4時間前後かかるものだった。
2箇所の式場を回ったけど、それぞれの項目をスプレッドシートに書き出して比較検討するのは楽しくもあり疲れもしますね。

来年も新型コロナウイルスの影響を引きずるということも考えられるので、キャンセルポリシーとかもしっかり確認しつつ動かなきゃだ。
結婚式挙げた人たちマジで凄い。

新しいノートテイキングツール

Notionを使っていたのだけれど、僕はこの高機能を活かしきれていないと思っていました。後ローカルに保存できない。
もう少しシンプルでパフォーマンスの良いもの、かつローカルで利用できるものにしたいなと思っていました。というのも、仕事だとオンラインにアップロードするものはどうしても使いづらいというのがモチベーションでした。
そんなときに、Rebuild.fmの#308 を聴き、宮川さんが今はcraftというツールを利用しているということで気になり、1ヶ月使っていました。Macのネイティブのアプリが自然で良いのと、グループ化の機能がいい感じです。ローカル保存も上手く動くことを確認しました。WebはまだBetaでかつMaciPhoneのアプリでしか出てないので、自分のユースケースにはぴったり合いますが他の人にとっては微妙かもです。
難点としては、機能のドキュメントがあまり無いためにリリースノートを遡ることになる点と、画像を貼ると全体的にもっさりする点です。

結局のところ、課金してしまって継続利用しようかなと意気込んでいたのですが、自分のAppleIDで買ったので会社で使うためにはもう一回買わなきゃでは…?と戦々恐々としているところです。
(今の所ログインはAppleIDのみがサポートされていたはずのため…)

まとめ

リラックスできた1ヶ月だったのではなかろうか。専業主夫チックな生活も新鮮で良かったな。
料理する頻度はこの1ヶ月は確実に多かったので、今後の生活に響いてくるのは、なんだかんだそういう部分なのかもしれない。効率上がってたら良いなあ。計測しておけば良かった。以上!