Rails development know-how, technical tips, and the latest updates
Practical development techniques and best practices
「本番で何かが起きても、気づくのは顧客からの連絡が最初」——そんな状態のプロダクトを見ることは少なくありません。ログを見ようにも構造化されておらず、エラーが起きても誰にも通知が飛ばない。ダッシュボードもアラートもなく、社内の誰も「今システムが健全かどうか...
「先月よりAWSの請求がまた増えている」——事業が成長しているならまだしも、トラフィックはほぼ横ばいなのに費用だけが右肩上がり、という相談を経営者の方からよく受けます。誰かが意図的に無駄遣いしているわけではなく、**サービスを立ち上げた当初の構成のまま、...
「新しく入ったメンバーの開発環境構築に3日かかった」「あの人のPCでしか再現しないバグがある」「READMEの手順通りにやっても動かない」——長く運用されているRailsアプリでよく聞く話です。原因の多くは、環境構築の手順が言語化されず、特定のPCの中だ...
「先週まで動いていたAPIが急に502を返すようになった。原因を調べたら、誰かがセキュリティグループの設定をマネジメントコンソールから直接変えていた」——こうした相談は珍しくありません。犯人探しをしたいわけではなく、**「誰が・いつ・何を変えたか」が誰に...
「本番のDBパスワード、どこで管理してましたっけ」と聞いたら、Slackの検索窓を叩いて古いDMを探し出す担当者を見たことはないでしょうか。あるいは`config/database.yml`や`.env.production`を開いたら、決済APIのシー...
「ページの表示が遅い。Redisでキャッシュすれば速くなりますよね」——既存プロダクトの改善相談で、こういう聞かれ方をされることがよくあります。結論から言うと、半分は正しく、半分は危険です。Redisキャッシュは正しく使えば劇的にDB負荷と表示速度を改善...
「障害の原因を調べてほしいと開発会社に頼んだら、まず『どのサーバーのログを見ればいいか分からない』と言われた」——これは決して珍しい相談ではありません。サービスを立ち上げた当初はサーバー1台でログもシンプルだったのに、機能が増え、サーバーが分かれ、担当者...
「デプロイのたびにタスク定義をコピーして手で書き換えている」「アクセスが急増するとアラートが鳴るだけで、対応は毎回手動」——ECS(Elastic Container Service)を導入したはいいものの、サービスが育つにつれて運用が複雑化し、気づけば...
「検索インデックスを作り直すたびに、検索機能が数十分止まる」「マッピングを変えたいのに、変更方法が分からず場当たり的にインデックスを作り直している」——Elasticsearch(またはOpenSearch)を使ったサービスで、こうした相談をよく受けます...
リリース直後は問題なかったチャットや通知機能が、ユーザーが増えるにつれて「メッセージが届かない」「頻繁に切断される」「サーバーのメモリが徐々に膨らんでいく」と崩れていく——WebSocketを使ったリアルタイム機能でよく聞く相談です。API のレスポンス...