【パーフェクトRuby on Rails】 を読む - その2

2021年8月27日輪読会

1−3 Railsを始めよう!! 

  • rails newしたときに使うrailsのバージョンをgem install rails -v 6.0.3でインストールできます。

bin とは

binstub

binディレクトリに用意されているファイルのことをbinstubと呼びます。それはbundle execをつけなくても実行できるファイルです。

ラッパースクリプトを動かすためのファイル。 アプリケーションごとに、ファイルやコマンドを管理するために用いる。

binディレクトリはサランラップ!!!!!! rails newで作成したアプリケーションはbinディレクトリに包まれてるんやで!!!!

preloader(プリローダー)

(pre + load = 前もってロードしておくこと)bin/rails や bin/rake コマンドの2回目以降の起動時間が短縮されます。(参考)

CPU

中央演算処理装置 コンピュータにおける中心的な処理装置(プロセッサ)。コンピュータの頭脳に例えられることが多い。🧠 <CPU!!

Springとは

ギアの重い自転車を漕ぐ初動を軽くする為に、前もって漕いでくれている装置というイメージと考えられます。 binディレクトリ配下のコマンドを常に起動できる状態にしておくイメージです。 二回目以降のbin/railsやbin/rakeコマンドの起動時間が短縮されます。


個人的にMacが熱くなるのでアクティビティモニタのCPUを見ると80%とかになるので

$ bin/spring statusで状態を確認

$ bin/spring stop でstopする


config ディレクト

アプリケーションの設定ファイルや、アプリケーション起動時に必要な情報などを定義する定義するディレクトリです。

rails runner

Rakeタスクと同じようなものです。rails runnerはrakeタスクのようにnamespaceやdescなどをきちんと定義しないといけないといったお作法がないのである意味では書きやすいです。rake taskはRSpecのような書き方があります。

例えば、

  • 1日に一回実行する処理などはRakeタスクを使う方が最適です。(定期的)
  • データベースの準備段階など、画像などをスクレイピングして最初の1回のみ取得したい場合はrails runnerの方が最適です。(1回のみ)

【用語解説】

バッチ・・・「一回分の処理」を表す英語batch。

バッチ処理・・・大量の反復なデータジョブを実行する方法です。 コンピューティングリソースが利用可能なときにデータを処理でき、ユーザー操作をほとんど/まったく伴いません。 バッチ処理では、ユーザーはデータを収集して保存し、「バッチウィンドウ」と呼ばれるイベント中にデータを処理します。

参考

RailsでSpringを導入して開発する https://easyramble.com/install-spring-into-rails.html

rails new するとできる bin ディレクトリまとめ https://qiita.com/ayasuda/items/7edcef9f9508d35cb3dd#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E8%AB%96%E3%81%AE-binstub

binstubを理解する https://techracho.bpsinc.jp/hachi8833/2016_08_24/25037

Railsでバッチを書く時によく使うrails runnerとrake taskの違い https://qiita.com/rllllho/items/672e336a03335cba6b34