diary

1005

お昼前に起きてほこらんさんとねておきたさんと親子丼を食べたりした。おいしかった。消費税が10%になってて増税を感じた。

あとかっぱ橋道具街をすこし散策した。おしゃれ食器系が多くてまあそうですかという感じだったんだけど、ときどきマニアックなものを扱う店があるので楽しい。居酒屋の前に置いてある譜面台みたいなメニュー置きとか。あとお箸の専門店があったな。10000円くらいする箱根細工のお箸があった。かっこいいな、使いたいかも。
かわいいねこのトートバッグがあったので衝動買いしちゃった。そんなん使わないのにね。

そのあとほこらんさんの提案で猫カフェに行きました。このあたりから僕は昨日の二日酔いが遅れてきていてかなり気分が悪くなってたんだけど。なんか前もそんなんだったな。僕最近本当にお酒に弱くなってる気がする。気をつけなきゃなあ。
猫カフェはまあ、猫がいた。猫と、あと猫に群がる人がいた。どちらかというと人のほうが存在感がある。猫を追いかけていると別の人に接近してしまって微妙な雰囲気が生じる。
猫は街中でのびのびと生きているほうがかわいいな、という気持ちに少しなった。まあ街中で出会ったかわいくない猫のことは覚えていないからそんな風に感じただけかもしれない。

上記のように僕の具合が終わってしまったので早めに解散しました。いやあ申し訳ない。夕方まで昼寝をしたあと今はVuexの勉強をしている。VuexとTypeScriptをいい感じにつなぐ方法はまだ人類全体で模索中のようだけど、どうにか行儀のよさそうな書きかたができるようになってきた。次はapolloでGraphQL APIを呼ぶところかなあ。


明日はYとお出かけして買い物などする、はず。


1004

仕事はなんか上長と面談とかした。した、ってかまあ僕が頼んだんだけど。社長が思いつきで行動することに対して不信感がありますという話をした。上長はまあそのあたりについては理解を示してくれたので僕の気持ちは収まったけど、この件自体がどう決着するのかはよくわからない。ただまあ、今回の件は完全にプロセス的に問題があると思うのでそれは止めるだろう。

あとはiOS13対応とか不具合直してたら終わった。なんか知らんうちに終わる平日ってのが一番いいよね。仕事なんかで喜怒哀楽を消費したくない。

夜は映画を見た。「トゥルーマン・ショー」。途中までは完全に好みの展開だったんだけど、結末が平凡だったので逆にがっかりしてしまった部分がある。いや、あのさ、まあ序盤からちょいちょい挟まっていた「これはフィクションですよ」描写が途中で決定的になって、スタジオの音響の人がBGMを調整するじゃないですか、この瞬間に僕たちは、「第三のレベルの現実」、つまり、トゥルーマンの現実、それを見ている観客の現実、そしてそれを見ている僕の現実、その第二と第三とが接続するんですよね。そこで僕は、ああ、この作品の企ては、つまり第一と第二の現実の関係を類比的に第二と第三(僕ら)の現実に接続することで何か僕たちの世界観を掘り崩してくるんだ!と期待したのだけど、あまりそういう感じではなくて、単に第一現実と第二現実との関係を解消しただけで終わってしまった。なのでがっかり。途中までは本当におもしろかったんだけどさ。うーん。


明日はねておきたさんとほこらんさんと合羽橋に遊びに行きます。夜はなんかプログラミングとかしようかな。


1003

仕事はiOS13との格闘……と思ってたけどわりとすぐ怪しい箇所が見つかったのでそれを潰したら問題は直った。問題は、そもそもの発生条件がよくわからなくなってしまったことで、「iOS13.0だと起きるが13.1だと起きない説」「iPhone 11系固有の問題説」「そもそもそんな問題は存在しない説」などが乱立して困った。まあいずれにしてもよくない実装なので直すんですが、現行リリース版が壊れてるんだとするとまずい。まあお客さんから「とりあえず静観」という指示が来てるのでリリース作業まではやらないことになったのですが。
ところでそれとは別に、特定のユーザーが特定のAPIに対してエラーを受信するという事態が発覚していて、これはこれでたぶんサーバー側の開発してる人に調査を頼まなければいけないのだけど、とりあえず今日はなにもしない。

あと前に関わってたアプリのエキスパートレビュー?を少しやりました。まあ要するに自分で使ってみて気になったところを挙げていく、みたいなやつ。僕はわりと細かいことを気にする性格なので、「ここでフォントサイズが変わってますけどベースライン揃ってなくないですか?」とかそういう細かい指摘をたくさんしました。いやまあ普通に誰が見ても変だと思われるだろうことも書いたけど。あと、僕は実際そういう細かいところでちょっとずつアプリを減点していくけど。

