アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

Railsチュートリアルを復習して気がついたこと:Hello app編

f:id:simpledancer:20171127125722p:plain

先日から久々にRailsを復活しました。

で、Railsといえば、やっぱりとりあえずはRailsチュートリアルでしょう!

ということで久々に最初からRailsチュートリアルを始めることにしました。

で見落としていた部分をメモ代わりに記して行こうと思います。

railstutorial.jp

simpledancer.hatenablog.com

設定編

Railsチュートリアル他、わたしはだいたいCloud9で行っているのですが

インデントの設定を変えられるんですね、かなり見落としていました。

Rubyの世界では、インデントに2つのスペースを使うのがほぼ常識になっているので、このエディタのインデント設定もデフォルトの4から2に変えておくことをおすすめします。インデント設定を変更するには、右上の歯車アイコンをクリックして [Code Editor (Ace)] を選択し、[Soft Tabs] 設定を開いて編集します (図 1.4)。設定の変更はその場で反映されるので、[Save] ボタンをクリックする必要はありません。 

 ワークスペースの設定が終わったので、設定の歯車ボタンからインデントを変更します。4→2に変更しました!

f:id:simpledancer:20171127122033p:plain

 

理解して使ってなかったコマンドライン

コマンドラインをあまり理解せずに使っていました。

割と簡潔に書かれているのでちゃんと読めばよかった。。

知ってて使っていたのは上半分くらいでした。(反省)

説明 コマンド コマンド例
ディレクトリ内容の表示 ls $ ls -l
ディレクトリの作成 mkdir <ディレクトリ名> $ mkdir workspace
ディレクトリの移動 cd <ディレクトリ名> $ cd workspace/
上のディレクトリに移動   $ cd ..
ホームディレクトリに移動   $ cd ~ もしくは $ cd
ホームディレクトリ直下のworkspaceに移動   $ cd ~/workspace/
ファイルの移動やリネーム mv <移動元> <移動先> $ mv foo bar
  mv <現在の名前> <変更後の名前>  
ファイルのコピー cp <コピー元> <コピー先> $ cp foo bar
ファイルの削除 rm <ファイル名> $ rm foo
空のディレクトリの削除 rmdir <ディレクトリ名> $ rmdir workspace/
中身のあるディレクトリの削除 rm -rf <ディレクトリ名> $ rm -rf tmp/
ファイルの内容の結合と表示 cat <ファイル名> $ cat ~/.ssh/id_rsa.pub

 

gemの~>について 

あまり意味を考えずにとりあえず消したりたしたりしてたgemの内容ですが

gem 'coffee-rails', '~> 4.0.0'

このように指定すると、coffee-rails (これもAsset Pipelineで使うgemです) のバージョンが4.0.0より大きく、4.1より小さい場合にインストールされます。つまり、以下のコードを実行すると、>=という記法では常に最新のgemがインストールされ、~> 4.0.0という記法ではマイナーバージョンの部分に相当するアップデート済みのgem (例: 4.0.0から4.0.1) をインストールします。後者の場合、メジャーバージョン (例: 4.0から4.1) のリリースはインストールされません12。残念ながら、経験上ちょっとしたマイナーアップグレードですら問題を引き起こすことがあります。このため、Railsチュートリアルでは基本的に事実上すべてのgemでバージョンを「ピンポイントで」指定し、がっちり固定してあります。ベテラン開発者であれば、Gemfileで ~> を使って指定し、最新のgemを使って進めてもらっても構いません。ただし、バージョンが異なると本チュートリアルに記載されている挙動と異なる可能性がありますので、その場合は各自でご対応願います。

 

 ~> に関して全く気にしていなかったのです。

固定するために~>を消します。今知りました。今初めてこいつ→~>

の存在意義を知りました。

f:id:simpledancer:20171127124421p:plain

railsサーバーの実行

cloud9の場合は

rails s -p $PORT -b $IP

でサーバが立ち上がります。

が、普通に今まで何も考えずにこれを打ち込みサーバーを立ち上げていました。

ちなみにローカル開発環境ではただ rails s でオK。

$IP・PORT→ 環境変数 (IPアドレスとポート番号のこと)

全然気にしてませんでした。

Hello world を出すだけでここまで今まで無視していたとは自分でもびっくりです。

(最初はでも何もわからなくてもとりあえずやってみる方がいいのかな)

とりあえず引き続きチュートリアルを最初からゆっくりじっくり進めて行ってみようと思います。

simpledancer.hatenablog.com