Rails development know-how, technical tips, and the latest updates
Practical development techniques and best practices
「`access_logs` テーブルが3億行を超えて、集計バッチが朝までに終わらなくなった」「`notifications` テーブルへの `DELETE` がロックを取って本番が固まった」——サービス開始から数年経ったプロダクトで、こうした相談を受け...
「問い合わせ内容をAIで自動要約したい」「顧客データをAIに読ませてレコメンドを出したい」——既存プロダクトにAI機能を足す相談で、必ず一度は「個人情報を外部のAI APIに投げていいのか」という不安が出てきます。法務に聞いても明確な答えが返ってこず、か...
夜間バッチが途中で止まっていて、朝出社したエンジニアが手動でリカバリから一日を始める——。「バッチが落ちてました」の一言で、当日の予定が全部吹き飛ぶ現場を何度も見てきました。集計が翌朝までに終わらずレポートが遅延する、請求バッチが一部だけ実行されて金額が...
「RDSが遅くなるたびにインスタンスクラスを一段上げてしのいできたが、気づけば費用が当初の3倍になっていた」——既存プロダクトの改善相談で、驚くほどよく聞く話です。サービスが重いという声が上がるたびに `db.t3.medium` を `db.r5.la...
「画面Aの登録ボタンは青いのに画面Bは緑」「余白の指定がpxだったりremだったり画面ごとにバラバラ」「新規メンバーが1つボタンを置くのに毎回既存画面を探して真似している」。こうした状態に心当たりがあれば、それはデザインが崩れているのではなく、**デザイ...
「PoCのデモは動いた。あとは本番に組み込むだけ」と思っていたら、着手して1ヶ月経っても終わらない——AI機能の開発でよく聞く状況です。PoCコードをそのまま本番の画面に持っていこうとして、既存の認証やエラー処理と噛み合わず作業が膠着する。この記事では、...
「検索インデックスを作り直すたびに、検索機能が数十分止まる」「マッピングを変えたいのに、変更方法が分からず場当たり的にインデックスを作り直している」——Elasticsearch(またはOpenSearch)を使ったサービスで、こうした相談をよく受けます...
「決済まわりは〇〇さんしか触れない」「あの人が有給を取ると、その週はデプロイを止める」——複数人の開発チームがいるのに、機能ごとに触れる人が1人しかいない状態を、私たちは支援先でよく目にします。1人体制の属人化リスクは分かりやすいですが、チーム化した後も...
「商品一覧ページを開くたびにグルグル回る」「スマホだとスクロールするたびに画像がガクガク出てくる」「PageSpeed Insightsのスコアがずっと赤い」——画像を多く扱うサービスで、こうした相談を私たちはよく受けます。担当のエンジニアに聞くと「画像...
「決済まわりだけは、もう誰も触りたがらないんです」——既存プロダクトの改修相談で、この言葉を聞かない月はほとんどありません。機能追加の中でも決済コードだけは後回しにされ、気づけば継ぎ足しの分岐だらけになり、最初に書いたエンジニアもすでに退職している、とい...