今日は Ember-blog に CSV インポート機能を実装する続きをやっていた。
サーバーサイドは CSV からレコードを読み取って保存するところまで実装できた。
非同期Jobの使い方をだいぶ学ぶことができた。
minitest は全然書き方が分からなくて Claude Code に教えてもらいながら書いた。要復習&RSpec との違いを押さえるようにしておきたい。
フロントエンドはダメの極みで Ember.js を思い出すところから苦戦続き。
リクエストを送る部分もダイレクトアップロードの認証部分を忘れているのに気がつかなかったり、パラメータの構造がおかしくてエラーになったり・・・。CORS のエラーが出ているけど、今日は一旦実装を終わりにして、Ember.js と Rails 間の CSV ファイルを送信する部分の流れをシーケンス図で整理することにした。
データベースを含むシーケンス図を先に書いていて、全体の流れは掴めていたけれど、Ember.js からのリクエスト時のヘッダーやボディーの中身をちゃんと考えていないまま実装したのがよくなかった。
この文章を書きながら、そもそも OpenAPI の定義を忘れていたことに気がついた。
全体を掴んだ後はさらに細かい粒度で何を受け渡さないといけないかを自分が分かっているか確かめるためのシーケンス図を書くのが良さそう。
私は図を書くのは嫌いじゃないっぽく、むしろ頭が整理されるので自分のために積極的に書いていきたい。
シーケンス図は偉大。