✅ Repositoryに移行する
- なんかバグっとるのを修正した
- 自動テストを二つ作成した
- AIの導きによりPlaywrightでドラッグ&ドロップする関数を見つけた
- ドラッグ&ドロップでの操作のテストを実装する
- 要素の指定がむずい
- 一日寝かせたらできた
- Repositoryを作る
- RelationRepositoryを作成する
- PostRepositoryを作成する
- AIでやったらバグりよった
- リファクタリング
- 検索機能修正
- 絞り修正
- デプロイ
Leapcellの公式サイトを見ていたら、Next.jsが対応しているらしいので試してみている。
GitHubレポジトリを連携させたらサクっとデプロイが成功した。
Repositoryに移行する作業は、実装自体は終わっているのだけど、Amplifyへのデプロイに失敗している。
Amplifyからレンタルサーバーへの移行を準備している。
昨日何かを思いついていたのに、メモしなかったがために、なんだったか忘れてしまった。
そうだ、S3関連の処理をサーバーサイドへ移動させようと思っていたんだった。
今日何やってたっけ……。頭に霧がかかったように思い出せない。
プログラミング?とか?やってた気がする。うんきっとそうだ。
Repositoryパターンを使う形へのリファクタリングがやっと収束し始めている。ちまちまやっていたので長い時間がかかった。3ヶ月ぐらいかかった。
リファクタリングしてどうしたかったんだっけ。クラウドからの移行とか、ネイティブアプリ化とか目論んでたような気がする。Repositoryへ移行するだけでこんなに時間がかかったのに、できるんかそんなこと。
毎日やっている申請書類作成を今日は後回しにしてしまった。着手したらずいぶん進んだ。毎日着手しているとだんだん習熟して加速していく。最初期は1日10文字を苦労して書く程度の速度だったが、今日はサクッと700字が生えて来た。70倍だぞ。70倍。習熟に加えて、素材が集まってきたというのもある。
たこ焼きを食べにはま寿司に行ってきた。たこ焼きはかなり外側は強めの揚げ焼き、内部はトロッとしていて美味しい。企業努力が感じられる。ようやっとる。
さて、はま寿司で寿司やらたこ焼きやらを食っていたら、はま寿司はゼンショーが運営していることが店舗内音声で判明した。知らなかった。普段行く店は他にゼッテリアとなか卯があり、ゼンショーによって食を完全に掌握されてしまっている。なんてことだ。
クライアント用のRepositoryを作ってクライアントで使うようにしたと思ったら、そこはReact Server Componentsだった。
ICommandProducerとICommandConsumerとか書き始めて「メッセージキューだこれ」となってる。実装するより先に既製品をちゃんと見よう。
既製品のメッセージキューサービスを使うとしても依存はしたくないのでインターフェースは切ったほうがいいんだろうな。
Decoratorを使い回すために、共通のIRepositoryを作ろうとしていたんだけど(つまりIRepositoryに命令を出すための万能なパラメーターオブジェクトを作ろうとしていた)、executeメソッドを持つICommandを作って、それにDecoratorを着せればよさそうということに気づいた。
ずっとグネグネしてたやつがようやく収まった。
ただの関数オブジェクトじゃねっていう気がしなくもない。
うっ、executeコマンドに引数が欲しい。いや、コントラクターでパラメーターを渡せばいいはず。
『なぜ依存を注入するのか DIの原理・原則とパターン』に答えが書いてあった。引数の型として総称型を使えばよい。
Repository周りをきっちり作り込みたいけど車輪の再発明してる感じがすごくする。ライブラリを使ったほうがいいかも。でもライブラリに依存したくないかも。うまくライブラリを使いつつ依存しないようにするのが設計の腕の見せ所かも。ライブラリを探そう。クラス図を書こう。
一旦Repositoryで動くようにはなったが、複数のRepositoryに同一のDecoratorを着せられるようにしたい。後々のことを考えると、今のうちにきっちり作りこみたい。