diary

1202

最近触っていたルーティングのライブラリをSwiftPM対応させました。なんかテスト書こうとしたらUIViewControllerのpresentがテスト環境では動かないっぽくて、仕方がないので全部モックした。UI部分のテストも別途どこかに書く必要があるだろう……。

それなりに整ったのでgithubに置いて、趣味プロジェクトからはそっちを参照するように変えました。やったぜ。ただなんかリンカの設定がまだうまくできていなくて、多重に参照されたライブラリがシンボル重複を起こしている。うーん、なんでだ?このあたりのこともあまりわからず雰囲気でやっているところはあり、調べる気にもなれず……。

仕事はReact。なんかパフォーマンスを改善しないとまずいなあと思っていたがとりあえずは動かすのを優先。かなり機能は出揃ってきた感じがある!もう少しだな……。


寝ます。最近教科書読む時間があまりとれていないな。


1201

なんか寝て起きたら十二月になっていた。この年になると1年が早いな〜という気もするけど、この年になると1年が過ぎてもどうということがなかったりもする。今年は帰省もしないしね。単に寒い日々があるだけ。

仕事の前にちょっと趣味プロジェクトのスピンオフをやってた。タブコントローラへの対応も一応できて、テストも書いている。やはりこれはきちんとライブラリに隔離するほうが良さそうかなあ。そうなるとギフハブに公開することになるが、僕のギフハブアカウントは5年くらい何もしてないし、ふうむという感じ。まあするけど。

仕事はReact。なんかいつの間にかパフォーマンスがきつい感じになってしまっているのでチューニングをしないといけない。とりあえずプロファイルは取ったので原因はわかったが、果たしてこれを解消できるのかはよくわからない。がんばらないと。


小林賢太郎が芸能界を引退するそうです。まあそんな日はいずれ来るわけですが、そうかあという感じ。僕の持っている面白さの感覚はうすた京介とラーメンズと円城塔にかなり影響されているので、その1つがこうして節目を迎えるのは、なんとなく感慨があります。でもTwitterのトレンドになるとは思わなかった。みんなそんなに好きだったの?ほんとに?


寝ます。


1130

月曜日。本業はわりと落ちついているのでReact書いていた。今日はわりとReactの機嫌がよく、実装がスムーズに進んだが、これはあくまでReactの機嫌の問題であり、僕の能力の話ではない。僕は雰囲気でReactをやっている。

あとは趣味プロジェクトのスピンオフをすこし触った。必要な機能はかなりそろった気がするので、あとはテストを書くつもり。Viewが絡む部分のテストはどうしても遅くなるが、きちんと抽象化しているので大部分はモックできるはず。というか完全にUIから切り離せる?明日時間をとれたらやりたい。

夜はうにを食べた。うにが高級食材であるということがだんだんわかってきた気がする。前はそんなにわかってなかったが。


1129

今日もコード書いていた。ルーティングの続き。とりあえず基本的な動きは満足できる感じになった。いま趣味プロジェクトで動かしてるものよりもインターフェイスが扱いやすい。テストも通っているが、親階層へのアクセスがまだできていない。ここも型安全に書きたい気持ちはあったけど、遷移元が複数あることなどを考えると難しそうだ。
あと本題であるところの画面遷移とUIKitとの分離もうまくできている。これでUIKit依存性はプレゼンテイション層に集約しつつ、ユースケースが画面遷移をプロトコルベースで定義・呼び出しすることができるであろう。嬉しい。

夜は友人とスキヤキを食べに行った。ソーシャルディスタンス仕様で小分けになっていた。ふーむ、風情がないが仕方なかろう。肉はおいしかった。いい肉の日だしな。


さて明日は仕事。Reactをやる日?本業は今月の間は放置していいでしょう、まあ今月は明日で終わりだけども。


1128

土曜日。趣味プロジェクトを触っていたのだけど、途中でルーティングの抽象化について考えたいという気持ちが起こり、夜はそちらを考えていた。以前考えていたルーティング機構は、まあルーティングを簡単に書けるDSL的なもので、特に抽象化を想定していたわけではないのだけど、ルーティングをViewから切り離せればUseCase側に書けるじゃん、という着想があり、じゃあやってみるかとなった次第。しかし型合わせゲームが厳しくてなかなか大変。associated typeがあるプロトコルは自動でexistential typeを生成してくれないのだけど、これが結構厳しい制約で、というかプロトコルを型として書いているところは基本的に暗黙的なexistential typeを指定していたことになっていたのであって、それができない(associated typeを持つ)場合は全然そんな風には書けないのだった。このあたりの制約を理解するのにだいぶ時間がかかってしまった。とりあえず今は適当に型を消去して実行時に呼び出しを切り替える方法でなんとかしているが、これもなぜ動いているのかはよくわかっていない。この動的ディスパッチ、ほんとに大丈夫なのか?

あとは餃子を作って食べたりした。餃子はだいぶ上達してきた感じがある。かなり無難に作れる。


1127

今日も眠い。まあ眠いなら昼寝をしたらいいのだが、こんな風に眠いのはメンタル的にあまりよくない兆候のような気もする。解離性のものとは違うと思うけど。単に眠れてない。

最近の仕事は1/3くらい採用活動になっている気がする。採用活動をしている時が一番自分のスキルだとかキャリアだとかのことを考えさせられる。結局僕は何がこの応募者と違っていて評価されているのだろうか。その特質は今後も同じようにあるのか、変わっていくことなのか。そういうのを考える。


さて、週末。趣味プロジェクトもいいが読書にも時間をかけたい。


1126

今日は眠さがある日。眠かった。昨夜はわりと普通に寝たと思うんだけど。何だろうね。

仕事はカジュアル面談とか。こういうのはまだ慣れないが、とりあえず正式に応募してくれることになったようなので、それほど悪い印象は与えなかったのだろう。僕は(会社ではそこそこ人間関係をやれているにも関わらず)自分が嫌われるのではないかといつまでも気に病んでいる。その恐怖を忘れてしまいたくはないが、恐れるのは疲れる。そしてこれは正解を提示されることのないタイプの問いだ。


もしも「本当の」という言葉の使用を禁じることができたなら、たとえば哲学というのはずっと単純なものになっていただろうと思う。しかし、その貧相な哲学では、「本当の問い」に迫ることはできないだろう。
(お前の赤は俺の赤であって、それ以外の何であり得るっていうんです?)


1125

仕事の前に耳鼻科。診察は5秒くらいで終わる。手慣れていると見るべきか手抜きと見るべきか。まあ薬で改善しているのだし文句は言うまい。

仕事はReact。react-hook-formがなんかうまく動かないなあと思ってたんだけど、どうもwithStylesで作られたコンポーネントの中ではControllerが無限ループに陥る場合があるらしかった。理由はよくわからないけど、外に出したら直ったのであまり深くは考えていない。Reactはこういうところに魔法の気配があって、ちゃんと勉強しないとまずいなあという気持ちになる。でもこんなのちょっと勉強したくらいで理解できるようになるのか?hookがなんで動いてるのかさえまだよくわかってないのに。

夜は趣味プロジェクト。時刻ではなくて時間の長さを選択するピッカーは標準だとあまりぱっとしないことがわかったので自作した。無限スクロールCollectionViewを再発明したんだけどわりといい感じ。こういうのって昔はscrollViewDidScrollでオフセット調整するのが普通だった気がするけど、CollectionViewだとLayoutに書けるんですね。このほうがだいぶ綺麗だ。再発明してよかった。


寝ます。明日はバックエンドエンジニア候補とカジュアル面談。