Programing 38日目

【本日の勉強内容】
Rails Tutorial復習 Ch.2~5 (8h)
Rails Guide(2h)

・まとめ(1h)

【解決済み】

 ・パーシャルとview helperの違いって?

ヘルパーはテンプレートから呼び出されるライブラリとして使われる。 
一方、パーシャルは.html.erb(テンプレートファイル)。

→つまり機能的な違いはないが、ファイルの属性?が違う 

【未解決】

【新出単語】
DBスキーマ=DBとほぼ同じ。

npm=Javascriptライブラリのパッケージマネージャ

Yarn=npmと類似。ほぼ同じ機能

コンパイル=コンピュータ語にする

Unitテスト=単体テスト

fixture=minitestで使うデータ

CoffeeScriptプログラミング言語の1つ

スモークテスト=開発中のソフトが起動するか、など「ざっと確認するテスト」

リソース=記事、人、物などのよく似た同士が集まったもの

prefix=接頭辞

スコープ=範囲、領域

strong parameter=コントローラのアクションで本当に使ってよいパラメータだけを厳密に指定する機能

Rake=Rubyで記述できるRuby版のMakeといった言語のようなもの

スネークケース=snake_case ←こういうやつ

TDD=テスト駆動開発。テスト先行で書き、それをパスすることを目標に開発

回帰バグ=以前のバグが再発したり、機能の追加/変更に副作用が生じたりすること

統合テスト=MVCにまたがる機能テスト

alias=エイリアス。ショートカット

カスタムヘルパー=新しく作ったメソッド

式展開="#{name} さん" ←こういうの

メソッド=オブジェクトに渡されるメッセージ

後続if=puts "x is empty" if x.empty? ←こういうの

!!=バンバンと読む。二重否定 

module=メソッドをまとめる。includeで読み込み

ゼロオリジン=配列などが0スタートで附番されること

ブロック=(1..5).each { |i| puts 2 * i }←これの{}の部分。

ハッシュ=連想配列。配列と同じだが整数値以外の物をインデックスとして使える。また配列のように順番は守られない。

シンボル=ラベル。代入などができない文字列みたいなもの

モックアップワイヤーフレーム

LESS=cssの拡張言語、簡単に書ける。scssみたいなもの。

スタブ=代用品


【時間】

11h

【メモ】

・READMEは「これさえ読めば誰でもアプリケーションを構築できる」ように書く

・アクションは「情報を集めてビューに送り出すのが役割」

・ビューは、コントローラが作成した情報に対して余計なことをせずに表示する必要がある

・コントローラのアクションになれるのはpublicメソッドだけ

・form_withのlocal: trueはHTMLによる送信の時に必要。(ない場合はAjaxによる通信になる)

ActiveRecordはDBのカラムとモデルの属性を自動的に対応付ける

・migrationは開発環境にしか通常適用されない。本番環境に適用する際は明示しないといけない。

・RESTとは、アプリケーションを構成するコンポーネント(ユーザーやマイクロポスト)を「リソース」としてモデル化すること

・RESTfulにする=作成すべきコントローラやアクションの決定が楽になる

ActiveRecord::Baseという基本クラスを継承すると、そこで作成されたモデルオブジェクトはDBにアクセスできるようになる

・使用時の難易度 SQLitePostgreSQL

・コントローラとは、「(基本的に動的な)WEBページの集合を束ねるコンテナ」のこと。

・migrationにはversion番号がつけられている。version[0]=リセット

・ブラウザはPATCHとDELETEをネイティブでは送信しない

・assert_select=特定のHTMLタグが存在するかどうかを調べる

Rubyはシングルクォートの中では式展開を行わない

・オブジェクトはいついかなる場合にもメッセージに応答するもの

Rubyのメソッドには暗黙の戻り値があり、メソッド内で最後に評価された式の値が自動的に返される

・ハッシュとブロックの{}は別物

・inspectメソッドは要求されたオブジェクトを表す文字列を返す

Rubyは改行と空白を区別しない。

・文字列は一文字ずつ比較する。シンボルは一度に全体を比較する

・コードは右から左へと実行される

・ルーティングの書き方は基本的に_path、リダイレクトの場合のみ_urlを使う

・紙に印刷したことで効率が大幅に上がった。