ところで、今日は社長が急に「会議室は来客が優先」みたいな「ルール」を作り出してきたのでゲンナリしました。いや、もちろんルールを提案するのは当然普通のことなんだけど、まったく、誰の合意も得ずに(というか周知さえせずに、というか僕が「それってどこに書いてあります?」って訊かなければ明るみにさえ出ないような形で)言い出したこととか、「今日から適用です」みたいな感じですでに入っている会議室予約をどかそうとした(というかぶっちゃけ今日急に来客が入ったから言い出したんでしょ?これ)こととか、そういうところに強い不信感を抱きました(あなたにとって「ルール」って何ですか?)。この会社において社長ってのはそんなに偉いんですか?これについては本当にイラついているので正式に抗議したい。ただ僕がやることではないような気はするし、僕は変に直情的なので僕がやるよりもうまく収められる人がいるならその人に依頼したい。だいたい僕はもう社長と口をききたくないし。
ただこの件は真剣に腹が立った。今もどうしたらいいのかわからないくらい腹が立っている。

夜はDjangoとwebpackとTypeScriptでVue.jsを動かすところまでやりました。django-webpack-loader、べつにホットリロード?をがんばってくれるわけではなくて、単にwebpackで生成したJavaScriptをDjangoのテンプレートエンジンで読めるようにしてくれるだけっぽいので、期待したほど便利ではなかった(結局webpackの監視プロセスは別途立ち上げないといけない)。まあでもそれは実運用ではまったく問題にはならないので別にいいでしょう。
あとはVueとwebpackとTypeScriptの連携にだいぶ手こずった。というかDjangoとVueはともかく、知らないものを2つ同時に導入したのは明らかにまずかった。特にフロントエンド業界なんて移り変わりが激しいから、どれで検索してもいろんな時代のベストプラクティス(であり現在は使えないもの)が出てくるので、全部を同時にうまく動かす方法を探すのにかなり難儀した。というかまだ完全に綺麗な形ではない。まあでも、とりあえず許容範囲では動作したので、ここからVuexとかVue Routerとかを導入していくことになるでしょう。

自分がよく知らない技術を勉強して新しいものを作るのは楽しい。でも一方で、ラスマス・ラードフ(PHPの初期開発者)が言っていた「プログラミングは飛行機に乗るようなもので、旅行は好きだけど飛行機は嫌い、でも旅行に行くには飛行機に乗るしかないからやってる」みたいな気分にも強く共感する。勉強をするのはおおむね好きだし、作りたいものだってときどきはある。でも別にその手段が好きかっていうとそんなことはないよね。わかる。(ただまあ、その手段が洗練されていると感じたときはそれはそれで楽しくもなってしまうのだけども)


さて、なんかきりきり舞いしているうちに金曜日がやってきました。明日もたぶんタフな作文などをしないといけないんだけど、まあそれ以外はたぶん余裕あるスケジュールなので、がんばろう。お肉たべたいな。


1002

仕事はなんか会議ばかりしていた気がする。電話対応とかLT会の発表みたいな業務外のような業務内のようなタスクをどう評価すべきか、みたいな話。何かを評価するということはつまり何かを評価しないということであって、それはすなわち会社が社員に何を要求するかということを反映する。僕はLT会みたいな文化は継続してほしいし、それを評価制度という形で表明してほしいと思ったりもするけど、まあみんな別にそういう理由でLT発表をしているわけでもなさそうだし、謎。やっぱり僕にはこういうのはよくわからんなと思う。そもそも僕は自分の何が評価されていまの立場にいるのかもよくわかっていないのだし。

仕事はあまり進まなかった。明日こそはiOS13との戦いを本格的に始めるつもり。

夜はすこしGraphQLと格闘した。結局mutationにUnionを渡すことはできないようなので、じゃあqueryがUnionを返すことにもそれほどの旨みはないなと思ってやめにした。こんな風に思うのは僕がREST的な思考から逃れられていないからなのかもしれないけれど、基本的には送信するものと受信するものとは同じものであってほしい。まあそれ以外にもUnionではだめな事情は存在したのでどうせそうなったとは思うけれど。
あとDjangoのモデルをGrapheneのInputObjectTypeに変換するやり方をなんとか見つけたのでそれを使って簡単なmutationを実装するところまで進むことができた。これでとりあえずサーバーサイドは実装のめどが立ってきた気がするな。このままモデルを追加で定義したりリファクタリングをしたりしようか、それともVue Routerの勉強に進もうか。悩むところ。


