タグ

ブックマーク / qiita.com/k0kubun (3)

  • Ruby 3.2 のIRBの新機能 - Qiita

    これはRubyアドベントカレンダー2022の22日目の記事です。 binding.irb のすすめ 8年前に 今更聞けないpryの使い方と便利プラグイン集 という記事を書き、そこから長い間 binding.pry を愛用していた。binding.irb も binding.pry も使ったことがないよ、という人はご一読をお勧めしたい。 当時PryにあったIRBに対する優位性のうち、時間が経っても常に使い続けた機能といえば binding.pryの存在、$ (show-source)、@ (whereami)、ls とその -G (grep) オプション、デバッグ機能 (要pry-byebugプラグイン) という感じで、他はまあたまに使うかもねくらいの感じになったのだが、なんとこれらはRuby 3.2ではIRBで全て使えるようになった。その上、Gemfileに何も書かなくてもデフォルトで使え

    Ruby 3.2 のIRBの新機能 - Qiita
    iga_k
    iga_k 2022/12/22
    IRBからdebug gemを気軽に起動できたり、便利機能たくさんだ!
  • かRuby 2.6のJITで実装か検討を行なった最適化集 - Qiita

    これは言語実装 Advent Calendar 2018の25日目の記事です。 今日2018年12月25日は、Rubyに初めてJITコンパイラが搭載されたRuby 2.6のリリース日です。めでたい!! 進捗はRuby 2.6 JIT - Progress and Futureに書いてある通りですが、ハイライトとしては、CPU計算負荷の高いOptcarrotというNESエミューレータのベンチマークで、以下のような性能向上を達成しました。 Optcarrot Lan_Master.nes 2.6.0+JIT: 86.6 fps 2.6.0: 54.6 fps - 1.59x slower 2.5.3: 48.5 fps - 1.78x slower 2.0.0: 34.6 fps - 2.50x slower Ruby 2.6では、JITを有効にしなくても2.5に比較してそこそこ速くなっていま

    かRuby 2.6のJITで実装か検討を行なった最適化集 - Qiita
    iga_k
    iga_k 2018/12/25
    ほとんど理解できていないがすごい。幅広深い。
  • ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita

    ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id

    ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita
    iga_k
    iga_k 2014/09/05
    includes は条件によって eager_load と preload に変わるので要注意。eager_load と preload を使う方が良さそう。
  • 1