タグ

ブックマーク / zenn.dev/takeyuwebinc (4)

  • 現実のRuby/Railsアップグレード

    対象読者 課題を感じているけどどのように対処すればよいかわからない中級者 課題に気づいていない初級者 あるあるを楽しめる上級者 はじめに Ruby on Railsアプリケーションを最新の状態に保つことは、新機能の利用だけでなく、セキュリティやパフォーマンスの面でも重要です。定期的なアップグレードは、アプリケーションの堅牢性を確保し、最新のフレームワークの進歩を活用するために不可欠です。 Railsアプリケーションのアップグレードは、決して簡単ではありません。計画、テスト、そして様々な障害を克服するための努力が必要です。この記事では、Rails 5.0 だったアプリケーションを Rails 7.1 にアップグレードした事例を中心に、得られた知見を次のように章立てしてご紹介します。 当時の課題 アップグレードのための準備 アップグレードの手順 発生した問題とその解決 得られたもの アップグレ

    現実のRuby/Railsアップグレード
  • ActiveStorageダイレクトアップロードでファイルサイズの制限を設けるには

    ActiveStorageのダイレクトアップロード機能を利用すると、ブラウザから直接クラウドストレージにアップロードできるため、Railsアプリで大容量のデータを受け取ることなく、大容量ファイルのアップロードも可能です。 しかしながら、無制限に受け入れていては、想定外の大容量ファイルがアップロードされてしまう可能性があります。たとえば、数MBの画像の想定のところ1TBの動画がアップロードされると困ってしまいますね。 ActiveStorageでファイル容量のバリデーションを行うには ActiveStorageのバリデーションを実装するgemはいくつかあります。 次のように書くと、1MB以上のファイルを禁止することができます。 class Post < ApplicationRecord has_one_attached :image validates :image, attached:

    ActiveStorageダイレクトアップロードでファイルサイズの制限を設けるには
    iga_k
    iga_k 2024/01/23
  • Rails 7.0 で Sprockets 代替として追加された Propshaft とは何か?

    はじめに Rails 7 で rails new -h すると、Assets Pipeline としてこれまでの sprockets の他に、 propshaft を選べるようになっています。 $ bundle exec rails new -h # (省略) -A, [--skip-asset-pipeline], [--no-skip-asset-pipeline] # Indicates when to generate skip asset pipeline -a, [--asset-pipeline=ASSET_PIPELINE] # Choose your asset pipeline [options: sprockets (default), propshaft] # Default: sprockets # (省略) propshaft とは何なのでしょう? 調べてみまし

    Rails 7.0 で Sprockets 代替として追加された Propshaft とは何か?
    iga_k
    iga_k 2024/01/19
    Propshaftの仕事は「ミニファイはしない、CSSやJSアセットのマージはしない、ダイジェストだけ付与」って感じかな
  • Dev Container + Rails + vscode-rdbg (debug.gem)

    はじめに Ruby 3.1で標準ライブラリになった debug.gemVSCodeを組み合わせると、VSCodeのデバッグ機能をRubyでの開発に使えるようになります。 この記事では、最近私がよく活用するDevContainerを使ったRails開発において debug.gem を使うにはどのようにすればいよのか? 試したことをご紹介します。 debug.gem debug.gem については開発された笹田さんの記事をご覧下さい。 vscode-rdbg vscode-rdbgはVSCodeのデバッグ機能からdebug.gemを利用するためのエクステンションです。 ソースコードの左をクリックしてブレークポイントを設定でき、pryのようにコード中に仕込む必要がないのでとても便利です。 Dev Container Dev ContainerはVSCodeの機能の1つで、任意のDockerコン

    Dev Container + Rails + vscode-rdbg (debug.gem)
  • 1