andante

0207

自宅で仕事今日は比較的余裕のある日だったので開発完了したばかりのプロジェクトをXcodeGenでリプレイスする努力をしていました基本的な設定は自宅でやったのと似たような感じでよかったけどCode Signing周辺はまだ試していなかったのでそのあたりは手探りでとりあえずビルドに通るところまではできたので諸々の説明を書いたり手順を整理したりしてレビューしてもらおうと思うでも正直こんなのレビューどころじゃないよなビルドできてるしぱっと見動いてるから大きな誤りはないだろうと思う

夜は趣味のコードを書いてたWebAPI呼び出しを全部Promiseにして初号機とほぼ同等の機能を実現したはずこっちの方がずっと綺麗でいいねメソッド切り分けなどをいい感じにしてもうちょっとViewとViewModelを分離させたいvar bodyはViewだがstruct自体はViewModelだと理解している
次は一旦サーバーサイドに戻ってきちんと整ったエラーを返すようにしたいそうしたらアプリ側はエラーをハンドルできるここまでできたら二号機は終わりだろうか三号機は不要


明日はちょっと忙しい髪を切りに行ったりするこの週末は大変だぞ

0206

仕事は何してたっけなあなんか最近は仕事終わってから寝る前にもコードをいろいろ書くので仕事で何やってたかが思い出しづらい単なる加齢の可能性はある
ああそうだ勉強会資料を作ろうと思ってちょっと着手したんだけどリアクティヴプログラミングってなんのためにあるんでしたっけという疑問に自分がうまく答えられないことに気がついたいやまあ何ができるかとかはもちろん知っているけどこれでないとできないことってなんかあるんでしたっけ……みたいなところで詰まるもちろんRxのほうが表現力はほぼ純粋に高いのだからそういう例はいくらでも構成できるだろうけれど現実で使うことがどの程度あるかというと怪しいすくなくとも普通に非同期WebAPIを呼び出すだけならPromiseで足りるしそのくらいのほうがフットワークが軽くていいなのでそういう動機ベースの説明をするとよくわからなくなりそうまあCombineって追加されたんでどう使えばいいですかねみたいな機能ベースの説明をしてそうそうこれはRxとだいたい同じですねみたいな感じのことを言えばだいたいいいかなあその後でこいつ思ったほどSwiftUIとなじまないですねという話をするんですが

夜はコードを書こうとしたんだけどなんかXcode11.2の不具合のせいで思うように進まなかった11.3だと問題ないらしいんだけど11.2までのSwift Package ManagerはなぜかBuild Configuartionが"Debug"か"Release"のどちらかの名前であることを前提しているらしくっていまだに信じられていないそんな狂った実装があるかそこから逸脱するとうまく依存関係を読み込んでくれないらしい仕方がないのでXcodeをアップデートしているが遅いのでだるい
暇だったのでSwiftLintとかSwiftGenを導入してみたこいつは所詮試作機なので別に必要ないのだけどまあ設定とかはいまのうちに作っておくと使い回せそうだしね


明日は自宅で仕事ちょっと余裕ありそうだから仕事のプロジェクトもXcodeGenにできないか試してみようかなあ

0205

今日は自宅で仕事でもコードはほとんど書いていないリモート勤務制度のトライアルが終わりつつあるのでその結果報告をスライドにまとめた事前にアンケートをとっておいたからそれを貼るだけなんだけどなんかスプレッドシートの使いかたに不慣れだったので手間取ってしまったあとなんか円グラフ大好きな人みたいになってしまったけどまあアンケートの集計ってそういうもんだよなという気もするやれやれ

夜は趣味のコードを書いていたとりあえず試作機第二号もAPI呼び出しを行うところまでできてきたんだけどGoogle Sign-InのSDKはObjC対応の関係もあってか単なるデリゲートにもNSObjectを要求してくるのでいろいろ難儀した最終的にはそれ用のクラスを作ることになったけどまあこれもある程度は仕方ないよねと思うこの先はクラス間の依存関係をどう整理するかを考えていかないとな


明日もまた資料作ったりしたら終わりそうな気がするやれやれまあ案件状況は落ちついている時期だしなそういえばリニューアル案件のキックオフのために準備をしないといけないんだったなんとしても綺麗に書くぞという強い気持ち

0204

今年の恵方は過去ですみなさん過去を振り返りながら海苔巻きを食べましょう


仕事はなんか打ち合わせとかしてたら終わった打ち合わせは今日はちょっと長めだったので疲れた技術的な話題とすこしのライブデバッグ手伝いなどをしたのでまあ役には立ったと思う疲れたけど

