「ページの表示が重い。でも遅いのは一部の集計やフィードだけで、そこだけ後から出せれば十分なのに」——そんなふうに感じたことはありませんか? ダッシュボードのアクティビティ一覧、外部APIを叩く箇所、重い集計。こうした「一…
続きを読むTailwind CSS v4のコンテナクエリ入門|@containerで「置き場所」に応じて変わるUIを作る
同じカードコンポーネントなのに、サイドバーに置くと窮屈で崩れて見える——そんな経験はありませんか? 広いメイン領域では横並びできれいに収まるのに、狭いサイドバーに置いた途端、画像とテキストが横に並んだままはみ出してしまう…
続きを読むRails の ViewComponent 入門|パーシャルとの使い分けと移行手順を実例で解説
Rails のビューを書いていて、こんな状態に心当たりはありませんか? 共通化のつもりで作った _card.html.erb に、画面ごとの if がどんどん増えていく render “card”, user: user…
続きを読むRailsのレート制限(rate_limit)入門|gemなしでログイン連打・API乱打を429で止める
ログインフォームに同じIPから何百回もパスワードを試されている。公開したAPIが一部の利用者から毎秒何十回も叩かれている。ログを見てヒヤッとしたこと、ありませんか? こうした「連打」をはじくのがレート制限(流量制限)です…
続きを読むRails 8.1のLocal CI(bin/ci)入門|プッシュ前にローカルでCIを一発で回す
コードを書いてプッシュ、GitHub Actions の CI が回るのをコーヒーを飲みながら待つ。数分後に赤くなって、「あ、RuboCop 引っかかってた」と直して再プッシュ……。この「CI 待ち → 赤 → 出直し」…
続きを読むRailsのN+1問題入門|includes / preload / eager_load の使い分けを1枚で解説
Railsで作った一覧ページ、記事数が増えてきたら急に表示が重くなった——そんな経験はありませんか? ログ(log/development.log)を眺めると、ほとんど同じ SELECT が何十行も並んでいる。これがいわ…
続きを読むTailwind CSS v4でtailwind.config.jsが無い?|@themeでカスタムカラーを定義する方法
Tailwind CSS を v4 に上げたら、tailwind.config.js が見当たらない——「設定ってどこに書くの?」「ブランドカラーを追加したいのに、今までのやり方が通用しない」と戸惑っていませんか? これ…
続きを読むTailwind CSSでline-clampが効かない|paddingの落とし穴と正しい行数省略の使い方
カード一覧の本文抜粋を「2行で切って … を出したい」と思って line-clamp-2 を付けたのに、3行目がはみ出したり、まったく効かなかったり——そんな経験はありませんか? クラス名は合っているのに省略されない。で…
続きを読むRails 8でenumの書き方が変わった|「wrong number of arguments」の直し方と新記法まとめ
Rails 8 にバージョンを上げたら、今まで動いていた enum が急に ArgumentError: wrong number of arguments (given 0, expected 1..2) でエラーにな…
続きを読むRailsのページネーション入門|PagyとKaminariの使い分けを実例で(速度40倍の理由)
一覧ページの表示が重い、記事やユーザーが増えてきて「全部を一気に出すのはさすがにマズい」——そんなときに入れるのがページネーション(ページ分割)です。Railsだと Pagy と Kaminari の2択でまず迷うのでは…
続きを読む









