タグ

ブックマーク / blog.m-ito27.com (10)

  • Railsガイドにきちんと目を通して新しい知識を得る - Rails のスレッドとコード実行編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails のスレッドとコード実行の章です。 railsguides.jp ExecutorとReloader リンクはこちら 理解するのが難しかった(今でも完全には理解できていない)ですが、Kaigi on Rails 2023の動画がわかりやすかったです。 kaigionrails.org Executorはフレームワークとアプリケーションのコードを区別するもの これがあるのでDBコネクションやキャッシュクリアを意識せずに開発できる 例えばアクションを実行する際、Executorは、実行前にto_runを、実行後にto_completeを呼び出す Executorはリソース管理のみ

    Railsガイドにきちんと目を通して新しい知識を得る - Rails のスレッドとコード実行編 - - PLAY BALL
    YassLab
    YassLab 2024/03/02
    “各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails のスレッドとコード実行の章です。”
  • Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションのエラー通知編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションのエラー通知の章です。 railsguides.jp サブスクライバの設定 リンクはこちら 例えば以下のように記述をするだけで、エラーをキャッチしてログで「エラーを検知しました」と表示されるのを確認できます。 ポイントとしては、reportというメソッドを持ったクラスのインスタンスをsubscribeで登録する、というところです。 # config/initializers/error_subscriber.rb class ErrorSubscriber def report(error, handled:, severity:, context:, so

    Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションのエラー通知編 - - PLAY BALL
    YassLab
    YassLab 2024/02/17
    “各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションのエラー通知の章”
  • Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションのデバッグ編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションのデバッグの章です。 railsguides.jp SQLクエリコメント リンクはこちら ログに出力されるSQLクエリログに、どのコントローラのどのアクション起因かというのが表示されます。 SQL実行に無駄がないか(結果をキャッシュできる箇所がないか)など調査するのに便利そうですね。 config.active_record.query_log_tags_enabled = true SELECT "books".* FROM "books" / *action='index',application='Myapp',controller='books'*/

    Railsガイドにきちんと目を通して新しい知識を得る - Rails アプリケーションのデバッグ編 - - PLAY BALL
    YassLab
    YassLab 2024/02/17
    “各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails アプリケーションのデバッグの章”
  • Railsガイドにきちんと目を通して新しい知識を得る - Rails セキュリティガイド編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails セキュリティガイドの章です。今回はセキュリティの話なので、知らなかったものと合わせて、改めて頭に入れておくべきと思った内容も含めてメモしました。 railsguides.jp セッション固定攻撃の対策 リンクはこちら 最も効果的な対応策は、ログイン成功後に古いセッションを無効にし、新しいセッションIDを発行することです。 devisegemを見てみると、sign_in時にセッションを一度捨てる処理がされています。 # lib/devise/controllers/sign_in_out.rb def sign_in(resource_or_scope, *args) # .

    Railsガイドにきちんと目を通して新しい知識を得る - Rails セキュリティガイド編 - - PLAY BALL
    YassLab
    YassLab 2024/02/15
    “今回は、Rails セキュリティガイドの章です。今回はセキュリティの話なので、知らなかったものと合わせて、改めて頭に入れておくべきと思った内容も含めてメモしました。”
  • Railsガイドにきちんと目を通して新しい知識を得る - Rails 国際化(I18n)API編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails 国際化(I18n)APIの章です。 railsguides.jp パラメータでロケールを管理する際の工夫されたURL設計 リンクはこちら ルーティングを以下のように書くことで、https://xxx.com/yyy?locale=jaなどではなく、https://xxx.com/en/yyyにアクセスした際にparamsでlocaleを受け取ることができます。 ※あくまでparamsのlocaleで値を受け取れるだけで、ロケールが変更されるというわけではないです。 # routes.rb scope "/:locale" do resources :books end Ra

    Railsガイドにきちんと目を通して新しい知識を得る - Rails 国際化(I18n)API編 - - PLAY BALL
    YassLab
    YassLab 2024/02/10
    “ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 / 今回は、Rails 国際化(I18n)APIの章です。”
  • Railsガイドにきちんと目を通して新しい知識を得る - Active Job の基礎編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Job の基礎の章です。 railsguides.jp キュー名の前に特定のプレフィックスをつける リンクはこちら active_job.queue_name_prefixを使うことでキュー名にプレフィックスを追加できます。 # config/application.rb config.active_job.queue_name_prefix = Rails.env BookJob.queue_name #=> "development_default" コールバック リンクはこちら _enqueueと_performがあります。 コントローラでいうbefore_acti

    Railsガイドにきちんと目を通して新しい知識を得る - Active Job の基礎編 - - PLAY BALL
    YassLab
    YassLab 2024/02/07
    "ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組み / (Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。今回は、Active Job の基礎の章です。"
  • Railsガイドにきちんと目を通して新しい知識を得る - Action Text の概要編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action Text の概要の章です。 railsguides.jp summernoteを使ったことはありますが、ActionTextをinstallからしたことはなかったので勉強になりました。 リッチテキストコンテンツの作成 リンクはこちら ActionTextをインストールさえしてしまえばとりあえず使うのは簡単です。 Modelファイルに以下を追記すれば良いです。 has_rich_text :xxx ActionTextのインストール後にマイグレーションを実行すればaction_text_rich_textsテーブルが作成され、そこに保存されるので別途カラムを用意する必要もな

    Railsガイドにきちんと目を通して新しい知識を得る - Action Text の概要編 - - PLAY BALL
    YassLab
    YassLab 2024/02/05
    “ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています / 今回は、Action Text の概要の章です。”
  • Railsガイドにきちんと目を通して新しい知識を得る - Action Mailer の基礎編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Action Mailer の基礎の章です。 railsguides.jp with リンクはこちら withを使うことでメーラーにパラメータを渡せます。送ったパラメータはメーラー側でparamsで受け取れます。 普段使うときはMailerアクションの引数に渡していたので使うことがなく、知りませんでした。 class BookMailer < ApplicationMailer def sample @book = params(:book) mail(to: 'sample@example.com', subject: 'sample件名') end end BookMailer.w

    Railsガイドにきちんと目を通して新しい知識を得る - Action Mailer の基礎編 - - PLAY BALL
    YassLab
    YassLab 2024/02/03
    "ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。今回はAction Mailer"
  • Railsガイドにきちんと目を通して新しい知識を得る - Active Support コア拡張機能編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Support コア拡張の章です。 railsguides.jp deep_dup リンクはこちら dupでは、コピーした配列の中身がgsub!などで変化する場合、コピー元の配列の中身まで影響しますが、deep_dupでは影響を受けないようにできます。 このあたりは意図せぬバグを混入させてしまわないよう、きちんと理解しておく必要があるなと思いました。 try リンクはこちら &.とtryは似ていますが、存在しないメソッドを指定した際に、前者はNoMethodErrorを返し、後者はnilを返します。 &.とtry!は挙動自体は同じようです。 ただし、try!は&.と比べる

    Railsガイドにきちんと目を通して新しい知識を得る - Active Support コア拡張機能編 - - PLAY BALL
    YassLab
    YassLab 2024/01/31
    “ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。”
  • Railsガイドにきちんと目を通して新しい知識を得る - Rails のルーティング編 - - PLAY BALL

    ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Rails のルーティングの章です。 railsguides.jp 浅いネスト リンクはこちら ルーティングで、リソースのネストを避ける方法としてidを必要とする(関連リソースのIDの特定が可能)アクションはネストから外すという方法が紹介されています。 同じリソースに対してルーティングを分けるというのは発想がなかったので、とても面白いと思いました。 resources :articles do resources :comments, only: [:index, :new, :create] end resources :comments, only: [:show, :edit,

    Railsガイドにきちんと目を通して新しい知識を得る - Rails のルーティング編 - - PLAY BALL
    YassLab
    YassLab 2024/01/20
    “ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組み / 各章ごとに(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。今回はRailsのルーティングの章”
  • 1