iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 27
1

在 Rails 4.1 推出的主要新功能「應用程式預加載器」: Spring
Spring是一個Rails應用程序預加載器。讓應用程式在背景保持執行狀態,在每次運行測試、migrate、rake 任務或遷移時,都不需要再重啟 Rails 應用程式,因此可以加速專案的開發流程。

特徵

  • 全自動,無需顯式啟動和停止後台進程。
  • 每次運行時重新加載應用程序代碼。
  • 在配置 / 初始化程序 / gem 依賴項發生更改時,重新啟動應用程序。

相容性

  • Ruby 版本:MRI 2.4,MRI 2.5,MRI 2.6
  • Rails 版本:4.2、5.0、5.1、5.2、6.0( 當 rails new 一個新專案時,已默認安裝 Spring )

Spring 狀態

檢查 Spring status 狀態是否還在後台運行。

$ bin/spring status
Spring is not running.

還正在執行會顯示 Spring is running

如果執行中想要中斷,可以使用 $ spring stop 結束。或者是當重新啟動時,已修改的設定卻還沒有載入,也可以使用以下命令。

$ bin/spring stop

測試數速度

第一次執行 rake 或 rails 命令時,Spring 沒有運行,所需時間大約5秒鐘。

$ time bin/rake test
Run options: --seed 59255

# Running:

.......

當 Spring 再次執行時

$ bin/spring status
Spring is running:

41751 spring server | spring_test | started 22 secs ago
41752 spring app    | spring_test | started 22 secs ago | test mode

讓我們再次進行測試,所需時間從5秒變為3秒,明顯減少處理時間。

$ time bin/rake test
Run options: --seed 32264

# Running:

.......

查看更多內容 Ruby on Rails 4.1 發佈記spring/README.md

參考資料:
Railsの開発効率をあげる - Springを使ってRailsのコンソールコマンドの実行を早くする


上一篇
Day26 | Rails關於Gemfile
下一篇
Day28 | 符號Symbol
系列文
從色彩繽紛到只看亂碼日子,學程式從 Ruby 出發!30

尚未有邦友留言

立即登入留言