タグ

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

  • 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
    ogawast
    ogawast 2015/12/21
  • Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita

    概要 k0kubun/ppという、pretty printライブラリを作った。 任意の型のオブジェクトをpp.Print()に渡すと色つきでpretty printしてくれるという非常にシンプルなもの。 作った背景 fmt.Printf("%#v", ...)等ではわかりづらい複雑なmapやstructをdebug printするときは、pretty printを使うと便利。既存のpretty printライブラリには、GitHubで人気なものだとdavecgh/go-spewやkr/prettyなどがある。 いままではGoでデバッグのために複雑な構造をダンプするときこれらを使っていたのだが、必要以上に型の情報が書かれていたり、大きなものだと白黒なのでパッと見てわかりづらいなどの問題があった。 そこで、型やフィールドごとに別の色をつけることで視認性を高め、ビルトインの型情報は色にまかせて省

    Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita
    ogawast
    ogawast 2014/12/02
  • 1