diary

0101

2020年になりましたね。まあ昨夜もうなってたんですが。10年代が終わった、というとなんかを総括しなくちゃいけないような気持ちになるけれど、20年代が始まったからといって何だという気持ちもある。年も月も日も僕にはない。あるのはただ、土曜日と日曜日と、それ以外の灰色があるだけだ。灰色は暖かかったり寒かったりするが、それだけのことだ。


実家にいると両親が頻繁に喧嘩をする。父は基本的にコミュニケイションが下手な皮肉屋で、単に頑固なので言われたことに従いもしない。母は自分がこの小さな家のすべてを掌握していて完全に合理的な行動がとれると信じているし、それに従わない人間を愚かだと見下すことを隠しもしない。そういう人間に説得される人間も協力する人間もいないので、結果的に本当に一人ですべてを掌握することになる。完全に合理的かどうかを判断する人間はいない。諍いだけがある。
こんな光景はどこの家族でもありふれているのだろうか。もうすこし、誠実な説得や、互いへの敬意を持つことはできないのだろうか。それとも、三十年という暮らしはそんな努力を全て押し流してしまう濁流なのだろうか。


明日は東京に戻ります。お昼は大阪のほうで食事をするのかな。


0102

なんかまあ東京に戻っています。夜は汁なし担々蕎麦を作ったんだけど、蕎麦をきちんと和えるのを怠ったからかあまり味が絡んでいなくてそこは微妙だった。とはいえおいしかったけど。そこらへんを改善したい。あと、男子たるものやはり一度はカレースパイス調合にはまっておかないといけないのではという気もする。あるいは汁なし担々麺自作か。まずは花椒を買うところからか?

夜はのんのんびよりの映画を観ました。まあ、あれは本当に日常系の極北みたいな作品だと思うので、「物語」をやるのはなかなかしんどかっただろうなと思う。なのでそういう意味で特段優れた作品だとは思わない。みんながまた楽しそうに過ごしているのを観られたのはいいけど、そこには構造があるべきじゃないんだよな、僕にとっては。
帰り際、れんげちゃんが夏海ちゃんを呼び止めるシーン、あれ、僕の中ではおそらくれんげちゃんは自分自身もなぜ呼び止めたのかよくわかっていない(だって一年生だよ?)、なんだけど、そのあと明らかになるところによれば普通に二人の絵を描いてるし、だからたぶん普通にわかっててやってるという解釈が正しいんだろうなと思う。僕の個人的な好みとしては、そこをわかってないのにやってしまう小学一年生、に惹かれるところがあるんだけど。無垢であるって、そういうことじゃないですか。


さて、実家からは引き上げてきたので残りの冬休みは全部フリーです。とはいえもうそんなに日数はないけど。実家はあれですね、結局のところ無料で飯が食える以外には特にいいことないですね。別にもてなされるわけではないし、だったら交通費の分だけ赤字だよな。やれやれ。年に二回帰るのが普通みたいになってしまっているが、もっと減らせないだろうかね。


0103

今日は特に何もしていない。本当に特に何もしていないな。夕方までボンヤリしてた。あ、すこし本を読んだ。学園ものミステリだったけど、ミステリはあまり読まないからミステリとしての質はよくわからない。でも、いい小説だったと思った。

夜はすこしコード書こうと思ってたけどテンションがあまり上がらなかったのでやらなかった。CloudFormationについてすこし調べた。結局何を自動生成したいのか、とか。正直、今回はとりあえずさくらVPSで動かすつもりなので(つまりEC2やRDSを使わないので)あまりCloudFormationを使うメリットはないのではという気はする。まあでも、勉強のために一度は試しておいてもいいと思う。ちゃんとしたサービスにするならどうせそのあたりは再構築が必要になるでしょうし。

あと「これがニーチェだ」をすこし読みました。ニーチェがやったことは、一見すると、一度発見されてしまうと何度でもできてしまうような、取り返しのつかないことのように思われるけれど、実はそうではなくて、これは「語り得ぬもの」であり、語ってしまったがために何度でもできてしまうことになった、そういう種類の主張なのではないかという気がすこしする。独我論が、語ってしまったが最後、誰にでも適用可能で独我論的でもなんでもない主張に貶められてしまうように。


明日はすこし部屋の片付けをして、あと夜はfとYとあんこう鍋を食べます。あんこうっておいしいの?まあ高いからおいしいんだろうけど。だったら最初から一万円札をおいしいと感じられるようになれば効率的なのにね。


0104

今日は片づけの日。本棚を整理して、今度こそ捨てようと思っていた本をいくらか本棚から処分した。こいつらは近々再生紙として処分されるだろう。まあ基本的には僕の買ったものではないので構わないけど。

よるはf, Yと飲みました。あんこう鍋。あんこうというのは、おおむね普通の味がするけれども、いいだしがでますね。そんな感想。
あとはfといろいろ議論した。まあどちらも酔ってたので真剣な議論にはあまり到れなかったけど。こういうのができる相手がずっといるとうれしいなど僕は思う。たとえそれが特段なにの思想にも結びつかなくてもね。


明日は日曜日。たぶんもうすこし部屋を片付けるかな。やれやれ。


0105

今日も部屋を片付けた。キッチンにあった、かつて僕が生活をしようとして挫折した夢の跡たちを棄てた。2020年の目標は「生活をすること」であり、だから、この目標はそれ自体忘却される必要がある。「目標」を目指すことは、「生活」を生きることではないから。

夜は映画をちょっと観た。「感涙度97%」なんてCMが打たれていたけど、こんなので97%だったら、のんのんびよりとか観たら感涙度2000%くらいになってしまうのではないかと思った。まあさ、ええ話なんですけど、そのええ話さを、きちんと「感涙」というか、ドラマツルギーとして貫徹させられていたかというと、全然だめでしょう、あれ。


