📣
Resilire Tech News 2025/12/19 - 年末の棚卸しとリリース運用の改善
サマリー
こんにちは、ResilireのTech Newsへようこそ。
今週は年末の開発ツール棚卸しとリリース周りの運用改善議論がホットトピックでした。
その他、フロントのコンポーネント設計(テーブルのprops整理)やデータのページング・並び順に関する実務的な議論、DB/COPYコマンドまわりの落とし穴共有など日々の運用改善に直結する話題が多めです。
ラジオ口調でサクッとお届けします。
注目ポイント
- ツール棚卸し:不要なツールの整理と削除方針
- テーブルコンポーネントのprops整理:UIパターンのvariant化方針
- APIページングとソート戦略:Primary Keyでのソートの推奨
- release → main branchの自動生成ファイルコンフリクト対策:自動化と運用ルール整備の検討
- DB/COPYの注意点とスキーマ設計:NULL指定やvarcharのデフォルト運用の検討
社内MTGでの様子
皆でワイワイ議論した現場のリアルを抜粋してお届けします。
1) 年末ツール棚卸し
- チェック対象一覧:Sentry・Chromatic・JetBrains・Postman・PostMark・ProtonVPN・UptimeRobot・Stoplight・MailTrap・Devin
- 決まりごと(現時点の合意)
- Stoplight・Devinのアカウント整理と削除
- ツールの一覧を社内ドキュメントにまとめて担当者を決定
- ポイント:担当者明確化と運用のOwnership明確化
2) コンポーネント設計 — テーブルコンポーネントのprops整理
- 問題:props過多による混乱
- 方針:よく使うUIパターンをvariantとして定義
- 次の対応:パターン定義とAsana上でのタスク割り当て
3) APIページングとソートの実務
- 要望:AIエージェントがOpenAPI経由で多数ページをループする際の並び変化による重複や抜けの防止
- 案と結論候補:
- created_atソートでの不安定さ(同タイムスタンプや微妙な更新による問題)
- Primary Keyでのソートの優位性(ユニークかつ単調増加による安定)
- ベストプラクティスとしてのcursorベースページング+PK明示的ソートの推奨
- 次の対応:まずはPrimary Keyソートを実装
4) release → main branchでの自動生成ファイルのコンフリクト対策
自動生成ファイルはコンフリクトしやすく、releaseブランチからmainへ反映する際にコンフリクト解消が必要です。
コンフリクト解消作業中にmainが進むと再度コンフリクトが発生する負のループが生じます。
現状は、リリース作業担当者がリリース作業の最後にコンフリクトを解消して同期しています。
- 検討された方策(メリット/デメリットを含む)
- マージブロックの再導入(運用負荷の増加)
- releaseブランチへのPRマージでmainブランチへのPR作成の自動化
- mainブランチへのPRにラベルをつけることでreleaseブランチへのPR作成を自動化
社内合意の方向性は、releaseブランチへのPRマージで都度mainブランチへのPR作成の自動化を目指し、実装者がコンフリクト解消に責任を持つ方向性です。
5) DB / COPY / スキーマ運用の知見共有
COPYコマンドでCSVからインポートする時にNULL扱いの指定が漏れると意図しない”NULL”文字列のデータができる点が共有されました。
NULL扱いまで指定したCOPYコマンド:
COPY table_name FROM 'file.csv' CSV NULL 'NULL';
- COPYコマンドの罠:CSVインポート時のNULL扱い指定漏れによる落とし穴の共有
- 設計意見:varcharカラムのnullable回避とデフォルト空文字運用の推奨
最後に
今週は小さな運用問題を確実に潰していく週でした。
年末に向けてツールの棚卸しをして運用コストを下げ、リリース運用の改善を目指すことで、来年の拡大した開発チームの運用をよりスムーズにしていきます。
個々の改善は地味ですが、積み重ねると大きな差になります。
Resilireではこうした改善を一緒に推進してくれるエンジニアを募集中です。
少しでも興味があれば採用情報をご覧ください:
次回も社内の「今」をお届けします。良いクリスマスを!
Discussion