JA

ファイルアップロードは一見地味ですが、現代のWebサービスには欠かせない機能です。一方Railsでは、Active Storage登場以前のライブラリが本番環境で動き続けていることも多く、設計の負債が溜まりやすい領域でもあります。

このトークでは、とある人事労務系SaaSで長年稼働してきたファイルアップロード機能を題材に、サービスを止めずに改善してきた実践の記録をお話しします。動き続ける古い基盤に対して、「どの順番で負債をほどくか」「今ある大量のデータをどう扱うか」「既存ライブラリをどこまで延命し、どこまでモンキーパッチし、どこから置き換えを検討するか」などなどの、現場の試行錯誤と格闘の過程をそのまま開示します。

具体的には以下のテーマを扱います。

  • ファイルアップロードライブラリに共通するライフサイクルなど基本事項の理解
  • ファイルパスの決定ロジックや、「履歴機能」との相性が生んだ課題
  • 負債を一つずつほどいていく改善ロードマップと、その裏での試行錯誤
  • ライブラリを更新するか、置き換えるかの判断基準

このトークが、皆さんにとって自分のサービスの負債と向き合うための道標となり、ファイルアップロード機能の「禅」に触れるきっかけになれば幸いです。

Lime Hall
DAY 2 11:05 – 11:35
Kondo Uchio

Product engineer at SmartHR, now working on platform engineering and technical debt reduction after several years building the company's core HR management features. A RubyKaigi speaker from 2016 through 2026, and a local organizer of RubyKaigi 2019 Fukuoka. Lives in Fukuoka, and can usually be found at Fukuoka.rb or a coffee shop near Yakuin. Co-translator of Learning eBPF (Japanese edition 『入門eBPF』, O'Reilly Japan).