タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

rubyとzeitwerkに関するiga_kのブックマーク (4)

  • STORES Rails アプリを Zeitwerk 有効化するまでの道のり - STORES Product Blog

    こんにちは、ヘイ株式会社でエンジニアをしている id:hogelog です。 2021年6月に入社し CTO 室という部署に所属しつつなんだかあちこちの部署に首を突っ込むような役割をしています。まだ入社したばかりで把握してないものも多いですが、ビジネスの勢い、人の活気、やらなきゃいけないことばかりという雰囲気をとても楽しんでいます。 さてここは技術ブログ。なので技術の話をします。今回は STORES https://stores.jp/ec を支えるなかなか大きなモノリシック Rails アプリケーションのオートローダーを Zeitwerk へと切り替えた業務について紹介します。最新技術でもなく、Rails の設定項目の一つ Rails.application.config.autoloader の値を :classic から :zeitwerk に切り替えるというだけの地味な内容ですが、

    STORES Rails アプリを Zeitwerk 有効化するまでの道のり - STORES Product Blog
  • Zeitwerkの壊し方 - Qiita

    この記事はRuby on Rails Advent Calendar 2019の13日目です。 インフルエンザにやられて完全に出遅れました。ごめんなさいごめんなさい。 Zeitwerkとは みなさん、定数解決してますか? Rails6から導入されたZeitwerk、旧来のconst missingを利用した仕組み(classic mode)で見られた困った挙動のほとんどを解決してくれる素晴らしいヤツですね。 クラスを定義しても定義しても一向に参照されず、星空見つめてすすり泣いたあの日はもう過去のもの 🎉 ここでは、Zeitwerkのドキュメント、およびコードリーディングを通じて気づいた、導入の注意点やTIPSなどを紹介してみたいと思います。 (検証環境) Ruby 2.6.5 Ruby on Rails 6.0.0 前提知識として、Rubyの定数解決の仕組みを多少理解していると良い・・か

    Zeitwerkの壊し方 - Qiita
  • Rakeタスクで並行処理をするとCircular dependency detected while autoloading constant エラーが出て困った話 - Qiita

    Rakeタスクで並行処理をするとCircular dependency detected while autoloading constant エラーが出て困った話 背景 Rails4.2, ruby2.3系 集計のためにRakeタスクで並行処理を行う必要があった Parallelを採用し、並行処理を実装した Circular dependency detected while autoloading constant エラーが発生し困った 調べるとeager_load_paths設定しようって書いてあって、やったけど解決しなかった エラーの原因 1. Autoloadingはスレッドセーフじゃない マルチスレッド処理するとCircular dependency起こる。 ActiveSupport::Dependenciesあたりを参照 関連issue 関連stackoverflow 2.

    Rakeタスクで並行処理をするとCircular dependency detected while autoloading constant エラーが出て困った話 - Qiita
    iga_k
    iga_k 2020/03/03
    autoloadではまったらこれ疑う
  • Ginza.rb 第79回 - koicの日記

    Ginza.rb 第79回 Rails6の新しい定数自動読み込みZeitwerkのコードを読もう!に参加した。会場はメドピアさん。 ginzarb.doorkeeper.jp 表題のとおり今回は Zeitwerk がテーマ。余談だが自分は発音できないのでカタカナ読みでツァイトヴェルクと読んでいたが、それでも読みづらいので Rails コミュニティで略称として使われている zloader (ゼットローダー) の方で読んでいたりする。 オートローダーとは Rails で require を書かなくてもクラスが使える機構を支えているものだが、Ruby 標準の autoload を Rails が拡張した autoload が Rails 5.2 以前に択一だったもので、Rails 6 で追加されたオートローダーが Zeitwerk となる。従来のオートローダーは classic というもので A

    Ginza.rb 第79回 - koicの日記
    iga_k
    iga_k 2020/01/22
    私も同様にマジかと思ったw “$LOADED_FEATURES から対象のパスを reject! で破壊的に除いて 再び setup を実行するとかマジかと思って面白かった。このコードは面白かった。印象的なことだったので2度言った。”
  • 1