JA
ファイルアップロードは一見地味ですが、現代のWebサービスには欠かせない機能です。一方Railsでは、Active Storage登場以前のライブラリが本番環境で動き続けていることも多く、設計の負債が溜まりやすい領域でもあります。
このトークでは、とある人事労務系SaaSで長年稼働してきたファイルアップロード機能を題材に、サービスを止めずに改善してきた実践の記録をお話しします。動き続ける古い基盤に対して、「どの順番で負債をほどくか」「今ある大量のデータをどう扱うか」「既存ライブラリをどこまで延命し、どこまでモンキーパッチし、どこから置き換えを検討するか」などなどの、現場の試行錯誤と格闘の過程をそのまま開示します。
具体的には以下のテーマを扱います。
- ファイルアップロードライブラリに共通するライフサイクルなど基本事項の理解
- ファイルパスの決定ロジックや、「履歴機能」との相性が生んだ課題
- 負債を一つずつほどいていく改善ロードマップと、その裏での試行錯誤
- ライブラリを更新するか、置き換えるかの判断基準
このトークが、皆さんにとって自分のサービスの負債と向き合うための道標となり、ファイルアップロード機能の「禅」に触れるきっかけになれば幸いです。