diary

1114

昨晩は何してたんだっけ。そうそう、Djangoのアプリをコンテナにとじこめて、docker-composeでなんとかするところまでやった。なんかファイルアップロード関係でおかしいことがあったんだけど放置して寝た。


仕事はまあ不具合対応。一応検証期間が今日までだったので不具合を全部倒した。やれやれ、なかなか骨が折れるプロジェクトだった。そろそろ別プロジェクトに重心を移さないとまずそう(なぜか今月中に納品することになっていることを昨日知ったため)。


今夜はDjangoサービスをなんとかVPSにデプロイするところまでやりたい。やれるかは知らない。でもまあコンテナ化に完全に成功したのでもうあとは「やるだけ」でしょう(フラグ)。


1115

昨晩はDjangoのコンテナをVPSにデプロイして、Let's Encryptで証明書とったりしました。いやー、こういうときフルDocker化しておいて良かったなあと感じますね。まあ証明書新しく取ることなんてそんなしょっちゅうあるわけではないんですけども。


仕事はまあ普通。ちょっと余裕あった、けどなんかXcodeのバージョンを行ったり来たりしているうちに時間が過ぎ去ってしまった。Swiftのバイナリの安定性のことは詳しくないんだけど、5.0時点ではまだ完全に安定というわけではないので(ABIは安定だけどまだ完全にバイナリ互換というわけではない?みたいなステータスだった気がする)、結局Xcodeが変わるたびにCarthageが走って、そしてそれがとても遅い。Carthageはどうしてあんなに遅いのか。githubからダウンロードしてきてビルドしてるだけのはずなんだが。そしてその点では結局CocoaPodsと大差ないはずなんだが。
Carthageは、ポストCocoaPodsになると期待されていたけれど、結局完成する前にSwiftPMがXcodeでサポートされるようになってしまったので別にいらなくなってしまった気配がある。アクティヴにメンテナンスされているライブラリはだいたいSwiftPMに対応しているし。まあパッケージマネージャを作るのってたぶん想像するよりずっと難しいんでしょうけど(依存関係の解決とかすごく大変だと聞いたことがある)。

夜はまたTypeScriptを書いたりしていた。画像の同時並行アップロード機構は、async/awaitだけだと書けなくて(for文とかで無理矢理書いてしまうと直列になってしまうようだ)、なのでそこだけPromise.all()を使うようにした。だいたいいい感じに動いたのでうれしい。ただエラーハンドリングをまじめにやっていないのでそこはあとで考えないといけない(まあ単なるアップロードエラーなら通知を出してスッと消せばいいように思う)。

やりたいことに対する技術的困難はおそらくほぼすべて解消されたので(パフォーマンスのことは一旦無視するけど)、あとは手を動かすだけのフェーズっぽい気がする。こうなってしまうと僕はわりと関心を失いがちなんだけど。それはよくないので、今夜は残りのタスクを書き出して優先順位をつける作業をしようかな。


週末だ!