andante

2020-01

0121

仕事の前に病院火曜日はリモート勤務のことが多いのに通院予定が入っているの馬鹿馬鹿しいので別の曜日に変えてもらいました本当はべつにもう行かなくてもいいような気もしているがまあときどき検査してもらえるのは損ばかりでもないだろうとも思う

仕事は不具合対応など再現手順がよくわからない不具合があったんだけどなんとかそれっぽい条件を突き止めて直すことができたこういう処理にはきちんとどのような例外的ケースを考慮したものなのかに関するコメントを添えてほしいなと思うまあいいや直ったので

夜はちょっとだけ趣味のコードを書いた昨日考えたInfo.plistを一旦退避させてPlistBuddyでいじる方法は実はもっとエレガントなやりかたがすでに知られているらしいPreprocessed-Info.plistを使うなのでそちらに変更した今日の進捗はそれくらいかなSign in with Appleのこともちょっと調べたけど
あとは画像ダウンロードライブラリの調査とかたぶんUIImageViewをそのままは使えないだろうからあんまりそれ前提でベッタリになってるものは使いたくないなとかいろいろ
そろそろ試作品二号くらいまで行かなきゃいけないのかなーと思いつつまだ画面遷移の実験とかできていないのでそのあたり今後試していく予定

夕食はカルボナーラにしたフェットチーネを買ってちょっと本格的にするつもりだったんだけどただ単に量が多すぎるという一点のみにおいて微妙だった味はまずくはないが特段おいしいというわけでもなかったしうーんとにかく量が多かったなやれやれ


明日も自宅で仕事

0122

仕事はようやく次フェーズに移った次フェーズといってもまあ似たようなやつをアップデートするだけなのですが既知の不具合をリストアップしてタスク化するとかもやったまあ要するに今日は助走ですね明日からちまちま潰していきましょう

夜はちょっとパワーポイントの資料作成を手伝ってた曲がりなりにも理科系の文章作法とある程度の組版の知識があるのでいろいろ細かいこだわりを見せてしまったが満足いくものができたと思うしかし局所的な見栄えと大域的な一貫性を両立させるのは難しいなあと思ったデザイナーの人ってのは大変だなあと思う

あと画像ダウンロード機構のことを考えていました今回はNukeを使おうかなと思うあとWebP対応のこともちょっと考えたんだけどSwiftで動かすためのライブラリがまだ未完成っぽいので一旦保留でも試してみたいよね
画像ダウンロード機構はどのレイヤーに置くべきなのかも悩んでいるViewModelが直接やりとりしてしまってもいいのかそれともこれもやはりRepositoryを通すべきなのかでも別にモックする必要はないし依存性としてはViewModelより外なんだからあえて内側をくぐらせる必要もないような気もするもうちょっと考えたい


明日は二日ぶりの出社やれやれ

0123

添字μは0123を走るものとする


仕事はなんか雑用が多かったリモート勤務日があると出社した日はオフィスでしかできない雑用に費やされる傾向にある今日はなんか昔の共有ドライブのバックアップからデータを探したり遠隔会議システムの使いかたを指南したりしてたあと無線LANの整備をしたのでその案内とかも書き直した

夜はSwiftUIをやっていた少しずつ気持ちがわかるようになってきた気はするViewModelが要るのか要らないのかみたいなところはたぶんWebAPI呼び出しをする時はCancellableを保持するために参照型が必要なのでViewModelが必要みたいな感じになると思うそうでなければたぶん不要
SwiftUIどうも自分をSwiftだと思い込んでいる異常者だと思うほうが良さそうというかSwiftUIの中でしか使えないものがいろいろあるたとえば@State変数はvar bodyの外で変えてもうまく反映されない気配があるのでロジック部分とはきっちり隔離することを考えたほうがいいあれはただのUI記述言語だ


なんとはなしにTwitterでエゴサーチしてたら数年前の僕はずいぶんたくさんの人に言及してもらっているなあと思ったなつかしいいまの僕にはそんな存在感はないしなくてもいい
この日記を好きだと言ってくれている人が何人もいたあの頃の日記は僕が自分の精神の安寧や公正さのために格闘した記録だったそれを読んで気に入ったと伝えてくれる人の存在はきっと僕にとって心強いものに感じられただろういまの僕はもう忘れてしまったかもしれないが


