Ruby on Rails開発のインターン (Day 6)
こんにちは、皆さん!
今日は30分遅刻なので、終わるのも30分遅くなりそう...
今日の内容はメモリリークの処理だから難しそう
(更新)結局この記事ではメモリリークに触れるところまではいきませんでした(笑)
- トピック:
- 疑問:
- 問題:
- 学習した内容:
git cherry-pick
コマンドcherry-pick
とpull
の違い- 整っていて応用性の高い
seed.rb
ファイル database_cleaner
でテスト後のデータベース自動掃除- コマンドの代わりに
Rails.application.load_seed
で自動でデータを読み込む
- 今後やりたいこと:
- 上記の
seed.rb
ファイルを自分で実行する cherry-pick
とpull
の違いについて動画を作る
- リソース:
- Git - git-cherry-pick Documentation
- You mean the difference between a pull and a cherry-pick? I've been a user of gi... | Hacker News
- What does cherry-picking a commit with git mean? - Stack Overflow
- GitHub - DatabaseCleaner/database_cleaner: Strategies for cleaning databases in Ruby. Can be used to ensure a clean state for testing.
cherry-pick
でコミットだけを今のブランチに
以下のコマンドで特定のコミットだけを今のブランチに反映させることができる
$ git cherry-pick [commit hash]
どこから引き取ったコミットなのかを以下のコマンドで付け足すことができる(強制ではない)
$ git cherry-pick -x [commit hash]
cherry-pick
とpull?
はどう違うのか
***この部分に関しては正直100%正しい自信がないので間違ってたら教えてくれると嬉しいです***
pull
は指定したブランチのすべてのコミットをターゲットのブランチに反映させる。しかし、時にそういうことはしたくないときがある。オープンソースを作るだ。この時様々な人がいろんなコミットを反映させようとする。だが、本当に欲しいのはそのうちのいくつかのコミットだけでしょう。だからそのコミットを指定してcherry-pick
で反映させる。
使いやすい
seed.rb
ファイルの書き方
seed.rb
ファイルを見たので、軽くシェアするぜ!同じものは貼れないので適当に自分で作った簡単なものを載せます
def seed_user User.create(name: "anonymous", email: "anonymous@example.com") end def seed_admin User.create(name: "admin", email: "admin@example.com", admin: true) end case Rails.env when "development" seed_admin when "test" seed_admin seed_user end
Userモデルがあるとして、上記のようなseed.rb
を作る。
そうすると、ローカルとテストの時両方において、管理者(admin)は存在するが、ユーザーはテストの時にだけ読み込まれる。
このように、関数を使ってどのデータを読み込むのか指定すること状況において、必要なデータを読み込む関数を実行するかどうか指定するだけだから修正しやすい。
まとめ
seed.rb
の新しい使い方とかgitの新しいコマンドだったり。次は実際に自分で使ってみて、頭に入れなきゃ!明日はもっといろんなもの学べるといいなーー
ご精読ありがとうございました。では、また次回まで✌