Rails development know-how, technical tips, and the latest updates
Practical development techniques and best practices
「メンテナンス画面を出せる時間なんて、もうウチにはないんです」——DB移行やクラウド基盤の刷新を相談されるとき、発注者からよく聞く一言です。以前は深夜にメンテナンスを告知して数時間止めれば済んだ移行が、24時間稼働が前提のサービスや海外ユーザーを抱えるサ...
本番でエラーが頻発し、顧客から「また落ちてるんですけど」という問い合わせが週に何度も来る。エンジニアは深夜のアラートで疲弊し、直したはずの不具合がまた別の場所で再発する——。障害対応に追われるフェーズのプロダクトからよく相談を受けます。この状態で一番危険...
「本番へのリリースは、あの人がSSHして手作業でやっている」「手順書はなく、頭の中にしかない」——こうした状態のプロダクトは珍しくありません。デプロイできる人が1人しかいないため、その人が休むとリリースが止まり、リリース自体が怖くて頻度が下がっていく。こ...
「ステージングでは問題なかったのに、本番に出したらエラーが出た」——この一言、聞き覚えのある発注者の方は多いのではないでしょうか。よく聞くと、ステージング環境は存在するけれど、実は誰も信用していない。デプロイ前の最終確認は「本番に出してみて祈る」に近い状...
前任のPdMやCTOが抜けたタイミングで、既存SaaSの事業責任者を引き継いだ——着任した初週にこの状況に直面する方は少なくありません。開発チームに「今何を作っているんですか」と聞いても要領を得ず、バックログを見ても優先順位の根拠が分からない。とりあえず...
セキュリティスキャンツールを入れてはみたものの、赤い警告が数十件並んだ画面を見て「これ全部対応するのか……」とタブを閉じてしまう。あるいは、担当エンジニアが退職して以来、脆弱性通知のメールが未読フォルダに溜まり続けている。こうした状態のまま本番稼働してい...
「機能を追加するたびにページが重くなっている気がする」「初回表示だけやたら白い画面が長い」——サービスが2〜3年運用されてくると、こうした声がよく上がります。原因を辿ると、たいていJSバンドルが数MBまで膨れ上がっていて、ユーザーがページを開くたびにその...
「ページの表示が遅い。Redisでキャッシュすれば速くなりますよね」——既存プロダクトの改善相談で、こういう聞かれ方をされることがよくあります。結論から言うと、半分は正しく、半分は危険です。Redisキャッシュは正しく使えば劇的にDB負荷と表示速度を改善...
「CSVを取り込んだら固まった」「一部だけ登録されて、どこまで反映されたか分からない」——業務システムのCSV取込機能は、社内のバックオフィス業務やクライアントとのデータ連携で必ずと言っていいほど登場する割に、実装が雑なまま放置されがちな機能です。取引先...
「RAGを実装したいのでPineconeかWeaviateを検討している」という相談を受けて、既存のPostgreSQLを見てみると、実はそのままpgvectorを載せるだけで要件を満たせるケースが少なくありません。専用ベクトルDBの検討に時間を使う前に...