なんかえらく夜更かししてしまったや明日はプロジェクトの打ち上げ打ち上げったって特になにか達成したわけではないけれどこの案件はそんなこと言ってると永久にメンバーで親睦会とかできないのでね

0124

昨晩は夜更かししすぎましたねSwiftUIの気持ちがわかってきたのはいいけれど


今日はわりと暇ちょっとインフラ関係のタスクをやったりとかレビューしたりとかしたくらいまあこのフェーズに関してはすでに直した不具合をもう一度直すみたいな作業がメインになるのでいまのうちに勉強する時間をとるくらいでちょうど良いのかもしれない時間があったらWWDCとかも観ておきたいSwiftUIが覇権をとるかはまだわからないけど知らないままで生きていけるってこともないだろうし勉強すればだいたいのことはなんとかなるがウリの僕としてはそういうのを一応修めておかないと食いっぱぐれる可能性がある

夜はプロジェクトメンバーでノミカイフリーランスで食っていくのはやはり書類仕事が大変そうだなと思った必要に迫られなければやりたくないなウーン


さて週末最近すこしなかよくなったSwiftUIで画面遷移などを試してみたいな旧来のiOSのClean ArchitectureというとなんかVIPERが多用されるっぽいんだけどはたしてRouterは今でも必要なのかとかそのあたりも調べておきたい

0125

例によって夕方まで終わっていました終わってたというほどじゃないけどSwiftUIとCombineをどうにか接続するやつをいろいろ調べたりしてたしProperty Wrapperを使うとDependency Injectionがいい感じに書けるという話を読んで試したりこれ使いたいな
いろいろ試したけどやっぱりCombineが出てきた瞬間にViewModelが必要になる気配がありますねなんか勘違いしてるのかなあ
このあとは画面遷移のいろいろを調べようと思いますあといい加減ログイン状態の永続化などもやりたいよね自動トークンリフレッシュの仕組みも実装しないとだめな気がするがはたして


明日はどこかにお出かけするかも

0126

今日はわりとボンヤリしていたような気がするああそういえば結局SwiftUIはViewModelがあったほうがいいのかないほうがいいのかについて考えていたのだったViewModelがないとCombineとうまく連携してくれないと思っていたがそれはCancellableの保存先として参照型を用意すれば解決する問題ではあったしかし現時点ではSwiftUIには独自の機能がありすぎて隔離した方がいいと思うので今回は基本的にViewModelを立てる方針でいこうと思うまあまだ最終的な決定までは時間があるだろう
あとディープリンクによる自動画面遷移についても検討しているこれは思ったよりだいぶ難しいっぽいとりあえずダミーのNavigationLinkを用意してそいつを発火させればよさそうなんだけどいまのところうまく動いていないこれはPublisherが必要かなやれやれ


僕は空虚な構造にこそが宿るという物語が好きなのかもしれない信じたいのかもしれないたとえば被造物に本当の心なんて必要がないし嘘っぱちの家族にだって愛としか呼び得ないものが生まれることはあると思うそれを強く肯定してほしいと僕は思っている
なぜ僕がそんなものに惹かれているのかはわからない僕はただ僕そのものが嘘っぱちだと感じたことがあって高校二年ころの日記にも似たようなことを書いていると思うそれを結局忘れられなかったのだろうたぶんみんなそう思ったことがあるだろうだから人間失格はあんなに読まれるのではないかけど僕は結局そこから逃れられなかった自分がお道化であることを忘れられなかっただから嘘っぱちでもいいんだ空虚でもいいんだ本当なんてないんだそう信じなければ生きてゆけないそしてそれは真実だと僕は現に信じているしできることなら見せてやりたいと思っているんだ本当の心や愛やその他諸々が存在すると信じているあいつらに


明日はまた仕事なんか見積もりタスクとかあった気がするなやれやれ

0127

今日はなんだっけ仕事はあんまりしてないいやしてたけど本業とは関係ないことしてたオフィスの受付の受話器が壊れたのでかわりにiPadによる受付システムが導入されてSlackに通知が来るようになったのだけどこれは対象者が応答しないケースが想定されていないようなので一定時間誰も応答しなかった場合はかわりにチャンネル全体宛にメッセージを飛ばすbotを作ったまだ実運用に投入はできてないけどたぶん動くと思うので明日実験するひさびさにserverless frameworkを触った