夜はまたXcodeGenをいじっていただいぶいい感じのテンプレートが作れた気がするのでちょっと改変して会社に持っていったら喜ばれるかもしれないテンプレートをインポートしてちょっと手を加えるみたいなこともできるようになるとプロジェクト間で共有できて効率化できるかもそのためには多少作業フローに手を加える必要が出てくるだろうがちょっとの変更で問題が解決するなら安いものだろう
コーディング自体はあまり進んでいないけどPromiseKitの導入まではやった試作品第二号なのでもうちょっと実践的なコードも書いていくと思う明日は第一号では雑にやりっぱなしだったログイン周辺を再設計するところをやりたい


明日は自宅で仕事ですたぶんなんか事務的な仕事が多いんじゃないかと思うWWDCのCombineの回を観る時間とか取れるといいんだけどあと時間あったらLT資料を作り始めたりもしたいまだだいぶ先だけど

0203

前にもこの話をしたかもしれませんが節分が二月三日固定なのって実はこの四十年間くらいだけのことで来年は二月二日になるらしいですねそういうことってあるんやねという感じだ


仕事はなんかまあ不具合対応とかしてた時間があったらXcodeGenのこととか調べたかったけどなんだかんだでそういう時間は取れなかったやれやれ

夜はXcodeGenの設定を詰めてたなんとか一通り形になるところまでできたような気がするまだ細部はいろいろ雑だけどとりあえず動かせるっぽいなのでこれは一旦打ち止めにしてAPI呼び出しをPromiseKitにするところとかをやろうかなあ


明日は打ち合わせに行ったりしますあとはなんか事務作業とかやらないとだめかなやれやれ

0202

今日は…… まあ午後まではボンヤリしていたようなああいろいろ考えてたけど全部やめにしたというか考え直しにしたんだった具体的には非同期処理のあれこれをCombineでやろうとしていたけどこれはPromiseの仕事であるべきだという結論になったCombineはCombineでたくさんの値が流れてくるストリームに対しては適切なんだけど単に一度きりのAPI呼び出しを受ける手段としてはオーヴァスペックなんだろうこれらをうまく組み合わせる手段について試作機第二号で試そうと思う今はXcodeGenの初期設定について考えているところだけど

夜はアンキモとか白子とか牡蠣などが入った痛風鍋を食べた味が濃厚だな〜という感じのやつ味とはあんまり関係ないけどちょうどいいくらいの満腹感を得られたのでとてもよかった


さあて明日はまた仕事ですね不具合対応をちょっとやるんだけどそれよりXcodeGenを使ったプロジェクトファイル自動生成の道を探りたいと思っているなぜなら僕の趣味開発とも接続するからんだけどそこまで時間があるかなあこれ思ってるよりはたぶん険しい道なんだよね一度準備すればいろいろなところで使い回せる資産になるんだけど

0201

今日は大して何もしていません何かしたっけSwiftUIのNavigationLink回りのことを調べていたけどこいつやっぱりバグってるんじゃないかなあと思うXcode11.3だとシミュレータでisActiveがちゃんと動かない問題が知られているようだしとりあえずtagとselectionによる画面の切替は動作していないように見える厳しいなー実機では一度も試してないからわからないけど実機でもこういう感じだったらディープリンクへの対応そのものが厳しくなると思うもうrootから全部入れ替えてしまえば状態の整合性という点では問題ないのかもしれないけどそしてそれはそれでまあいいよなちゃんと動くなら
テンションけっこう下がっちゃったんだけどまあめげずに違うことを調べるとかしましょうViewModel不要説とかさ


明日はほこらんさんとへぼさんとn_tomさんと鍋を食べに行きますそれまではコード書いてようあとノートパソコンを郵便局に持っていってリサイクルしてもらわないと

0131

今日は仕事の前に耳鼻科に行ったとりあえずしばらくはアレルギーの薬で様子を見ましょうかという感じになった個人的には抗生剤長期投与とかで根絶やしにしてほしい気持ちはあるけれどそれはそれでリスキーなのも知ってるしまあ様子見ですねという気持ち

仕事は不可解なクラッシュの対応OSを巻き込んで落ちるやつなのでいろんなプロファイラでいろんな数字を見ては理由を考えてたんだけど最終的にはよくわからないがビューの高さが小さすぎると落ちるらしいに落ち着いたのでそこだけレイアウト制約をつけてなんとかした本質の追究よりも現象の観察のほうが役に立つ一例

夜はYの書類仕事を手伝っていたこういうのたぶん何らかの装置からのアウトプットなのでこちらがちゃんと処理系を書いたら自動で済ませられるのではという気持ちにはなるそのコストを誰も払わないのはわかってるんだけどあれでしょ学部一年の英語の教科書のネットで出回ってる和訳が雑なのと似たような理由でしょどうせこれを作った人たちはもうこれに関心はないんだ


明日はお休みSwiftUIのディープリンクについて引き続き調査をしたいまあ最悪諦めてもいいけどさ

0130

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

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


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

0129

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

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

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


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