TEXH::EXPERT13日目。今日はちょっと時間がないので、特に有益な情報や何か考えていることなどはありません。
ただただ備忘録を書き記したのみです。
それにしてもここまで毎日毎日知らないことばかり出てくると疲れてきますね。いや面白いし日々成長してる感はあるんですが、もう少し余裕を持って出来たらもっと楽しいんだろうなと。
何となく私含めて全員が、カリキュラムに追われていて、純粋にプログラミングを楽しむこよができていないなと思っています。
それってどうなんでしょうか?なんか違和感を感じつつ、その違和感を解消する術はないのでとりあえずやり続けます。
備忘録
データベース設計の手順
何かを作る際にはデータベースの設計が最初のキモとなる。このDBの設計は基本的に以下の手順でおこなっていく。
①管理するデータを決める
②それぞれが持つ属性を決める
③テーブル同士のリレーションを決める
④実際にテーブルを作る
キーという考え方
キーはレコードを識別するための特別なカラムのこと。主キーと呼ばれる、そのテーブルのレコードを判別するためのキー(unique)と外部キーという、他のレコードの主キーを値としてもつカラムがある。
制約について
カラムに対して何らかの制限をかけることができる。
not nullキー
▶︎空欄はNGにするキー
一意性キー
▶︎同じのが入るとNGにするキー。railsではadd_indexメソッドを用いてこのキーを付けることができる。
主キー制約
▶︎idのこと
外部キー制約
▶︎外部キーの対応するレコードがないとNGにするもの。Railsでは「foreign_key: true」と記述することで設定可能。
create_table :user do |t|
t.string :name
t.integer :age
t.references :user, foreign_key: true
インデックス
DBの機能で、テーブル内のデータ検索の高速化を行うことができる。ただしインデックスを設定しすぎると、都度そのデータにアクセスしたりするので読み込みが逆に遅くなったり、データ容量が膨大になったりする。
参考記事;インデックスの意味とメリット・デメリット
add_index :テーブル名, :カラム名
中間テーブル
多対多の関係を持つテーブル同士をつなぐテーブルを作成することで、1つのレコードに複数の値が存在するような事態を避ける。
中間テーブルをモデルに定義する際には「has_many:テーブル名, through :中間テーブル名を指示する。
参考記事:【初心者・独学者向け】Ruby on Railsで中間テーブルを作成し、多対多を実現する
README
redme.mdに記載される。マークダウン式で記述する、ソフトウェアの仕様書的なもの。
- プロジェクト,ツールの使い方,インストール方法
- プロジェクト,ツールの宣伝
などを記載する。
Sassについて
SassとはSyntactically Awesome StyleSheeのことで、いわゆる一般的なCSSをもっと書きやすく効率的に綺麗にかけるようにしたものだそうです。
で、このsassは長い歴史の中で「sass記法」と呼ばれるものと「scss記法」と呼ばれるものの2つがあるのですが、 今ではscssが主流のようです。
cssではなくsassを使うメリットとしては変数が使えたり、複数の cssを1つにまとめられたりする利点があります。
sassで書いたファイルはstyle.scssファイルで@importしてまとめることができる。
sassのネスト構造
sassを記述する際には基本的にネスト(入れ子)構造にして記述します。こうすることによって親要素をなんども書かなくて良く、見た目上も非常に分かりやすくなります。
.header{
color:white;
&__name{
font-size:10px;
}
}
sassにおける変数
sassではcssと違って変数も使用することができる。記述方法は「$変数名: 値;」のように記載する。
$ aaaa: 値;
参考記事:【Sassを覚えよう!Vol.9】変数と演算で効率的に
パーシャルで複数のCSSを1つに
sassではパーシャルという機能を使って複数のCSSを1つにまとめることができる。パーシャルを作成するにはファイル名を「_」ではじめ、それを「@import’ファイル名’;」で記述する。
mixinよくわかりません
mixinはまだ理解が追いついていないので引用させていただきます。
mixinとは別で定義したスタイルを@includeでなんども呼び出せるというものです。関数的な使い方ができるので便利です。
例えばよく使うスタイルを@mixinで定義しておけば、どこからでも@includeで呼び出せるのでコードがすっきり、メンテナンス性も高まります。引用:https://code-schools.com/css-sass-mixin/
mixin box{ height: 50px; width: 50px; } .box1{ @include box; background-color: red; } ---------------html <box class=box1>
BEMとは・・・
BEMとはCSSの設計のことで、クラスの命名がとっても厳格なことが特徴。例えば以下のような決まりがある。
- • BlockとElementをつなぐ場合は、アンダースコア2つでつなぐ
- Modifierにつなぐ場合は、ハイフン2つでつなぐ
など。
もう体力ないので参考記事で:一番詳しいCSS設計規則BEMのマニュアル
HAMLもあります・・・
HAMLはHTMLを簡易に書くためのものです。SASSがCSSのそれであるようにHAMLはHTMLのそれです。詳しくは以下3記事で復習したいと思います。
参考記事:Hamlを初めて使ってみる @Rails、RailsのHTMLテンプレートエンジン Haml入門、Hamlの書き方