今日は夜はそれ以外特にコードを書いていない上のは1/3くらいは家でやってた明日こそはSwiftUIでの画面遷移などに取り組みたい明日はそういえば打ち合わせに行かなきゃいけないんだったやれやれ

0128

仕事はなんだっけ結局午前中はPython書いてたら終わったような気がするとりあえず受付通知botは完成したまだ実際の場面で動いたことはないけれどそれはまあその方がいいが役に立つものを作れたという手応えがあるやはりこういう生活で役に立つ道具を自分で作るのは楽しいことだ

午後は打ち合わせに行ったまた何かの効果測定SDKを導入するらしいこういうのを見て施策を考えている人がいるというのは僕にはあまり想像できないこんなにたくさんのデータを集めてそれで僕たちは何かを理解できるんだろうか世界はとっくのとうに僕たちの理解できる複雑さを超えていて僕たちはすでにパチンコみたいなギャンブルをやっているだけなんじゃないだろうか

夜は戦争映画を観た戦争映画と呼ばれるものだと思うけどまあ戦争は終わった直後の話人権が蹂躙されているなあと思ったこんなことはおそらく本当にあたりまえにあったことなんだろう
戦争が良いとか悪いとかそういったことよりもどのような構造がそのような人権の蹂躙を可能にするのかということのほうに関心があるヒトには最初からそういうバックドアを持っているのか肥大しすぎた暴力を統御するためにそうなっていくのかヒトは二十世紀以来急速に大きすぎる暴力を操作できるようになりそれを統御するために四苦八苦しているように思われるしきっとインターネットもその歴史に名を連ねるんじゃないかなと個人的には思う要するに個人が持てる想像力では背負いきれない力を個人が持ってしまうというところに問題はあるのではないだろうか自由ってそういうことなのだとしても


明日は休暇をとったのでYとお出かけします科学博物館の企画展を見られたらと思っている

0129

今日は休暇お昼過ぎくらいまではコードを書いてたディープリンクをどう実現するかについて考えていてなんだか思ったとおりに動かないなあと思っていたんだけど単にDIの仕組みが壊れていただけであることが判明したのでそれを直したりした
SwiftUIはおそらく本気で画面状態を保持するのを放棄するつもりっぽいのでたぶんRouterをきちんと設計すれば機能するんじゃないかという気がするUIKitはそうではなかったそのあたりは今後調べていきたい

夕方は国立科学博物館に行って乱流屏風を見たもとは東大にあった実験装置でいろいろな条件下での水の流れを観察できるようになっているのだけど流れが見やすいように金色のフレークが水に混ぜてあるので全体的に金色で綺麗展示では部分的に乱流が発生するような状態が再現されていて乱流が常に起きているがどこで起きているのかは絶えず移り変わっているというような状態になっていたおそらくこのような状態がたとえば磁石のスピンが揃うような現象にたとえられるようなある種の相転移的現象を起こすのだろうモデル化がうまくできているのかは知らないけど興味深いなあと思った

その後は焼肉とか食べたやはりあそこの焼肉屋はとてもコスパよく満足できるいいねえ


明日はまた仕事なんか見積もりしなきゃいけないんだったやれやれ

0130

なんか無駄に忙しかった気がする会議が多かったアプリの動作が遅いという報告があったのでプロファイルを取っていたんだけど通信の時間とCPU使用時間を足しても待ってる時間に足りないからなんでかなあと思っていたらディスクI/Oが1秒くらいかかっていたなんでこいつはわざわざそれを待っているんだそれはそれとしてCoreDataに諸々書き込むのってそんなに時間がかかるのかなんか6msくらいの処理が200回くらい実行されて結果的にそのくらいになっていた何か実装が壊れているだけかもしれない

夜はSwiftUIと格闘していますなんとなく画面遷移を管理する子を用意して画面遷移のすべてをその子のバインディング変数として表現できたらいいじゃんと思っていたんだけどどうもNavigationLinkが期待したように動作しないDetailを表示している状態で別のDetailを表示しようとすると状態が乱れるらしいどうしたものかなあこういう使いかたを想定されているように見えるんだけど……
これが解決しないとディープリンクが実現できないので困りますいやまあ今回は使わないかもしれないけれど……


明日は仕事の前に耳鼻科に行きます仕事はOSごとクラッシュする謎の不具合と闘う予定