[Rails] 真得瞭解 Active Record Lazy loading 嗎?

If inherit active record , use instance to catch value will has lazy loading

所以在 Controller or Model 都會有效果
所以宣告 instance value 不會有 sql 查詢才是

1
@account  = current_user.account

@account 被頁面調用时,才會執行 sql 去查 Account table

1
@account.balance

以上我們的認知是没有錯的,可以参考這篇

[Rails] rollback migration version

遇到 migration 進退兩難

在 localhost 或者 staging 已经部属完 migration
而當前处在错误的版本,爾後又继续建立 migrate file,中間存在很多的 migration versions
导致最後沒辦法前進 rake db:migrate ,也沒辦法後退 rollback:migrate

[Rspec] FactoryGirl create vs build vs build_stubbed

根據上一篇「測試效能最佳化」裡提到的一個概念

減少不必要的 DB 操作來提高測試效率

而其中做了以下幾件事

  1. 每支測試檔案,只做一次 clear DB 確保測試檔案之間不互相影響
  2. 可以使用一個數據進行測試,就不要每個 example 重複創建,減少 let and let! 大量使用實例變量
  3. 情境判斷,盡可能使用 mock 數據方式,達到你要的測試結果
  4. 使用 FactoryGirl.build orFactoryGirl.build_stubbed

前 3 點,已經熟能生巧
第 4 點,是我一直抱著 try try 看去實做
而今天偶然發現這兩個差別,做筆記分享一下

[Rspec] Efficiently Speed Rspec test

參考第一篇文章

author has deleted
https://medium.com/the-code-review/5-rspec-tips-to-speed-up-testing-ruby-on-rails-projects-db8759a20869

Conclusion
前面 1 ~ 4 點,學習一些技巧和寫法,但是效能提升没特別提到
但文章的第 5 點 Efficiently load data records 得到几个方向

  1. Use let, rather than let!
  2. One is to use before_all instead of before_each in a test file
  3. Another is to have a global variables file, which loads an instance of each record before all tests start
  4. Another approach is to user FactoryBot’s build_stubbed method

北漂三個月的審核

人生轉捩點

永遠記得那一天...
line接收著一堆訊息,而我手機震動起了個大早
那時也正是美國時間的晚上
朋友告訴我意外的機會向老闆引薦,獲得一個面試,要我先準備好履歷
這次是真的機會來臨,當天聊完後,心臟蹦蹦跳,無比興奮

  • 很久沒有這麼期待上班,和接下來的人生
  • 很久沒有刺激與活力,身體都不自主的打顫。
  • 我可以獲得一個全新的機會踏進,高效成長團隊!
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×