さて、明日からはまた仕事です。僕の仕事は何だったかな。たぶん明日は諸々思い出すところから始まると思うんですが、そうだな、そういえばなんか厄介な問題が存在していたような気もするな。あとはまあ、古いmacbookの処分について進められたらいいなと思う。やれやれ。


0106

なんか仕事だった。ひさびさだったのでいろいろ思い出すだけで終わった。いや嘘だ。なんか雑務で終わってた気がする。最近どうも雑務が増えがちな立ち位置になってきているな。適宜振っていかないと終わる。

夜はちょっと考えごとした。アプリからWeb APIへの認証機構とCSRF対策とを両立させるの、けっこう難しい気がしてきた。困ったな。もう一度よく考える必要があると思う。


明日は自宅で仕事。見積もりなどをしないといけないが、年末からずっと悩んでいた問題にいい加減正面から取り組まないと。ウー。


0107

最近急に寒くなりましたね。寒いととにかく外に出るのが億劫になっていけない。外にいる間もずっと暗いことを考えがちになってしまう。暗いことを考えて歩く夜道、ふと顔を上げて白い息を見上げたときの、「でもまあ、息が白いなら、いいかな」という気持ち。右上からこちらを見下ろしている半月。


仕事は大きめの改修とリファクタ。大きめの改修ったって機能としてはすごくシンプルなものなんだけど、以前そこを作った時に前提されていた条件がみたされなくなるので、それをなんとかするための実装がいろいろあった感じ。あいかわらずしんどいコードなのであちこちに肘をぶっつけながらなんとか完成した、と思う。しかし、正直なところあまり自信はない。とにかくなぜ動いているのかよくわからない部分が多いコードだから……。
リファクタのほうは、ようやくReduxアーキテクチャとUIKitを和解させるための一つの道筋を見つけた、というようなもので、つまり、非同期処理のハンドル自体はすべてViewControllerがやればいいと思うし、そのTaskをStateに持たせるなんてのは、不要だし正気でもない、という考えを明確にしたもの。これのおかげでStateは(局所的にだけど)すごくシンプルになるし、UIとの対応関係も見やすくなった。ただやっぱりどうしてもUIKitのライフサイクルとReduxはうまく整合しない部分を持つと思う(とにかくMany sources of truthsが発生しやすいのだ)。うーむ。

夜はDjangoとかいじっていました。SPAからもスマホアプリからも呼べるWebAPIを作ろうと思ったときに、SPA側はCSRF対策をしなくてはいけないのだけど、Cookieでやるとアプリ側でハンドルするのが面倒になるので、なんとかアプリ側からの呼び出し時だけ迂回できるようにした。具体的には、リクエストに特定のヘッダを追加しているときはCSRF対策を迂回するが、かわりにセッションIDも読まない、というもので、こうしておくとCSRF対策としては十分(少なくともあるユーザーに対して何かさせるリクエストは出せない)だし、アプリ側は別途認証トークンを使った認証を行うから問題ない。よい方法だ。StackOverflowのDjangoコミュニティに感謝しなくては。
あとは認証トークンが切れたときにGraphQL的にそれをどう表現するかなどを調べていた。GrapheneのMiddlewareを作れるようなので、そこで適宜判定するのがよかろう。このへんは明日にでも書く。


今日は充実した一日であった。明日もそうであることを祈りたいものだ。


0108

仕事は今日はなんか見積もりとか調整ばっかりやってた気がするな。コードは書いてないような気がする。書いたかも。ああそうだ、とりあえず今フェーズは開発完了したんだった。明日からは次フェーズを見ていきます。でもこれも同僚がだいぶ終わらせてくれてるんでそれをレビューしたりするだけでほぼ終わるんじゃないかな。なんかすごい高速で終わっているぞ。どうしたんだ?
あと遠隔会議用のシステムを整備したりしていた。高いマイクを一台、安いマイクを一台購入することができた。安いマイクは小さい方の会議室用。値段の差がどこまで性能差になるのかはこれから確かめます。

夜はDjangoをいじっていた。アクセストークンを適切にexpireさせる仕組みとか書いてたんだけど、そもそもどうしてアクセストークンをexpireさせなきゃいけないのか、よく考えるとわからなくなってしまった。セキュアなストレージと、セキュアな通信路があるとき、なぜアクセストークンを定期的に期限切れさせなきゃいけないのかというと、結局「念のため」みたいな話になってしまうような気がするんだよね。まあ念を入れるのは大事なんですが。正直よくわからなくなってしまったので、アクセストークンとリフレッシュトークンの対を渡してアクセストークンが切れたらリフレッシュトークンで再発行してね、という「よくある」やつに乗せることにしました。うーん、カーゴ・カルト・セキュリティ。
あとアプリ側の実装についてもちょっと考えていた。結局CocoaPodsから逃れるのは難しそうという結論にならざるを得ないようで、すこし悲しい。でもFirebase Crashlyticsとかやろうとすると結局手動でぽちぽちするかCocoaPodsかしかなくなってしまうっぽいんだよな。SPM一本で行けたら理想的だったんだけど。まあそれは仕方ないや。Firebaseも、使わなくて済むなら使いたくないんだけど、クラッシュログは魅力的なので入れざるを得ない。このあたりの試作は明日できたらいいんだけど、たぶん時間はないだろうな。SwiftUIと馴染むのかもよくわからないしな。


明日は打ち合わせで技術的な認識のすりあわせが必要になるらしいのでちょっと同行します。あと会議やってたら終わっちゃいそう。