並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1053件

新着順 人気順

ActiveRecordの検索結果281 - 320 件 / 1053件

  • RubyKaigi 2023 セッションレポート Day2 - メドピア開発者ブログ

    バックエンドエンジニアの貞元勝幸(@greendrop269)です。 RubyKaigi 2023で長野県松本市に来ています。2日目(5/12)に聞いたセッションについて、いくつか紹介していきたいと思います。 タイムテーブル タイムテーブルは以下から確認できます。 rubykaigi.org How resolve Gem dependencies in your code? How resolve Gem dependencies in your code? - RubyKaigi 2023 RubyGems, Bundlerがどのように依存を解決しているかというお話しでした。 普段、rubyを書く中でgemを使用するためにgem install や bundle installを使用していると思います。 使用する側は、使用したいgemを指定するだけですが、そのgemが依存しているgem

      RubyKaigi 2023 セッションレポート Day2 - メドピア開発者ブログ
    • Adding support for cross-cluster associations to Rails 7

      EngineeringOpen SourceAdding support for cross-cluster associations to Rails 7At GitHub, we recently added a new feature to Rails that will be available in 7.0: support for handling associations across database clusters. Ever since we made the leap at GitHub to upgrade off our fork of Rails and worked hard to stay up to date with the latest releases, we’ve consistently looked for ways to improve t

        Adding support for cross-cluster associations to Rails 7
      • 【Ruby1.8以前から】Rubyの処理系とJIT【Ruby3.2のYJITまで】 - Qiita

        はじめに Ruby3.2 で YJIT がついに実用段階になりました! なので YJIT について理解するために、JIT 導入前の Ruby、MJIT、そして YJIT についてそれぞれどんな特徴があるのか簡単に調べてみました。 Rubyの処理系 最初に Ruby の処理系についてです。処理系、特に 言語処理系 と呼ばれるものは、何らかのプログラミング言語を処理して実行可能にするためのソフトウェアです。Rubyの代表的な処理系は MRI (Matz's Ruby Interpreter) です。C言語で書かれた Ruby なので CRuby とも呼ばれます。 MRI 以外にも Ruby 処理系はたくさんあります。Ruby Association の以下のページに様々な処理系が紹介されています。 本記事では MRI (CRuby) の簡単なしくみから YJIT までを簡単に紹介します。 JI

          【Ruby1.8以前から】Rubyの処理系とJIT【Ruby3.2のYJITまで】 - Qiita
        • WEARにおけるPUSH通知システムのリプレイス - ZOZO TECH BLOG

          こんにちは、WEARバックエンドブロックの天春(@AmagA001)です。バックエンドの運用・開発に携わっています。WEARはサービス開始から10年ほどの古いVBScriptを使った環境からRuby on Rails環境にシステムリプレイスを行なっています。本記事では、リプレイスの中でも既存環境が複雑で問題や課題が多くあったPUSH通知システムのリプレイスについてご紹介します。 目次 目次 PUSH通知システムとは リプレイス前のPUSH通知システム リプレイス前のPUSH通知システムの問題点 通知送信バッチのスケールアウトが出来ない 障害対応・運用が難しい状況 複数の開発言語による運用・改修コストが高い ステージング環境で通知確認ができない リプレイスの背景 リプレイス後のPUSH通知システム 非同期システム・EKS導入 既存システムの問題解決 バッチのスケールアウトが出来ない 障害対応

            WEARにおけるPUSH通知システムのリプレイス - ZOZO TECH BLOG
          • Railsのデザインパターン: Interactorオブジェクト

            InteractorオブジェクトとはInteractorオブジェクトとは「デザインパターンのひとつで、ビジネスロジックをカプセル化するためのモデル層に属するクラス群」です。ひとつのInteractorオブジェクトはひとつの責務をもちます。 「ひとつの責務」とは、たとえば「記事を投稿する」「決済を行う」という、それ以上分割できない責務です。またInteractorオブジェクトを使うための共通のインタフェースが定義されます。 Interactorオブジェクトと同じ役割として、Serviceオブジェクトがあります。ただ、Railsの文脈で語られるServiceオブジェクトは定義があいまいで、特定のルールをもちません。ルールがないとインタフェースが統一されず、また複数の責務をもってしまうといった問題が生じます。 Interactorオブジェクトはビジネスロジックをカプセル化する役割をもち、インタフ

              Railsのデザインパターン: Interactorオブジェクト
            • Herokuの新しい有料プランのまとめと、無料プラン終了後の個人的な移行方針について - give IT a try

              はじめに 2022年8月25日に、Herokuが無料プランを終了することを発表しました。 blog.heroku.com また、9月26日には前回のアナウンス時にはなかった、低コストプランが発表されました。 blog.heroku.com いずれの内容も英語なので、日本語で要点をまとめてみます。 また、エントリの後半では無料プラン終了後の個人的な移行方針についても書いてみます。 おことわり このページの情報は2022年10月4日時点の情報です。時間が経つと情報が古くなっている可能性があります。 また、内容の正確性は保証しないので、正確な情報を知りたい場合は上記ページを参照してください。 8月25日に発表された無料プラン終了のまとめ 2022/10/26から1年以上活動のないアカウントとそのストレージを削除する 2022/11/28から無料プランの提供を停止し、無料Dynoと無料DBの稼働を

                Herokuの新しい有料プランのまとめと、無料プラン終了後の個人的な移行方針について - give IT a try
              • 転職してデータ構造を把握するためにやったこととツール - Qiita

                はじめに これは モチベーションクラウドシリーズ Advent Calendar 2019 11日目の投稿です。 今年の10月にリンクアンドモチベーションへ中途入社して、2ヶ月ちょっとたちました。 久しぶりに関わるサービスが変わったのですが、システム全体を割と細かく理解したいというタイプなので、日々開発しつつ知識を蓄えようと奮闘しています。 オンボーディングでは、インフラ構成を教えてもらったり、マニュアルを読んだり、シナリオテストを実施したり、ソースコードの概要を説明してもらったり・・・色々やってもらいましたが、今回はデータ構造まわりを理解するために自分なりに実施したことについてまとめたいと思います。 データ構造を理解するために、やったことや使ったツール 主要データの構造と関連を把握する 実DBを見たり、ER図だといきなり詳細すぎて、どこから手を付けていいか結構悩みます。 はじめは主要部分

                  転職してデータ構造を把握するためにやったこととツール - Qiita
                • 週刊Railsウォッチ: 2022年のRails振り返り記事、RailsにDocker関連ファイルが追加ほか(20230125前編)|TechRacho by BPS株式会社

                  週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) だいぶ間が空いてしまいましたので、昨年末の改修から追いかけていきます。 公式更新情報: Ruby

                    週刊Railsウォッチ: 2022年のRails振り返り記事、RailsにDocker関連ファイルが追加ほか(20230125前編)|TechRacho by BPS株式会社
                  • ブログと Web サイトをオーバーホールした

                    一部の人には気付かれていたと思うんですが、diary.sorah.jp と blog.sorah.jp が長い間ダウンしていました。復旧させるのも腰が重く 2 年くらい放置していて (その間にも一瞬手を入れたりはしていたけど持続せず)、11 月に入っていろいろな家事をしていてその一環でようやく復活に至ったので報告します。 先に結果として書くと、sorah.jp 含めて Next.js 13 (SSG) になりました。裏に https://github.com/sorah/kozeki というちょっとしたソフトウェアがいて、Markdown ファイル群を処理させています。 なんで復旧の腰が重かったのか ブログはこれまで sorah/days - Rack アプリをデプロイしていました。サーバーフル! まずこのアプリ自体が ActiveRecord + Sinatra という構成になっていて

                    • 週刊Railsウォッチ(20201221前編)aws-sdk-rails gemの機能をチェック、RubyWorld Conference 2020のDHHインタビューほか|TechRacho by BPS株式会社

                      2020.12.21 週刊Railsウォッチ(20201221前編)aws-sdk-rails gemの機能をチェック、RubyWorld Conference 2020のDHHインタビューほか こんにちは、hachi8833です。約400年ぶりという木星と土星の超大接近は12/21(月)なので今夜ですね。と思ったらもう西の空に沈んでしまったようです。 参考: 【特集】2020年12月 木星と土星の超大接近 - アストロアーツ 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 ⚓Rails: 先週の改修(Rails公式ニュースより) 今

                        週刊Railsウォッチ(20201221前編)aws-sdk-rails gemの機能をチェック、RubyWorld Conference 2020のDHHインタビューほか|TechRacho by BPS株式会社
                      • ActiveRecordのincludesは使わずにpreloadとeager_loadを使い分ける理由 - Qiita

                        はじめに ActiveRecordでN+1問題やスロークエリを解消するためにeager loadingを行う場合、普段Railsを使って開発されている方であれば、パッと思いつくのはincludesではないでしょうか?もしくは、preloadやeager_loadを使用しますよね。 この記事では、Webサイト表示パフォーマンスを保つため、ActiveRecordのメソッドの違いや、どいういう場合に使ったら良いのか、どいういう場合には使わない方が良いのかについて書きました。 実際に Railsアプリケーションを作成して解説していきます。 用語の説明と分類「ORM の Eager loading と Lazy loading」 Webサイト表示パフォーマンスを保つため、ORM(RailsではActiveRecord)では、Eager loading と Lazy laodingというものをサポー

                          ActiveRecordのincludesは使わずにpreloadとeager_loadを使い分ける理由 - Qiita
                        • 週刊Railsウォッチ(20190603-1/2前編)Ruby 2.7.0-preview1リリース、RailsConf 2019を追う、pluckとincludesの組み合わせに注意、deep_transform_keys追加ほか|TechRacho by BPS株式会社

                          2019.06.03 週刊Railsウォッチ(20190603-1/2前編)Ruby 2.7.0-preview1リリース、RailsConf 2019を追う、pluckとincludesの組み合わせに注意、deep_transform_keys追加ほか こんにちは、hachi8833です。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください 今回は私たちにとって珍しいゲストがいらっしゃいました。 つっつきボイス:「どうもお久しぶりです🙇」「タイミングが合ったので今回初めて参加します: TechRachoいつも読んでます☺️」「お〜嬉しいお言葉!😂」 ⚓お

                            週刊Railsウォッチ(20190603-1/2前編)Ruby 2.7.0-preview1リリース、RailsConf 2019を追う、pluckとincludesの組み合わせに注意、deep_transform_keys追加ほか|TechRacho by BPS株式会社
                          • 週刊Railsウォッチ(20210201前編)Webpackerのガイドがマージ、RailsはRuby 3でどのぐらい速くなったかほか|TechRacho by BPS株式会社

                            2021.02.01 週刊Railsウォッチ(20210201前編)Webpackerのガイドがマージ、RailsはRuby 3でどのぐらい速くなったかほか こんにちは、hachi8833です。 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチ

                              週刊Railsウォッチ(20210201前編)Webpackerのガイドがマージ、RailsはRuby 3でどのぐらい速くなったかほか|TechRacho by BPS株式会社
                            • MVC、3 層アーキテクチャから設計を学び始めるための基礎知識 - Qiita

                              はじめに アプケーション・アーキテクチャについて学ぶと「MVC」や「3 層アーキテクチャ」といった言葉にたどり着きます。 さらに勉強を進めると「MVVM」、「ドメインモデル」、「クリーンアーキテクチャ」など、よく分からない言葉がどんどん増えていきます。 また、「オブジェクト指向」を勉強しても、実際のアプリケーションでの使いどころが分からなかったりします。 この記事では、これらの用語の非常に分かりにくい関係を整理しました。 2 種類の 3 層 伝統的な Web アプリケーションは、以下のように 3 種類のサーバから成り立ちます。 このサーバ構成を 3 層アーキテクチャと言うことがあります。 一方、アプリケーションサーバで動いているプログラムの内部構造も、以下のように 3 層に分離することがあります。 これも 3 層アーキテクチャと言うことがあります。 この記事では、サーバの構成ではなく、アプ

                                MVC、3 層アーキテクチャから設計を学び始めるための基礎知識 - Qiita
                              • RubyKaigi 2023参加レポート 〜エンジニアによるセッション紹介〜 - ZOZO TECH BLOG

                                こんにちは、バックエンドエンジニアの近です! 2023/5/11〜13に長野県にて開催されたRubyKaigi 2023でプラチナスポンサーとして協賛し、スポンサーブースを出展しました。 また、今年は我々が運営しているファッションコーディネートアプリ「WEAR」のサービス紹介CMを作成し、RubyKaigiの会場にて放映させていただきました。 technote.zozo.com technote.zozo.com 実際に放映されたCMは以下になります! www.youtube.com 我々が運営・開発しているファッションコーディネートアプリ「WEAR」のバックエンドはRuby on Railsで開発しています。2013年にVBScriptで作られたシステムですが、2020年頃からVBScriptのシステムをコードフリーズし、リプレイスをはじめました。現在もリプレイスを進めながら、新規の機能

                                  RubyKaigi 2023参加レポート 〜エンジニアによるセッション紹介〜 - ZOZO TECH BLOG
                                • rbsg.md

                                  rbsg.md [PoC] Proposal of RBS generation method using Rack architecture RBS generation problem RBS is an easy language to generate code for because of its simple syntax and lack of dependencies between files. In addition, there are currently a large number of required type definitions, so code generation for RBS is considered to be highly important. Various attempts have been made to generate RBS

                                    rbsg.md
                                  • 週刊Railsウォッチ(20190805-1/2前編)Rails 6のActive Recordは速くなった、Windows WSL2+VSCodeでのRails開発、Martin Fowler記事ほか|TechRacho by BPS株式会社

                                    2019.08.05 週刊Railsウォッチ(20190805-1/2前編)Rails 6のActive Recordは速くなった、Windows WSL2+VSCodeでのRails開発、Martin Fowler記事ほか こんにちは、hachi8833です。7payが9月に静かに息を引き取ることが先週決まったそうです。 いや、「7Payって、結局何が悪かったんだ?」って真っ当な疑問でしょ。僕も知りたいですよ。外部が(僕も含めて)色々言っているけど、いずれも推測、もっと言えば憶測にすぎません。 https://t.co/LEKEGzAQEc — 徳丸 浩 (@ockeghem) August 4, 2019 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたと

                                      週刊Railsウォッチ(20190805-1/2前編)Rails 6のActive Recordは速くなった、Windows WSL2+VSCodeでのRails開発、Martin Fowler記事ほか|TechRacho by BPS株式会社
                                    • Rails: Active Record属性のデフォルト値はコールバックよりもdefaultオプションで設定しよう(翻訳)|TechRacho by BPS株式会社

                                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Assign a default value to an attribute in Active Record - Andy Croll 原文公開日: 2023/03/13 原著者: Andy Croll 日本語タイトルは内容に即したものにしました。 以下のAPIドキュメントもどうぞ。 Rails: ActiveRecord標準のattributes APIドキュメント(翻訳) Active Recordモデルのインスタンスにデフォルト値を設定する必要が生じたことのある人は、おそらくコールバックでデフォルト値を設定したことがあるでしょう。 実はRails 5.0からもっとよい方法があるのですが、最近まで気づいていませんでした(Mosesに感謝します!) 参考: §2.3 Active Record属性API -- Ruby on

                                        Rails: Active Record属性のデフォルト値はコールバックよりもdefaultオプションで設定しよう(翻訳)|TechRacho by BPS株式会社
                                      • 週刊Railsウォッチ: Active Modelで属性のパターンマッチをサポート、猫でもわかるHotwire入門ほか(20220516前編)|TechRacho by BPS株式会社

                                        週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) コミット差分: Comparing @{2022-04-29}...main@{2022-05-1

                                          週刊Railsウォッチ: Active Modelで属性のパターンマッチをサポート、猫でもわかるHotwire入門ほか(20220516前編)|TechRacho by BPS株式会社
                                        • Active Recordで関連先を保存するときに気をつけること - おもしろwebサービス開発日記

                                          先日、仕事でRails(Active Record)の難しい仕様に遭遇したので共有するためにエントリをしたためました。似たようなケースに遭遇した人の手助けになれば幸いです(\( ⁰⊖⁰)/) 対応Railsバージョンと設定 Rails6.1以上 config.active_record.has_many_inversing = true(Rails6.1のデフォルト設定)である 問題1 まず次のコードを読んでみてください。 class User < ApplicationRecord has_many :posts end class Post < ApplicationRecord belongs_to :user, inverse_of: :posts # (1) before_update { puts 'before_update' } end user = User.new po

                                            Active Recordで関連先を保存するときに気をつけること - おもしろwebサービス開発日記
                                          • RailsのI18nの書き方を調べたのでまとめました|TechRacho by BPS株式会社

                                            概要 I18nとは I18n (国際化・多言語化を意味する internationalization を短縮したもの) Ruby on Rails 4アプリケーションプログラミング(山田祥寛、技術評論社)、p502より こちらの図の通り、 クライアントからページ要求をサーバが受け取る コントローラで使用するロケール(言語)を決定する ロケールに合致する辞書ファイルを選択する ERBテンプレートに辞書ファイルの内容を反映した結果をクライアントに返す という順番の処理になります。 パブリックI18n API translate 訳文を参照します localize DateオブジェクトやTimeオブジェクトを現地のフォーマットに変換します 上のメソッドにはそれぞれ#tと#lという別名メソッドがあります。 本記事ではtranslateメソッドのみ紹介します。 使い方 通常 辞書ファイルの定義方法

                                              RailsのI18nの書き方を調べたのでまとめました|TechRacho by BPS株式会社
                                            • Passkeys を完全に理解するために Rails で実装してみた with Remix - STORES Product Blog

                                              この記事は STORES Advent Calendar 2023 22日目の記事です。 こんにちは STORES 予約開発チームでエンジニアリングマネージャーをしています Natsume です。 昨今 Passkeys が各サービスで導入されており、勢いを感じています。 個人では 1Password のパスワードマネージャーを使っており、1Password が Passkeys 対応してから試しています。 Passkeys でのログインは ID/PW/OTP の autofill などに比べて 1step 省略される程度ですが、ログイン体験が良いと思っており、導入されていたらどんどん切り替えています。 ほどんどのサービスでは ID/PW との併用となっているケースが多く、セキュリティ面でのメリットを享受できるのはまだ先になりそうです。 個人的に Passkeys の実際の挙動や導入する時

                                                Passkeys を完全に理解するために Rails で実装してみた with Remix - STORES Product Blog
                                              • Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby

                                                Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby In this blog post we benchmark many Ruby versions and the latest Ruby Just-in-Time compilers (JITs) on the newest Ruby benchmark suite, yjit-bench. As a teaser, the geometric mean speedups compared to CRuby 3.1 on these 14 benchmarks are: MJIT 1.26x, YJIT 1.39x, JRuby 1.86x and TruffleRuby 6.23x. Read on to find more about the benchmarks and ga

                                                  Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby
                                                • Sidekiqで実現するRuby on Railsでの分散プログラミング - Techouse Developers Blog

                                                  初めまして、株式会社Techouseでバックエンドエンジニアをしている本澤(mottei)と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用されている分散プログラミングの技術について紹介します。 クラウドハウス労務について 分散プログラミングについて紹介する前に、私が開発しているクラウドハウス労務について、なぜ分散プログラミングが必要かの説明も兼ねて紹介します。 クラウドハウス労務は労務業務の電子化を推進するためのクラウドサービスです。人事労務担当と従業員との手続き機能・年末調整などの法定業務など様々な機能を持っており、企業の人事労務担当者と従業員とのやりとりを簡単に行うことができます。 これらのたくさんの手続きによって集められた大量の従業員データは、クラウドハウス労務のデータベースに格納されています。クラウドハウス労務は大企業が持つ基幹システムなどの別システムとの

                                                    Sidekiqで実現するRuby on Railsでの分散プログラミング - Techouse Developers Blog
                                                  • 週刊Railsウォッチ(20190722-1/2前編)Rails 6エラー画面の改良点、Dateを四捨五入できるtime_calc、Rackミドルウェアのデザインパターンほか|TechRacho by BPS株式会社

                                                    2019.07.22 週刊Railsウォッチ(20190722-1/2前編)Rails 6エラー画面の改良点、Dateを四捨五入できるtime_calc、Rackミドルウェアのデザインパターンほか こんにちは、hachi8833です。7年近く肌身離さず使い続けたMacbook Pro 2013 LateのSSDのメインパーティションが、先週金曜日に天に召されました😇。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓お知らせ2件 ⚓「出張Railsウォッチ in 銀座Rails」のお知らせ morimorihogeからのお知らせ: 7/24開催予定の銀

                                                      週刊Railsウォッチ(20190722-1/2前編)Rails 6エラー画面の改良点、Dateを四捨五入できるtime_calc、Rackミドルウェアのデザインパターンほか|TechRacho by BPS株式会社
                                                    • Ruby3.0でRactorを入れた理由、M:Nスレッドの制限。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.2 - STORES Product Blog

                                                      2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。こちらはvol.2です。 ko1の発表「Making *MaNy* threads on Ruby」をざっくり fujimura:では、笹田さんのパートに移ろうと思います。笹田さん、どうぞよろしくお願いいたします。 ko1:よろしくお願いします。 fujimura:最初にRubyKaigiのトーク内容のざっくりまとめと、感想及びその後の反響をお願いします。 ko1:ざっくりしたまとめで言うと、RubyにM:Nスレッドを入れたいという話を発表しました。M:Nスレッドとは何かというと、ユーザーレベルスレッドライブラリと、カーネルスレッドのよさをハイ

                                                        Ruby3.0でRactorを入れた理由、M:Nスレッドの制限。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.2 - STORES Product Blog
                                                      • Ruby on Railsでバルク処理を効率的に | Geppoプロダクトブログ|koyaman

                                                        はじめにこんにちは。小山です。 昨年、印刷会社の営業からITエンジニアにキャリアチェンジし今年の6月から株式会社ヒューマンキャピタルテクノロジー(HCT)にバックエンドエンジニアとしてジョインしました。 弊社では従業員のコンディション可視化・改善ツール「Geppo」を提供しています。 今回はGeppoの開発で得たRuby on Railsにおけるバルクインサート・アップデートでの知見について書いていきます。 直面した課題先日、設問への回答データ(複数問分)を受け取りDB内のデータ状況に応じて新規登録・更新を切り替えるAPI開発を行う機会がありました。開発の簡易的なイメージ図は以下の通りです。 このAPI開発の過程で私が直面した課題は以下の2点です。 課題1:新規・更新のデータが混在することによりロジックが複雑になり実装が冗長になる 課題2:データ量の増加に応じて処理コストが膨れる・パフォー

                                                          Ruby on Railsでバルク処理を効率的に | Geppoプロダクトブログ|koyaman
                                                        • ActiveRecordのincludesに複数の関連テーブルを指定したらスロークエリになった件 - LiBz Tech Blog

                                                          バックエンドエンジニアの宮澤です。 Railsアプリを開発していると関連テーブルを取得するactiverecordのincludes, eager_load, preloadメソッドはよく使いますよね。 アプリケーションのある箇所でスロークエリが出ているのを見つかって対応した際に、テーブル関連付けの種類によるこれらのメソッドの挙動について調べてみました。 テーブル設計 ER図 サンプルとしてシンプルに地域 => 国 => 都市と1:Nの関係でテーブルを作成します マイグレーション class CreateRegions < ActiveRecord::Migration[6.0] def change create_table :regions do |t| t.string :name t.timestamps end end end class CreateCountries < Ac

                                                            ActiveRecordのincludesに複数の関連テーブルを指定したらスロークエリになった件 - LiBz Tech Blog
                                                          • 週刊Railsウォッチ(20190924-1/2前編)Railsのconcernsを考える、Netflixのヘキサゴナルアーキテクチャ、Railsのアロケーション削減ほか|TechRacho by BPS株式会社

                                                            2019.09.24 週刊Railsウォッチ(20190924-1/2前編)Railsのconcernsを考える、Netflixのヘキサゴナルアーキテクチャ、Railsのアロケーション削減ほか こんにちは、hachi8833です。RailsチュートリアルのRails 6対応翻訳をひとまず終えました🍵。お目見えはもう少し先になると思います。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓週刊Railsウォッチ「公開つっつき会」第15回のお知らせ(無料) お申込み: 週刊Railsウォッチ公開つっつき会 第15回|IT勉強会ならTECH PLAY[テック

                                                              週刊Railsウォッチ(20190924-1/2前編)Railsのconcernsを考える、Netflixのヘキサゴナルアーキテクチャ、Railsのアロケーション削減ほか|TechRacho by BPS株式会社
                                                            • SQLite on Rails | Fractaled Mind

                                                              Over the last year or so, I have found myself on a journey to deeply understand how to run Rails applications backed by SQLite performantly and resiliently. In that time, I have learned various lessons that I want to share with you all now. I want to walk through where the problems lie, why they exist, and how to resolve them. And to start, we have to start with the reality that… Unfortunately, ru

                                                              • 週刊Railsウォッチ(20201020前編)Percona Toolkitは優秀、Active Admin非公式ガイド、Railsをリアクティブにするガイドほか|TechRacho by BPS株式会社

                                                                2020.10.20 週刊Railsウォッチ(20201020前編)Percona Toolkitは優秀、Active Admin非公式ガイド、Railsをリアクティブにするガイドほか こんにちは、hachi8833です。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 ※今回録音に失敗したため、つっつきボイスがいつもより短めとなっております🙇。 ⚓Rails: 先週の改修(Rails公式ニュースより) 今回の更新は少なめで、Changelogは更新されていませんでした。 コミットリスト: Comparing @{2020-10-0

                                                                  週刊Railsウォッチ(20201020前編)Percona Toolkitは優秀、Active Admin非公式ガイド、Railsをリアクティブにするガイドほか|TechRacho by BPS株式会社
                                                                • 週刊Railsウォッチ: Wasm Workers Server 1.0、mruby 3.2.0リリース、irbtoolsほか(20230315後編)|TechRacho by BPS株式会社

                                                                  週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 Wasm Workers Server 1.0でPythonとRubyをサポート 元記事: Wasm Workers Server 1.0

                                                                    週刊Railsウォッチ: Wasm Workers Server 1.0、mruby 3.2.0リリース、irbtoolsほか(20230315後編)|TechRacho by BPS株式会社
                                                                  • ISUCON12に1人チームで出て予選敗退した話 #isucon - くりにっき

                                                                    去年のやつ 今年参加するためにやったこと 作ったもの一覧 rubocop-isucon mysql2-nested_hash_bind datadog_thread_tracer itamae-plugin-recipe-rust itamae-plugin-recipe-datadog isucon-snippets チェックリスト Datadog Datadogでalpを実装した。 Datadogダッシュボード ISUCON数日前にDatadogのダッシュボードがバグって困った ISUCON12の予選問題 自分が予選当日に書いたコード プロビジョニング用のItamae 競技用コード スコア用issue PRベースで振り返り 初期セットアップ (3035 -> 1297) rubocopでauto correct (1297 -> 1757) Docker剥がし (1757 -> 153

                                                                      ISUCON12に1人チームで出て予選敗退した話 #isucon - くりにっき
                                                                    • i18n定義を自動整理するための話 - SMARTCAMP Engineer Blog

                                                                      こんにちは!スマートキャンプのエンジニア、瀧川です。 私は今BOXILの開発を担当していて、Railsアプリケーションとしてローンチから6年近く経つプロダクトとなります。 その間に溜まった技術的な負債については、タスクの中で併せて解消したり、プロジェクトの合間でまとめて時間をとったりと前向きには取り組んでいる(先日Rails6, Ruby2.7にあげました👏🏻)のですが、どうしても優先度が下がる改善がいくつかあるなと思っています。 今回は改善の優先度が低かったけど、割とストレスに感じていたi18n定義の自動整理をやってみた話を紹介しようと思います! 地味に苦戦したんですが、結果として全体の1/3を占めていた未使用のi18n定義を自動削除することができました! i18n(internationalization)とは 今回やること 解決方法 i18n-tasks ハマったところ i18n

                                                                        i18n定義を自動整理するための話 - SMARTCAMP Engineer Blog
                                                                      • STI、Polymorphic関連を実際に使用した話 - エニグモ開発者ブログ

                                                                        こんにちは!サーバーサイドエンジニアの@hokita222です! 有酸素運動は脳を活性化させると聞いて、最近は朝会社に出社せずにランニングしております! それはさておき、これは Enigmo Advent Calendar 2019 23日目の記事です! 今回は弊社が運営するサイトのBUYMA (Ruby on Rails)に追加した機能で、STI、ポリモーフィック関連を使ってみたので、どういう設計にしたかを書いていこうと思います。 ※使ってみたって話で、それぞれどういう特徴なのかなどの詳しい説明はしておりません。 どんな機能作ったの? 「〇〇キャンペーン」などの施策で、その日あった取引の中で特定の条件(商品ID、カテゴリーID、何円以上など)のものを絞り込み、その対象の取引に対して特定のアクションをさせます。 今回はこの機能の「特定の条件で絞る」の設計を説明していきたいと思います。 設計

                                                                          STI、Polymorphic関連を実際に使用した話 - エニグモ開発者ブログ
                                                                        • Rubyフレームワークのまとめ【2023年版】

                                                                          Rubyフレームワークとは、Rubyを使用して小規模から大規模のWebアプリケーションやWebシステム開発する際の土台として機能するソフトウェアのことを指します。 つまり、共通するコード(それぞれのプログラミング言語)に機能性を加えて形成された骨組み、枠組みです。 特に大規模のWebアプリケーションやWebシステムなどを開発する際、膨大な量のプログラムを書かなくてはなりません。 しかしフレームワークを使用することで、プログラムの記述量を大幅に削減し工数をさげる事が可能です。 経験が浅いエンジニアでもセキュリティが担保されたプログラムを作成する事ができます。 2.フレームワークとライブラリの違い フレームワークとライブラリの簡単に違いについてお伝え致します。 ・フレームワーク フレームワークは、プログラミングにおいて、特定のオペレーティングシステムのためのアプリケーションの標準構造を実装する

                                                                            Rubyフレームワークのまとめ【2023年版】
                                                                          • Introducing sqlc - Compile SQL queries to type-safe Go

                                                                            Ask any Go developer and they will tell you how painful it is to write programs that talk to SQL databases. Go feels like it isn't even half as productive compared to working with toolkits like SQLAlchemy, Diesel, Hibernate or ActiveRecord. The existing tools in the Go ecosystem force application developers to hand-write mapping functions or litter their code with unsafe empty interfaces. Introduc

                                                                            • 面接でされた技術質問まとめ - Qiita

                                                                              実際にエンジニア転職の際された質問を解説も込みでまとめてみました。 皆さんのお役に立てれば幸いです。 ① ActiveRecord ② オブジェクト指向プログラミング言語 ③ Webアプリケーションフレームワーク ④ WebサーバーとWebクライアント ⑤ 仮想化 ⑥ 最適なクラス設計 ① ActiveRecord Active Recordとは、MVCで言うところのM、つまりモデルに相当するものであり、ビジネスデータとビジネスロジックを表すシステムの階層です。Active Recordは、データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行なえるようにします。Active Recordは、ORM (オブジェクト/リレーショナルマッピング) システムに記述されている「Active Recordパターン」を実装したものであり、このパターンと同じ名前が付けられて

                                                                                面接でされた技術質問まとめ - Qiita
                                                                              • カラーミーショップで使っている Rails のバージョンを 5.0 系から 6.0 系にできた〜 - Pepabo Tech Portal

                                                                                こんにちは。DXチーム所属の@hrysdです。 この記事では、カラーミーショップのアプリケーションで利用している Ruby on Rails(以下 Rails)をバージョンアップした流れと、カラーミーショップ特有の大変だった点を紹介したいと思います。 この取り組みは昨年実施した Pepabo Tech Conference #13 において発表したものの続編・補強版だと思っていただければと思います。 おさらいと Rails アプリケーションのアップデートの方法 今回のアップデート対象のアプリケーションはざっくり以下の通りです。 JSON を返す Web API を担当 Rails のバージョンは 5.0 系 当時の rake stats の結果から一部抜粋 Code LOC: 28664 Test LOC: 78891 Code to Test Ratio: 1:2.8 アップデートの流れ

                                                                                  カラーミーショップで使っている Rails のバージョンを 5.0 系から 6.0 系にできた〜 - Pepabo Tech Portal
                                                                                • Ruby Style Guide

                                                                                  Ruby Style Guide Ruby is the main language at Shopify. We are primarily a Ruby shop and we are probably one of the largest out there. Ruby is the go-to language for new web projects and scripting. We expect all developers at Shopify to have at least a passing understanding of Ruby. It's a great language. It will make you a better developer no matter what you work in day to day. What follows is a l