はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ ActiveRecord

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 64件)

MySQL をアップグレードした後日、時間差で発生した Rails アプリの不具合とは? - LIVESENSE ENGINEER BLOG

2024/12/21 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails MySQL tl;dr 池田 アプリケーション

これは Livesense Advent Calendar 2024 DAY 21 の記事です。 転職会議の池田です。MySQL を 8.0.19 以上のバージョンにアップグレードした際に時間差で発生した Rails アプリケーションの不具合とその対応について書きます。 TL;DR なにがおきたか MySQL 8.0.19 と ActiveRecord の Boolean キャスト 実際に問題となる... 続きを読む

N+1 問題を解決すりゃいいってもんでもないらしい

2024/10/01 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip 問題 Rai Rails SQL レコード

こんにちは! ラブグラフ開発インターンの arawi です。 今日は Rails (ActiveRecord) を使っていると発生してしまいがちな N+1 問題についての記事です! TL;DR preload は SQL でデータを取得したあとインスタンス化するので、大量のレコードを prelaod するととても重くなる 想定する読者 N+1 問題を理解している Rai... 続きを読む

ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog

2024/02/26 このエントリーをはてなブックマークに追加 15 users Instapaper Pocket Tweet Facebook Share Evernote Clip false SmartHR Tech Blog

注意喚起の記事になります。タイトルが結論です。 既にこの問題に言及している記事はいくつかあるのですが*1、私は気付かずに踏んでしまったので、タイトルで「おっと、うちは大丈夫かな」と思ってもらえるようにこの記事を書いています。 joinableとは何か 問題として挙げているjoinableオプションですが、これはネスト... 続きを読む

Rails: Active Recordのfindで怖い思いをした話(翻訳)|TechRacho by BPS株式会社

2023/06/09 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails find SKI Active Record 翻訳

概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: A scary side of ActiveRecord’s find | Arkency Blog 原文公開日: 2019/03/19 原著者: Jakub Kosiński サイト: Arkency Blog 日本語タイトルは内容に即したものにしました。 参考: Rails API find — ActiveRecord::FinderMethods 参考: Object#tap (Ruby 3.... 続きを読む

rubygem開発でSteepを使って型を書く時の現状のオススメ設定 (2023年3月版) - joker1007’s diary

2023/03/15 このエントリーをはてなブックマークに追加 16 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails RubyGem RBS STEEP gem

Rails(というかActiveRecord)に型を付けるのは大変だが、Railsが絡まないrubygemにはそんなに苦労なく型が書けるので、これからgemを書く時には型を書きたいという人向けに今のところオススメの設定を紹介します。 というか自分が忘れるのでまとめておきます。 現状とはsteep-1.3.1, rbs-2.8.4を指します。 rbsは既に3系... 続きを読む

ancestryで楽にカテゴリ分けをしよう | GMOアドパートナーズグループ TECH BLOG byGMO

2021/06/28 このエントリーをはてなブックマークに追加 7 users Instapaper Pocket Tweet Facebook Share Evernote Clip byGMO Ancestry gem ツリー構造 カテゴリ分け

こんにちは。 GMOアドマーケティングのR.Sです。 今回はActiveRecordのモデルをツリー構造で整理できるようにする「ancestry」というgemを紹介します。 親子孫ひ孫のような多階層構造が簡単に実装できるので、カテゴリ分けなどに利用できます。 動作環境 Ruby 2.4.4 Rails 5.2.4 ancestry 3.2.1 gemインストール gem 'an... 続きを読む

ツイッターで見つけて直したActiveRecordの問題3つ - かみぽわーる

2020/12/03 このエントリーをはてなブックマークに追加 18 users Instapaper Pocket Tweet Facebook Share Evernote Clip enum かみぽわー state Inactive ツイッター

Rails Advent Calendar 2020の3日目です。 時間がないのでとりいそぎ3つだけ。 enum state: {active: 0, inactive: 1}とかした時に、typecast前の0とか1を取る ActiveRecord::Enumってstate: {active: 0, inactive: 1}とかした時に、typecast前の0とか1を取る場合、read_attribute_before_type_castを使うしかないのか?... 続きを読む

ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った - あらびき日記

2020/10/26 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails gem たいてい あらびき日記 一見

それなりの規模のサービスを運用していると、不可解なエラーに遭遇することはよくあるものです。その中でもデータベース関連のエラーは一見難解な問題に見えるかもしれませんが、原因調査に役立つ情報をさえ出力すればたいていの場合は容易に原因を特定できるものです。というわけで、Rails でよく遭遇するエラーの調査... 続きを読む

AWS LambdaでSeleniumとActiveRecordを扱う · フロッピーディスクの残骸

2020/09/13 このエントリーをはてなブックマークに追加 54 users Instapaper Pocket Tweet Facebook Share Evernote Clip Selenium 残骸 フロッピーディスク Ruby メモリ

