Rails Tutorial 0章：事前基礎知識学習4

#事前基礎知識学習:HTML / CSS / Javascript

##### HTML / CSS / JavaScript

[【JavaScript超入門講座】わずか50分で知識ゼロから基礎をマスター！
](https://www.youtube.com/watch?v=QCjFPSO96RU)を見るだけでいいと思います

Railsでは一部のHTMLタグは使いません。Rails独特のヘルパーメソッドで記述します。
へルパーメソッドをデフォルトとして覚える方が無駄な混乱をせずに済むと思います。

```html
<%= image_tag 'example.png', class: 'example' %>　← ヘルパーメソッドの方だけ覚える
  ↓　Railsが自動的にHTMLコードに変換してくれる
<img class="example" src="app/asset/images/example.png">
```

```
ヘルパーメソッドのあるタグ


a タグ   : リンクを張る
<a href ="http://www.htmq.com/">HTMLクリックリファレンス</a>

imgタグ  : 写真を貼る
<img class="example" src="app/asset/images/example.png">

formタグ関連 :　フォームを生成する為のタグと部品

<FORM> …… 入力・送信フォームを作成する
<INPUT> …… フォームの構成部品（入力欄・ボタン等）を作成する
<INPUT type="submit"> …… フォームの送信ボタン・リセットボタンを作成する
<INPUT type="image"> …… フォームの画像ボタンを作成する
<INPUT type="button"> …… フォームの汎用ボタンを作成する
<BUTTON> …… ボタンを作成する
<INPUT type="text"> …… 一行テキストボックスを作成する
<INPUT type="password"> …… パスワード入力欄を作成する
<INPUT type="radio"> …… ラジオボタンを作成する
<INPUT type="checkbox"> …… チェックボックスを作成する
<INPUT type="hidden"> …… 非表示データを送信する
<INPUT type="file"> …… サーバーにファイルを送信する
<SELECT> …… セレクトボックスを作成する
<OPTGROUP> …… セレクトボックスの選択肢をグループ化する
<OPTION> …… セレクトボックスの選択肢を指定する
<TEXTAREA> …… 複数行の入力フィールドを作成する
<LEGEND> …… フォームの入力項目グループにタイトルを付ける
<FIELDSET> …… フォームの入力項目をグループ化する
<LABEL> …… フォーム部品と項目名（ラベル）を関連付ける
<ISINDEX> …… 検索キーワードの入力欄を作る
```

##### 余談・・・。

実は、Rails Tutorialを始める前に[TECH::CAMPプログラミング教養](https://tech-camp.in/technology)で4ヶ月ほどコツコツと学習したんです。
その際にHTML・CSSの基礎的な内容を20時間近くかけて学習しました。
何処にどんな感じで記載すればいいのかは覚えてます。細かい記述方法は一切覚えていないです。
15年前に学生だった時にもHTML・CSSを学習しました。
実務で使わなかったのでUNIXコマンドと同様にきれいさっぱりと忘れてしまいました。
個人的な意見ですが、結局覚えたところで忘れます。HTMLやCSSを細かく覚える必要はないです。
簡単な概念だけ理解して自分でアプリを作ってみる時に調べながら覚える方が良いと思います。

##TECH::CAMP紹介

| コース |料金 |特徴|
|:-:|:-:|:-:|
| [TECH::CAMPプログラミング教養](https://tech-camp.in/technology)  | 月会費19,800円 + 入会金198,000円  |自分のペースで学べる|
| [TECH::CAMPエンジニア転職:短期集中スタイル](https://tech-camp.in/expert)  | 一括648,000円 |わずか10週間でプロのスキルを身につける学習スタイル。|
[TECH::CAMPエンジニア転職:夜間・休日スタイル](https://tech-camp.in/expert)  | 一括848,000円 |昼間はオンライン、夜間と休日(週2日)は教室を利用して、半年間じっくりと学ぶ学習スタイル。|

やっぱりプログラミングスクールなので高額です。プログラミングスクールって受講年齢制限があったり、年齢で転職サポートを足切りしている所が多いんですよね。ここは年齢制限なく転職サポートが付いているらしいです。

私と同年齢の方はモチベーションが落ちる内容ですが、若手経営者目線で採用について語ってくれています。

<details>
<summary>[セイト先生のWeb・IT塾未経験20代・30代からエンジニア転職が難しい本当の理由【解決策も解説】](https://www.youtube.com/watch?v=_5e-cHVzuSw)
</summary>彼の言うとおりにITベンチャーは若い人達が多いので年上の部下はやりずらいのとても理解出来ます。35歳の私が彼の会社に就労できる可能性は限りなく0に近いでしょうね。
</details>

<details>
<summary>[【20代貯金ゼロ6割】自己投資か自己破産か「若手経営者の本音」](https://www.youtube.com/watch?v=3pc_KI4eHQg&list=LL&index=2)
</summary>
年齢を重ねるにつれて自分の価値がどんどん下がっている事を痛感しています。
自分の望む環境を手に入る為に自分の価値を上げる努力を頑張るぞ～！
</details>


[TECH::CAMPエンジニア転職:短期集中スタイル](https://tech-camp.in/expert)を自分がやり切れるとは思えませんでした。
なので[TECH::CAMPプログラミング教養](https://tech-camp.in/technology)を選びました。

自分的には受講してよかったと思っています。
どんな風にプログラミングを学習すればいいかさっぱり分からなかった状態から
どう学習すればいいか、筋道が少し見えたというのが一番の理由です。
月額19,800円を払う価値はあると思いますが、入会金198,000円は高いです。

内容はRailsを使ったWEBアプリをhands-onで4本開発。
この他にpythonを使った機械学習手法・IBM CloudのNode-red/Watson Assistantを使ったLINEボット作成といった内容もあり面白いです。
私が受講したプログラミング教養は広く浅い知識を得られるといった印象で、自分が作りたいと思ったアプリを作れるようなレベルには達しませんでした。
機械学習を一通り学習しても、自分が作りたいAIモデルはどのようなデータを集めて、どのように記述を書いてモデルを作るのかといった部分が欠けていました。
またpythonで作ったAI学習モデルをどうやってスマホアプリやWEBアプリと連携するのかと言った部分も抜け落ちています。
自分でググって情報を検索してみると[AIにスピードと簡単さを提供するIBM Visual Inspection 「やってみよう物体検出」](https://www.youtube.com/watch?v=V0zATt3JLGc)といった簡単にAIモデル作成できるサービスがある事や、APIを利用してjson形式でAIモデルとやり取りをする事が出来るといった内容も少ないです。そういった部分が抜けているので今後改善されていく事に期待しています。

一通り、全カリキュラム(WEBアプリ開発・デザイン・機械学習)全てのコースを終えたので退会しました。
退会するとカリキュラム閲覧が出来なくなるが最大のウィークポイントです。

またRails Tutorialを始めたきっかけは、TECH::CAMPで学んで簡単なアプリをなんとな～く作れる様になったけど、何度アプリを作成してもRailsの記述で分からない部分が多過ぎるのが理由です。

Rails Tutorialを読んでいても何度読み返しても理解できない部分があるので、
アプリを作成するのに全てを理解する必要ないし、Railsっていうのはこんな風に書くんだという感じで慣れるレベルで良いのかな？と思ってきました。

それでもRails Tutorialで学習しているおかげで分からなかった闇の部分が少しだけ晴れました。
またテスト駆動開発やGitを活用した内容が組み込まれているので教材の質が高いなというのが印象です。
古いバージョンは無料です。ウェブテキストの価格も980円で破格ですね。
是非興味がある方は [Rails Tutorial](https://railstutorial.jp/?version=5.1)に挑戦してみてください。