自己紹介

Pocket
LINEで送る

初めまして、雰囲気担当の有安です。新人エンジニアです。
ブログ初回ということでまずは自己紹介で1回分稼ごうと思います。

——————————————————————

高校1年でドラムを始める。高校3年から音楽の専門学校に通い、在校時よりプロ活動を始める。後に授業料免除の特待生として卒業。プロ活動と並行して講師業も10年ほど続ける。バンドではメジャーデビューを経験。
バンド脱退後、2017年5月よりTECH::CAMPを受講。音楽講師を続けながらの3ヶ月の学習を経て、8月よりTECH::EXPERTを受講。2017年12月株式会社フクロウラボにフルスタックエンジニアとして入社。

——————————————————————

という感じで、音楽ばっかりしていました。

会社では主にRails触っています。
なので基本的にRuby,Railsについて書いていけたらいいなあと思っています。
あとはオブジェクト指向とかデザインパターンとかも興味があります。
Ruby,Rails x デザインとかも勉強して書いていきたい!

このまま終わったら文句言われそうなので、実務で役立っているTipsをいくつか。

【includesメソッドで複数のテーブルを結合させる】
company has_many users
company has_many websites
website has_many site_reports
とあったとして、
users = User.where(age: 20..29)
このusersに色々結合させたい。
例えばcompaniesテーブルを結合させたければ
users.includes(:company)

ですが、他のテーブルもごそっと結合させたい場合は、
users.includes({company: {websites: :site_reports}})
とやれば全部いっぺんに取ってこれます。ちなみに、
users.includes(company: {websites: :site_reports})
外側の{}は引数の最後の{}なので省略可ですね。

【||==使える】
○○がなかったら初期値をという式を記述する際、すぐunless使っちゃいがち。
hash = Hash.new
User.all.each do |user|
hash[user.company_id] = Array.new unless hash[user.company_id]
hash[user.company_id].push(user.id)
end
この途中の式は、
hash[user.company_id] ||= Array.new
と書くと簡潔でよい!

【Hashの初期値になんか入れると楽になることある】
上記の例がイケてないという話です。
hash = Hash.new
だと初期値がないので、いちいちArray.newを入れないといけなくて面倒。
hash = Hash.new { |h, k| h[k] = [] }
とやれば、初期値が入っているか怯えずにいきなりpushしてよい!

hash = Hash.new(0)
この書き方も便利。初期値を0にしています。
hash[:key] = hash[:key] ? hash[:key] + 1 : 1
みたいに書く必要がなくなります。
keyがあってもなくても hash[:key] += 1 でOK。

というわけで今回はこのくらいで!
文章書くのって楽しいですね!
勉強してそれっぽいこと書けるように頑張ります。
ではではまた1ヶ月後〜

Pocket
LINEで送る