プログラミング学習者のアウトプット 弐

今週の学習内容のアウトプットとメモ

 

データベース設計

・エンティティ

 サービスの中で管理する必要がある概念のことで、これが個別にもつ情報のことを、エンティティの属性という。例えば、ユーザー登録が必要であればユーザー名がエンティティで、登録者の名前やメールアドレス等が属性に当たる。

 

・リレーション

 エンティティ同士の関係性を示すもので、これを定義するとデータベースにデータを入れた際、関連する他のデータベースにもデータを入れることができる。

 

・インデックス

 データベースにおいては、データを入れる場所であるテーブル内の検索速度を上げられる仕組みのこと。しかし代償にデータの保存や更新速度が下がる。

 

・正規化

 データベースのデータ構造を効率化するための手段。非正規形→第一正規形→第二正規形・・・と進めるにつれて重複や無駄が無くなっていくが、小さなテーブルが増えていくためパフォーマンスは低下する。

 

HamlとScss

 

Haml

 HTMLよりも簡単にビューを書けるようにしたテンプレートエンジンのこと。

 

・Sass

 CSSで計算や変数を使えるように機能を拡張した言語。このうちのscss記法という書き方が主に使われる。

 

・パーシャル

 Scssで、スタイルを記述するファイルを複数に分けることができる機能。ファイル名を _ファイル名.scss として作成し、application.scssファイル内等に @import "ファイル名";   と記述すれば呼び出せる。これにより機能毎にファイルを分けるといったことができる。