気付いたらもう9月ですね。 最近、AWS Lambdaでいろいろと遊ぶ機会があったのでメモとして残します。 はじめに とあるセキュリティゲームの運営用に、SeleniumでWebスクレイピングをやっているRubyのスクリプトをEC2で運用していたのですが、Headless Chromeを扱うため大量に起動するとメモリ食っちゃうし、スケールしよ... 続きを読む

ActiveRecordのincludesに複数の関連テーブルを指定したらスロークエリになった件 - LiBz Tech Blog

2020/01/31 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip includes eager_load 宮澤 スロークエリ

バックエンドエンジニアの宮澤です。 Railsアプリを開発していると関連テーブルを取得するactiverecordのincludes, eager_load, preloadメソッドはよく使いますよね。 アプリケーションのある箇所でスロークエリが出ているのを見つかって対応した際に、テーブル関連付けの種類によるこれらのメソッドの挙動について調べ... 続きを読む

Rails 6からActiveRecordのAssociationはscopingの影響を受けなくなっている件と対処法 | もばらぶエンジニアブログ

2019/09/26 このエントリーをはてなブックマークに追加 24 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails Association 影響 対処法

こんにちは。日本ではすっかり秋の空が近づいてきました。個人的に夏は暑さが苦手であまり好きではないのですが、終わってしまうとなると毎年どこか寂しい気持ちになります。 一方で、秋はご飯が美味しいので食べる事が好きな僕にとっては一番好きな季節でもあり、結構心が踊っています。笑 さて、前置きは置いといて今... 続きを読む

ActiveRecordのincludes, preload, eager_load の個人的な使い分け | Money Forward Engineers' Blog

2019/04/02 このエントリーをはてなブックマークに追加 35 users Instapaper Pocket Tweet Facebook Share Evernote Clip includes preload eager_load

マネーフォワード福岡拠点の責任者をしております 黒田 です。 普段はRailsエンジニアとして マネーフォワードクラウド経費 の開発を担当しています。 普段Railsを使って開発されている方であれば、N+1問題に悩まされた経験は大抵の方がおありではないでしょうか。 N+1なクエリの発見には bullet を使うと良いですね。 b... 続きを読む

ActiveRecord トランザクションと ActiveStorage をちょっとだけ仲良くさせる方法 - SmartHR Tech Blog

2018/09/14 このエントリーをはてなブックマークに追加 55 users Instapaper Pocket Tweet Facebook Share Evernote Clip gongoZ ActiveStorage ファイル 問題 方法

こんにちは! SmartHR エンジニアの @gongoZ です。 Ruby on Rails 5.2 より、ファイルアップロードおよびそれらのファイルと ActiveRecord との関連付けを容易にする ActiveStorage という仕組みが導入されました。 お手軽で便利な仕組みなのですが、とある問題に遭遇した際「ここ、もう少しシュッと書けないものだろう... 続きを読む

ActiveRecordを試すときに便利なやつ – r7kamura – Medium

2018/04/15 このエントリーをはてなブックマークに追加 175 users Instapaper Pocket Tweet Facebook Share Evernote Clip medium 挙動 題材 r7kamura データベース

ActiveRecordを試すときに便利なやつ 手元で ActiveRecord の挙動を確かめてみたいときに、いちいちデータベースを用意したり、他人と共有できるコード片に整えたりするのは、結構な手間に感じてしまうかもしれません。この記事では、そういったケースで利用できる知識を幾つかまとめておこうと思います。 以下は今回題材に使うコード例で、これを上から順に説明していきます。 ActiveReco... 続きを読む

ActiveRecord の where.not とド・モルガンの法則 - アジャイルSEの憂鬱

2018/03/26 このエントリーをはてなブックマークに追加 31 users Instapaper Pocket Tweet Facebook Share Evernote Clip railsdm アジャイルSE 法則 懇親会 問題点

2018 - 03 - 26 ActiveRecord の where.not とド・モルガンの法則 ruby rails where.not を使っていて遭遇した問題についてrailsdmの懇親会で話していたら、 @kamipo さんから「5.2では少し直っている」という情報を頂いた。 この話をしているときに思ったけど、今の where.not の問題点について知らない人も多そうなので、せっかく... 続きを読む

elasticsearch-rails から返るモデルが同値比較できなくてテストで困る問題 - Islands in the byte stream

2018/03/07 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails Pry elasticsearch gem こいつ

2018 - 03 - 07 elasticsearch-rails から返るモデルが同値比較できなくてテストで困る問題 elasticsearch-rails はElasticsearchとRails / ActiveRecordのインテグレーションをしてくれるgemです。 こいつを使っているとき、 特定条件下でモデル同士を比較するテストがコケるようになる という現象に悩まされてきました。pry... 続きを読む

ActiveRecordのモデルが1つだとつらい - Qiita

2018/02/11 このエントリーをはてなブックマークに追加 104 users Instapaper Pocket Tweet Facebook Share Evernote Clip miyagi Rails Formオブジェクト tl;dr

