勉強履歴(と雑記)

プログラミング初心者のメモ書きです

○HTMLとCSS

 

・レイアウトを作成するのがHTMLだがそのままでは見栄えが悪いため、

CSSクラス(自前やBootstrapなどの公開フレームワーク)を関連づけることで

デザインを洗練できる。

 

・app/assets/stylesheets/に置かれたスタイルシートはapplication.cssの一部として

Webサイトのレイアウトに読み込まれる。

 

・パーシャル:

レイアウトを整理し、コードをリファクタリングするため(効率化)に、

コードの一部をパーシャルファイルに分ける。

パーシャルのファイル名は先頭にアンダースコアをつける。例:_shim.html.erb

呼び出す時はrenderメソッドを用いる。例:<%= render 'layouts/shim' %>

 

・アセットパイプライン:

開発効率と読み込み時間の両方に配慮した構造。

プログラマにとっては読みやすいままで、本番環境に最適化された接続を提供する。

・アセットディレクトリ:

静的ファイル(アセット)を目的別に分類した標準的な3つのディレクトリ。

2つのサブディレクトリが用意されており、app/assetsの場合は画像用

CSS用のサブディレクトリがある(config、images、stylesheets)。

 マニフェストファイル:

 アセットを1つのファイルにまとめる指示を行うファイル。実際にまとめるのは、

 Sprocketsというgem。また、適用されるのはCSSJavaScriptで画像は適用外。

 プリプロセッサエンジン:

 ディレクトリに配置されたアセットを、ブラウザに配信できるようにマニフェスト

 ファイルで結合し、プリプロセッサエンジンで実行する。ファイル名の拡張子で使用

 するエンジンをRailsは判断する。Sass用の.scss、CoffeeScript用の.coffee、

 ERB用の.erbなどが一般的。

 

・Sass

 CSSに新たな機能を加えた言語。

 ネスト:スタイルシート中の共通パターンをネストの内側に含めることで

 重複を避ける。

 .center {

   text-align: center;

   h1 {

     margin-bottom: 10px;

   }

 }

 変数:何度も用いるコードを変数として定義し、わかりやすく呼び出しやすく

 したもの。

 $light-gray: #777;

 

・名前付きルートの定義:

get  '/help', to: 'static_pages#help'

→getリクエストが/helpに送信された時にStaticPagesコントローラーの

helpアクションを呼び出す。

 

・統合テスト(Integration Test)

アプリケーションの動作全てをシミュレートするテスト。ブラウザによるページ間の遷移がある場合、効率良くシミュレートできる。