並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 10 件 / 10件

新着順 人気順

ActiveRecordの検索結果1 - 10 件 / 10件

  • やさしいActiveRecordのDB接続のしくみ

    https://kaigionrails.org/2023/talks/kubo/

      やさしいActiveRecordのDB接続のしくみ
    • activerecord-originator をリリースしました - pockestrap

      こんにちは。 id:Pocke です。 今日は activerecord-originator という gem を作ったので紹介します。 github.com なにこれ Active Record が発行するSQLの各部分に、それがどこで作られたものかをコメントとして入れ込む gem です。 理解するには実例を見るのが早いでしょう。次のログはArticlesController#indexで実行されるクエリの例です。 Article Load (0.1ms) SELECT "articles".* FROM "articles" WHERE "articles"."status" = ? /* app/models/article.rb:3:in `published' */ AND "articles"."category_id" = ? /* app/controllers/artic

        activerecord-originator をリリースしました - pockestrap
      • ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog

        注意喚起の記事になります。タイトルが結論です。 既にこの問題に言及している記事はいくつかあるのですが*1、私は気付かずに踏んでしまったので、タイトルで「おっと、うちは大丈夫かな」と思ってもらえるようにこの記事を書いています。 joinableとは何か 問題として挙げているjoinableオプションですが、これはネストしたトランザクションの挙動に影響を与えます。少しややこしいので、サンプルコードを見せながら説明します。 # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem "activerecord", "7.

          ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog
        • 【Rails 7.1】ActiveRecord#Enumでメソッドの自動生成を制御する

          この記事は GMOアドマーケティング Advent Calendar 2023 4日目の記事です。 はじめに こんにちは。 GMOアドマーケティングの石丸です。 昨年のアドベントカレンダーでは Rails 7 で追加された ComparisonValidator について紹介しました。 GMOアドパートナーズ TECH BLOG byGMORails 7 で追加されたComparisonValidatorで日付のバリデーションを実装するこの記事は GMOアドマーケティング Advent Calendar 2022 3日目の記事です。はじめにこんにちは。GMOアドマーケティングの石丸(@thomi40)です。前回の記事では Rails 7 から実装された query_log_tags について紹介しました。今回の記事では同じく Rails 7 から追加された ComparisonValida

            【Rails 7.1】ActiveRecord#Enumでメソッドの自動生成を制御する
          • 新卒から始める パフォーマンスを意識したActiveRecordの使い方 - ANDPAD Tech Blog

            こんにちは!SWEの高橋(@thehighhigh)です。 この記事は ANDPAD Advent Calendar 2023の 17日目の記事です。 今年新卒として入社し、研修を終えたのちに、現在は「ANDPAD図面」というプロダクトのサーバーサイドを主に担当しています。 配属から早くも半年が経過し、プロダクトと自身の成長を実感しながら、日々楽しく開発に取り組んでいます! そんなANDPAD図面ですが、サーバーサイドは主にRuby on Railsで構築されています。 図面上に書き込みを入れることができたり、様々なオブジェクトを置くことができるというプロダクトの性質上、使われ方によっては非常に多くのデータを扱う可能性があり、また、ユーザーの業務に直結する機能を多く備えるプロダクトなので、可能な限りパフォーマンスを意識したコーディングが求められています。 Active Recordのパフォ

              新卒から始める パフォーマンスを意識したActiveRecordの使い方 - ANDPAD Tech Blog
            • Rails API: ActiveRecord::AutosaveAssociation(翻訳)|TechRacho by BPS株式会社

              概要 MITライセンスに基づいて翻訳・公開いたします。 英語記事: Rails API ActiveRecord::AutosaveAssociation 原文更新日: 2021/07/30(7d9b5d4) ライセンス: MIT 訳文には適宜強調を加えています。 AutosaveAssociationは、親がsaveされるときに、関連付けられているレコードも自動的にsaveされるようにするモジュールです。saveに加えて、mark_for_destruction済みの関連付けレコードのdestroyも行います(mark_for_destructionおよびmarked_for_destruction?を参照)。 親とその関連付けのsave、およびmark_for_destruction済みの関連付けレコードのdestroyは、すべて1個のトランザクション内で行われます。これにより、データ

                Rails API: ActiveRecord::AutosaveAssociation(翻訳)|TechRacho by BPS株式会社
              • ActiveRecordパターンの呪縛を学びほぐして挑むクリーンアーキテクチャへの入り口 | ドクセル

                スライド概要 ActiveRecordパターンに引きづられて設計が歪みがちになるのを学びほぐすことでクリーンアーキテクチャでの開発の良いスタートラインに立てるのではないでしょうか?

                  ActiveRecordパターンの呪縛を学びほぐして挑むクリーンアーキテクチャへの入り口 | ドクセル
                • ActiveRecord::Bitemporalとの歩み方 - SmartHR Tech Blog

                  こんにちは!SmartHR基本機能でプロダクトエンジニアをしているdooorです。 SmartHRでは履歴を表すデータモデルにBitemporal Data Modelを採用していて、Active Recordで扱うために ActiveRecord::Bitemporal を開発しています。 BiTemporal Data Modelとは、データを「有効時間(データが現実世界で有効である期間)」と「システム時間(データがデータベースに格納された時間)」の2つの時間軸で管理する方法です。変遷するデータの履歴を残すことができ、ある時点のデータを一覧することや過去の情報を更新することが可能になります。BiTemporal Data Modelが気になる方は 操作履歴/時点指定アクセスの実現 - BiTemporal Data Model の実践 をご一読ください。 ActiveRecord::B

                    ActiveRecord::Bitemporalとの歩み方 - SmartHR Tech Blog
                  • Rails: ActiveRecordのupdate_countersで競合状態を防ぐ(翻訳)|TechRacho by BPS株式会社

                    前文 競合状態は、バグの中で最も厄介な部類と言ってよいでしょう。ActiveRecord のupdate_counterメソッドは、データベース内で値の増減の競合状態を回避するときに便利な方法を提供します。本記事ではJonathan Miles氏が同メソッドの利用法、実装方法、そして競合状態を避ける他のアプローチについて解説します。 Railsは大規模なフレームワークであり、特定の状況に対応できる便利ツールが多数組み込まれています。本シリーズでは、Railsの大規模なコードベースに隠れている、あまり知られていないツールを紹介します。 今回紹介するのはActiveRecordのupdate_countersメソッドです。また、マルチスレッドプログラムにありがちな「競合状態」の罠と、このメソッドで競合状態を防ぐ方法についても見ていきます。 🔗 スレッドについて プログラミングでコードを並行し

                      Rails: ActiveRecordのupdate_countersで競合状態を防ぐ(翻訳)|TechRacho by BPS株式会社
                    • Fixing a footgun in ActiveRecord::Core#inspect

                      The inspect method on Active Record models returns a string including the model’s class and a list of all its attributes and their values. In Rails 7.2, you can configure which attributes are included in the output of inspect. In this post, I’ll discuss the performance issue that led me to implement this feature. I’ll also talk about how this feature can be used to improve developer experience. to

                        Fixing a footgun in ActiveRecord::Core#inspect
                      1