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

  • 【Ruby】mapの途中でnextを使用するとnilが入ってしまう罠 - Qiita

    map(またはcollect)はブロックの戻り値を集めた配列を生成してくれる便利なメソッドです。 しかし、ブロックの途中でnextを使用すると意図せずnilが入ってしまう場合があるため、気をつける必要があります。 例えば以下のような数字の配列から偶数を取り出すメソッドを作成したとします。

    【Ruby】mapの途中でnextを使用するとnilが入ってしまう罠 - Qiita
    carolina04
    carolina04 2022/11/16
    “もしnilを配列に入れたくないのであれば、以下のようにmapした後にcompactを行うことで回避することができます。”
  • 【Ruby on Rails】N+1問題ってなんだ? - Qiita

    はじめに Ruby on Rails界隈でよく耳にする「N+1問題」について解説します。 N+1問題を理解することで無駄なSQLの発行を抑え、処理時間の削減に繋げることができます。 ↓読んでほしい人 N+1問題を知らない人 Ruby on Rails初心者〜中級者 性能改善したい人 N+1問題とは ループ処理の中で都度SQLを発行してしまい、大量のSQLが発行されてパフォーマンスが低下してしまう問題のことです。 日常生活で例えるなら、スーパーで商品を1点ずつお会計するようなもの。 それだけ無駄なことを行なっている状態を指します。 え、そんなアホなこと普通はしないって思いますよね? でもRailsを使用していると往往にしてこの問題が発生してしまうのです。 N+1問題の例 会社(companies)とそれに所属する人(users)を例に説明します。 例えばcompaniesテーブルとusers

    【Ruby on Rails】N+1問題ってなんだ? - Qiita
    carolina04
    carolina04 2022/08/06
    “N+1問題とは、はじめの1回のSQLでModelを取得し、そのModelに対するデータ数分(N回)のSQLが実行されてしまう状態のこと”
  • 【Ruby on Rails】tryとtry!と&.(ぼっち演算子)の違い - Qiita

    RubyonRailsでは似たようなメソッド(演算子)でtry、try!、&.の3種類を使用できます。 どれを使うか悩んでいる方のために結論から書くと、 以下の理由から「&.」を使用するのが最も良いと考えています。 tryはNoMethodErrorを握りつぶしてしまうので、極力使用しないのがベター try!より&.の方が使える環境が多い(try!はRails、&.はRuby) try!より&.の方が高速 try!より&.の方がコードの記述量が少なく可読性が高い ではそれぞれのメソッド(演算子)とその理由について詳細を説明します。

    【Ruby on Rails】tryとtry!と&.(ぼっち演算子)の違い - Qiita
    carolina04
    carolina04 2022/01/19
    “ tryはNoMethodErrorを握りつぶしてしまうので、極力使用しないのがベター try!より&.の方が使える環境が多い(try!はRails、&.はRuby) try!より&.の方が高速 try!より&.の方がコードの記述量が少なく可読性が高い”
  • 1