Ruby

RailsからLaravelを眺める

【2025年版】Rails 8とLaravel 12のセキュリティ実装比較 | 認証・CSRF・XSS対策のコード例

※本記事は「RailsからLaravelを眺める」シリーズの第13回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめに今回のテーマはセキュリティ実装です。Railsでは当たり前だった「デフォルトで安全」という考え方が、Laravelではどのように実現されているのか。認証、CSRF対策、XSS対策など、Webアプリケーションの基本的な...
RailsからLaravelを眺める

悲観ロック vs 楽観ロック|LaravelとRailsで学ぶ実装パターンと使い分け

※本記事は「RailsからLaravelを眺める」シリーズの第12回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにWebアプリケーション開発において、複数のユーザーが同時に同じデータを更新しようとする「同時実行制御」は避けて通れない問題です。例えば、ECサイトでの在庫管理や、チケット予約システムなどで、適切な制御がないとデータの...
RailsからLaravelを眺める

同じ“Middleware”でも別物?RailsとLaravelで見えた5つの違い

※本記事は「RailsからLaravelを眺める」シリーズの第11回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにRails出身のエンジニアがLaravelを触ると、最初に違和感を覚えるのは「同じ用語なのに指しているものが全然違う」という場面です。その代表例が「ミドルウェア」。Railsにおけるミドルウェアは「Rack Midd...
RailsからLaravelを眺める

LaravelのFacadeをRailsの感覚で理解する:Rails.cacheやHelperとの違い

※本記事は「RailsからLaravelを眺める」シリーズの第10回です。 Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにRailsからLaravelに移るとき、多くのRailsエンジニアが最初に「???」となるのが Facade です。Cache::get() や Route::current() のように「静的メソッド呼び出し」に...
技術

Rails 8時代のアセット管理|PropShaftで変わるRailsの標準

はじめにRailsアプリ開発において、画像・CSS・JavaScriptといった「アセット」の管理は欠かせません。しかしRailsの歴史を振り返ると、この仕組みは大きく揺れ動いてきました。Rails 3〜6:Sprockets がアセット管理の主役Rails 5.1〜6:フロントエンドのモダン化で Webpacker が登場Rails 7:Webpacker廃止、Importmap / JSBun...
RailsからLaravelを眺める

RailsとLaravelで比較する2FA導入方法|TOTPとFIDOキー(WebAuthn)で学ぶ多要素認証実装ガイド

※本記事は「RailsからLaravelを眺める」シリーズの第9回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにWebアプリケーションのセキュリティを考えるとき、パスワードだけに頼るのは心許ないというのが現実です。パスワードの漏洩や総当たり攻撃、フィッシングなど、ユーザー認証が破られるリスクは常に存在しています。その対策として有...
技術

reCAPTCHAからの移行にも最適!Cloudflare TurnstileをRailsとLaravelで使う方法

はじめにWebアプリのセキュリティ対策として、スパムや不正ログインを防ぐ仕組みは欠かせません。長年の定番は Google reCAPTCHA でしたが、実際に使ってみると「画像パズルを解かされる煩わしさ」や「Google によるトラッキング懸念」がつきまといます。ユーザー体験を損なうこともしばしばあり、特に商用サービスでは離脱につながる要因になりかねません。そこで注目されているのが Cloudfl...
RailsからLaravelを眺める

RailsとLaravelでどう書く?配列・コレクション操作の実装パターンまとめ

※本記事は「RailsからLaravelを眺める」シリーズの第8回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにフリーランスエンジニアとして日々さまざまな案件に携わっていると、Rails案件、Laravel案件の両方に関わる機会が訪れます。どちらも優れたフレームワークですが、同じような処理を実装する際に「Railsならこう書ける...
RailsからLaravelを眺める

RailsエンジニアがまとめるDBマイグレーションの今|積み上げ式と状態ベース、Rails migrate・RidgepoleとLaravel migrate・sqldefの整理

※本記事は「RailsからLaravelを眺める」シリーズの第7回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにRailsでもLaravelでも、アプリ開発を始めると必ず登場するのが DBマイグレーション。テーブルやカラムをコードで管理できるのは便利ですが、数年単位で運用すると マイグレーションファイルが雪だるま式に膨れる とい...
技術

作って学ぶRails 8入門・後日談|Claude Codeとバイブコーディングで進化するShlink-UI-Rails(実践編)

はじめに前篇(環境構築編)では、要件をObsidianでMarkdownにまとめ、それをClaude Codeに読み込ませることで「実装 → RSpec → Rubocop」という流れをAIに任せる体制を作りました。人間はレビューと判断に集中し、AIは実装とテストを回す。これがいわゆる“バイブコーディング”の基本形です。今回の後篇(実践編)では、Claude Codeと一緒に進めたShlink-U...
技術

作って学ぶRails 8入門・後日談|Claude Codeとバイブコーディングで進化するShlink-UI-Rails(環境構築編)

はじめに前シリーズ「作って学ぶRails 8入門(環境構築編/実践編)」では、Docker Compose で Rails 8 + MySQL 環境を整え、セルフホスト型URL短縮サービス Shlink のAPIと連携し、Rails標準の Turbo / Stimulus / importmap / Tailwind を活用して最小限のUIを作りました。これで一応の完成形にはなったのですが、どうし...
技術

作って学ぶRails 8入門|Shlink APIとつないでSPA風のURL短縮UIを実装する(実践編)

はじめに前編の記事では、Docker Compose を使って Rails 8 + MySQL の環境を整え、さらに importmap / Turbo / Stimulus / Tailwind を導入してモダンな開発基盤を作りました。後編となる今回は、いよいよ Shlink API と連携して URL 短縮 UI を実装します。ただし普通に「フォーム送信 → 結果ページへ遷移」といった従来型の...
技術

作って学ぶRails 8入門|Docker ComposeでMySQL環境を整え、ShlinkのUIを実装する(環境構築編)

はじめにRails を始めたいけれど「環境構築が大変そう…」と感じたことはありませんか?今回は Docker Compose を使って Rails 8 + MySQL の環境を用意し、Shlink(オープンソースのURL短縮サービス)のUIを作る準備までを一歩ずつ解説します。この記事を読めば、Docker Compose で Rails と MySQL をまとめて動かすRails 8 の新規アプリ...
技術

RailsからLaravelを眺めるシリーズまとめ|RailsとLaravelの違いを整理する

はじめに本記事は「RailsからLaravelを眺める」シリーズのまとめページです。このシリーズでは、RailsとLaravelを並べて比較しながら、両フレームワークの設計や実装の違いを整理しています。Railsを使ってきた人がLaravelを学ぶとき、あるいはLaravelを普段使っている人がRailsのアプローチを知りたいときに、両者を横並びで理解できることを目指しています。記事一覧Rails...
RailsからLaravelを眺める

Rails×Laravel バリデーション実装ガイド|FormObjectとFormRequestで学ぶ設計思想

※本記事は「RailsからLaravelを眺める」シリーズの第6回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにRails と Laravel はどちらも強力なバリデーション機構を備えていますが、Railsは“モデル中心”/Laravelは“リクエスト中心”というアーキテクチャの前提が違います。Railsの王道はモデルレベルの ...
スポンサー
タイトルとURLをコピーしました