【学習前に】”Ruby on Rails チュートリアル”の注意点

# 記事を書いた背景について
　Railsの学習にあたって"Ruby on Rails チュートリアル（Rails 7）"（ https://railstutorial.jp/ ）を利用したのですが何点か躓いたポイントがあったので共有させていただければと思います。
 
:::note info
気づいた事があれば随時更新できればと思います。
:::

## 1．"Rubular a Ruby regular expression editor"について
### 第６章 - ユーザーのモデルを作成する
　この第６章で正規表現を検証する箇所があります。この箇所において他の方々も躓いているのが散見されました。
 
:::note warn
結論
１．検証したい文字列を一つずつ入力するのが良い
２．オプションの入れ忘れに注意
:::

#### １．検証したい文字列を一つずつ入力するのが良い
　教材の内容から複数の文字列をテストしているため、正規表現の検証も一気に行いたいのですが次の画像のように「マッチする文字列が無い」と警告されます。
  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/665b797f-9d81-ef30-2a76-db9e3d762f4a.png)

　そのため少し面倒ですが教材で示されている正規表現のまま検証するには一つずつ入力するのが良いかと思われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/6301ea0b-605f-3ce4-8457-f82b322469a7.png)

:::note alert
検証する文字列の末尾に"空白"を入れないように注意してください。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/9ecd796c-0262-2968-03b7-94574f8b5867.png)

<details><summary>＞＞＞ 正規表現の検証作業の代替案 ＜＜＜</summary>

:::note warn
先頭`\A`＆末尾`\z`を取り除く（= 検証する文字列の先頭と末尾の指定を外す）
⇒ただ検証したい正規表現に手を加えてしまっているので参考程度に
:::

|  | 正規表現 |
|:-:|:-:|
| 修正前 | \A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z |
| 修正後 | [\w+\-.]+@[a-z\d\-.]+\.[a-z]+ |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/b1f02ec3-65fa-4715-9c25-e5dc3f2d6de5.png)

</details>

#### ２．オプションの入れ忘れに注意
　Railsチュートリアルで学習されている方の記事に次の画像のように「一部の文字列がマッチしない」という方がいらっしゃいました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/902cc9d1-0e74-99cb-00f8-3f87cf56d552.png)

　こちらについては右上のテキストボックスにオプションを入れ忘れないようにすれば解決できます。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/411a7c20-e06d-8ddb-a304-57545ffbad95.png)

 ## 2．GitHub Codespaces を利用しての学習の注意点
　これを他の方にも共有したく記事を初投稿したという所があります。
 自分の認識が甘く、学習を中断する羽目になったので他の方には気を付けていただきたいです。
 
:::note warn
結論
・無料枠は使用時間で制限される。利用しないならタブを閉じるようにする。
:::

Railsチュートリアルで提示されている"GitHub Codespaces"で学習に着手する際は**利用時間**に十分気を付けてください。

##### Q．なぜ利用時間に気を付ける必要があるのか？
##### A．CodeSpacesは"コア時間" で利用時間を測っているため。

> codespace に 2 コアのマシンを使用し、それが 1 時間アクティブな場合、2 コア時間使用したことになります。 8 コアのマシンを 1 時間使用すると、8 コア時間使用したことになります。
（ https://docs.github.com/ja/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces ）

:::note info
**コア時間 = マシンのコア数 × 使用時間(h)**
・個人アカウントでは、使用可能な無料枠のコア時間は**120コア時間**

※私が特に設定せず使用した際は”2コア”で算出されていました。
:::


　次の画像は実際に無料枠分を使い切ってしまった時です。
 このように無料枠を使い切ってからはCodespacesを開こうとしてもリンクが無効になっていて使用したくても出来ない状況になりました。
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/396cd1eb-28f4-f0b0-ecf7-1c4fa9f5bbe5.png)


#### 対策について
##### （１．コア時間を確認して使用状況を把握する）
　先述のコア時間に気を付けるしかないので、設定の"Plans and usage"から**codeapacesの使用量をこまめに確認**した方が良いと思います。
 （ https://docs.github.com/ja/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage ）
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518714/f09c13df-f5a7-affc-5bae-b62619abeaa8.png)

##### （２．codeapacesを使わない時はタブを閉じる）
　自分は使わない時にもcodeapacesを起動したままだったのがマズかったと思っております。（その間も使用時間になるため）
 少し面倒ではありますが、無料枠を有効に使うためにも**使わない時はcodeapacesのタブごと閉じる**ようにした方が良いように思います。

 

 ## 所感など
　「2．GitHub Codespaces を利用しての学習の注意点」を他の方にも共有したく記事を初投稿したという所があります。
 自分の認識が甘く、学習を中断する羽目になったので他の方には気を付けていただきたいです。