Railsあるある 何気ないモデルの変更がアプリケーション全体を傷つけた TL;DR 最近の趣味アプリではコントローラーごとにモデル生やしてトップレベルのモデル使わない設計で書いていて、コールバックやデフォルトスコープ書き散らかしても影響範囲がコントローラー内だけで済むので便利だしFormオブジェクト書いてグルーしまくる必要もなく快適 — Miyagi (@hanachin_) 2018年1月30... 続きを読む

ActiveRecordでINの中が一万個とかにならないようにする - かみぽわーる

2017/12/23 このエントリーをはてなブックマークに追加 141 users Instapaper Pocket Tweet Facebook Share Evernote Clip Players かみぽわー preload ORマッパー 趣味

2017 - 12 - 23 ActiveRecordでINの中が一万個とかにならないようにする この記事は MySQL Casual Advent Calendar 2017 の23日目の記事です。 みなさんORマッパーは使っていますか? 僕は仕事とか趣味で ActiveRecord というORマッパーを使っているんですけど、こいつ例えば Team .preload( players : :hi... 続きを読む

ActiveRecord のパフォーマンス改善に関するgemを作った話 - クラウドワークス エンジニアブログ

2017/11/07 このエントリーをはてなブックマークに追加 44 users Instapaper Pocket Tweet Facebook Share Evernote Clip gem 八木 クラウドワークス オチ パフォーマンス改善

2017 - 11 - 07 ActiveRecord のパフォーマンス改善に関するgemを作った話 こんにちは。クラウドワークスの八木です。 今回は、ActiveRecord のパフォーマンス改善に関する gem を作ったので、それについて紹介したいと思います。先にオチを書いちゃいますが、この Gem を入れるだけで必ずパフォーマンスよくなるとか、そこまでのものではありません(仮に、そんな銀の弾... 続きを読む

migration の中で model を触ったら必ず reset_column_information する - onk.ninja

2017/10/18 このエントリーをはてなブックマークに追加 58 users Instapaper Pocket Tweet Facebook Share Evernote Clip Model migrate onk.ninja 治安 不整合

migration の中で model を触ったら必ず reset_column_information する 治安の悪い Rails アプリケーションでは、migrate 中に model の不整合で怒られることがあります。 class AddAgeToUsers < ActiveRecord::Migration[5.1] def up p User.first # 1 add_column ... 続きを読む

PostgreSQLで曜日ごと・時間帯ごとにレコードを抽出する - Qiita

2016/12/12 このエントリーをはてなブックマークに追加 42 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita PostgreSQL Dow extract

やりたいこと railsのactiverecordを使って、PostgreSQLのtimestampカラムに対して、曜日ごと・時間帯ごとにレコードを抽出したい。 ['日', '月', '火', '水', '木', '金', '土'].each_with_index do |dow, i| count_by_dow = Model.where("extract(dow from created_at... 続きを読む

Railsで複数タイムゾーンに対応 | EasyRamble

2016/01/16 このエントリーをはてなブックマークに追加 26 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails EasyRamble カラム USER レコード

先日書いた記事 RailsのActiveRecordで今日・昨日など特定の日に保存されたレコードを取得 | EasyRamble の後半で少し触れた、Rails で世界中の複数のタイムゾーンに対応する場合の続き。 国際化する Rails アプリケーションの場合、User モデルに time_zone カラム等を持たせて、ユーザーごとに異なる複数のタイムゾーンに対応する場合もあるかと思いますが、そう... 続きを読む

Railsで複数テーブルのjoins/includesとwhere検索 | EasyRamble

2015/10/17 このエントリーをはてなブックマークに追加 55 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rub where includes Rails テーブル

Rails の ActiveRecord で複数の関連する DB テーブル(モデル)を joins/includes させて、where 検索を行う方法です。結構難しかった。 — 環境 — Rub […] 続きを読む

[Rails] ActiveRecordの範囲指定に2点ドット(..)と3点ドット(...)を適切に使う - Qiita

2015/09/05 このエントリーをはてなブックマークに追加 16 users Instapaper Pocket Tweet Facebook Share Evernote Clip Rails Qiita 範囲指定

Post.where(id: 1..3) => "SELECT "posts".* FROM "posts" WHERE "posts"."id" BETWEEN 1 AND 3" 続きを読む

ActiveRecord - ちゃんとEager Loadingをした結果、逆に遅くなった件 - Qiita

2015/06/30 このエントリーをはてなブックマークに追加 23 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita attachment Attac LIMIT 結果

背景 N+1を起こしている箇所があったので必要なデータをEager Loadingしてデプロイをした その結果、逆にレスポンスが劣化した… td;lr 1:N のような関連の場合、eager_load(LEFT OUTER JOIN)した上で1の側にLIMITをかけると非常に遅いクエリが出来るケースがある 関連するモデル Message/Attachmentの2つ Messageは複数のAttac... 続きを読む

 
(1 - 25 / 64件)