1001

昨日はまだ祝賀ムードだったので忘れていましたが、今朝起きると三十代男性がぽつねんといるだけでした。まじか。でもたぶんまじかまじかと言いつづけているうちにアラフォーの足音が聞こえてくるのでしょうね。怖い怖い。


仕事はあんまりパフォーマンス出なかった。レビューしてたら終わった気がする。どうして起きてるのかよくわからない(というか手元で再現もしない)不具合の修正なんだけど、そういうのってどうしても祈り要素が出てくるから悩ましい。僕としてはプロダクションコードに祈りを持ち込むべきではないと思う。クラッシュしなければいいというわけではない。

あ、あとリモート勤務制度のルール決めの最終案を議論しました。たぶんこれで仮実施がスタートして来週から週に二日は自宅作業ができるようになるでしょう。まあプロジェクトが忙しいときは出社してコミュニケイションを密にとるとかそういう協定はあるけど。僕は今の時点ではべつに出社してもいいんだけど、いずれ遠くに引っ越すかもしれないし、もっと柔軟に仕事ができる必要があるかもしれないし、なのでこの制度がちゃんと軌道に乗るように課題を洗い出すべく積極的に自宅作業をしようと思っています。でもな、自宅にいるとお昼ごはんを食べるタイミングを見失うというか、わざわざそのために外出するのが億劫になりそうではあるよな。慣れか?


明日も仕事。まあそれはだいたい毎日そうなんだけど。そういえば鹿児島の観光地を探さなくちゃ。


0930

h.b. > κ.


仕事はなんか会議ばっかしてた。エンジニアの評価とか。評価をやるってのは難しい。能力とかわからんし。僕は自分が今ほどプログラミング得意ではなかったときのことをもう思い出せない(でも誰だってそうでしょう?)から、いま僕より格下に位置づけられている同僚がどの程度の実力なのかうまく評価できない。というか僕は彼らより本当に優れているのか?よくわからない、僕はただ与えられた課題に対して最善を尽くす以外のことができないから、僕の半分くらいのスキルの人だったらどんなふうにやるのかとか、そういうことが想像できない……(致命的にまずいコードというのはわかるけど)

あと打ち合わせ。僕が行く意義がどれほどあったかはよくわかりませんけど。でもまあしばらくこの人たちとは一緒にやるだろうから、一応挨拶くらいはしておいて損はないのかもしれない。よくわかりませんけど。

夜はYとジェノベーゼを作って食べました。うますぎる。これは神々の食品なんだと思う。まあ神ってのは僕のことなんですが。じゃあいいか。


さて明日は火曜日。三週間続けて月曜日が休みだったので、ちょっと身体が追いついていません。まじで?まだ四日も平日が続くの???


0929

今日もGraphQLをゴニョゴニョした。GraphQLは現時点の仕様としてはmutationのパラメータにUnion型をとることを認めていないらしい。なんだよ、じゃあ無理してqueryでUnionを返すことなかったじゃん。できたらうれしいのに(でもそれを認めるとサーバー側の実装がだるくなる気もする)。
あと、GrapheneはDjangoのモデルをInputに使えないことがわかりました。そんなん虚無じゃない?なんかリフレクション的なことをやると自動生成できそうだけど。ウーン、道が険しい。これはRESTでやるほうが楽なのではないか…… まあでもな、僕にメリットがないのはもう承知の上だしな……


夜は焼肉を食べました。なんか二日酔いが夕方まで残っていたのでちょっとしんどかったけど。やれやれ、弱くなりましたね。


0928

休日だったのでまたDjangoとGraphQLの勉強などをしました。とりあえずDjangoモデルのrelationをGraphQLに持ち込むこととか、それらを適宜Union型にすることとかを学びました。だんだん調子が出てきたぞ。ただApollo氏はUnion型をSwiftのコードに変換するのがあまり上手くないので、それはこちらで判別してenumにするなどしないとだめそうです。まあでもな、Layered Architectureをとるならどうせ何らかのモデルの変換層は挟むことになるし、それならいいのかも。やってくれたらいいのにとは思うけどね。


明日もたぶんそのあたりの調査をします。今度はmutationが上手く書けるかを調べる。まあでも、そんなのは結局型さえ定義できればあとはどうにでもなるだろうなという気はする(あれは所詮はインターフェイス定義なので)。そこまでできたら本格的に開発スタートかなあ。モデルを定義して、そしたらVueとVuexを勉強することになるだろう。webpackもやらなくちゃね。