まだ暑いのかよ【TECH::EXPERT】

DB設計 TECH::EXPERT プログラミング 応用カリキュラム編

【本日のメニュー】
・理解度テスト対策〜合格
・正規化を学習する
・ChatSpaceのデータベース設計
・iPadサブディスプレイ化
・教室での学習について
・電車でRuby

【理解度テスト対策〜合格】
SQLの理解度テストの対策を行い、テストに臨みます。
SQLって実際やってみると楽しいけど、カリキュラム読むのは退屈だったな。
ってなわけで、無事クリア!96点!進みますますます。
大なり小なりの記号を読み間違えること多すぎ。
プロゲートでもよく指摘される。算数と文章題が弱い。

【正規化を学習する】
説明しよう!正規化とは
…データベースを使いやすくするってことらしいっすよ。

んじゃ進めましょ。

文字で説明するのがマジでむずい。。。
でもこれ、カリキュラムのどっかで説明してたやつを、図付きで解説してくれてるっぽいですね。

・横に増えそうって思ったら縦列にまとめられるようにしたほうがよくね?
・縦並びにすると、縦の中で重複する項目出るから別のテーブル作ったほうがよくね?

って感じのことが書いてあると思うけど、雰囲気はわかってるけど丁寧な文章を読みすぎると沼なのでこの回は駆け足で。

第一正規形、第三正規形 とかいう段階があるらしくて「第三正規形」までやっておけば大体OKな感じらしい。

私の解釈としては、エクセルは誰かに紐づいたデータを横並びで全部見るような使い方をするけど、それだとデータ管理としては難あり。
データベースは横じゃなくて縦に情報増やしたほうが管理しやすいから、増えるものは縦長の表になる。
そこの新たなカラムを足すと大変だから、テーブルを増やしたほうが良いという考え。
Pictweetも現に第三正規形のテーブルがたくさんある感じだなぁ。
なんで第三正規形にして、テーブルを分散!ってことなんだと思う。

第四正規形、第五正規形することもあるけど、やりすぎは細かくなりすぎてみにくい。
検索して照合する時間がかかる。そのためあんまりやりません。
管理に、検索・照合する時間も含まれてるから、最低限正規化するに止めよう。とのこと

うまく説明できねぇ!Pictweetがお手本だと思えばいいと思うという結論

【ChatSpaceのデータベース設計】
チャットスペースのデータベースを自分で設計しよう。
カリキュラムではすっ飛ばしたけどNULL許可、INDEX、アソシエーションも考慮してね。
じゃあ、よろしくいってらっさい。

これが噂の丸投げカリキュラムか!
設計はできたんだけど、そのあとのrmのマークアップが面倒だった。
大したことではないんだけど、また新しい言語を勉強してる気になる。

Macアップデートしたりだとかここら辺あんまり進まなかったなー明日こそLGTMする。

[参考]Railsの中間テーブルの命名規則について
>中間テーブルを作ろうとしたのですが、名前がuser_tagみたいな感じで「user」と「tag」の中間にあるから「user_tag」っていう例になってましたが、私が作りたい中間テーブルはその命名規則だとしっくりこなかったので調べてみました。
昔は「user_tag」のようにアンスコを間に挟んだ命名規則だったらしいですが、現在だとテーブル自体に即した名前をつけるようにしているようです。こんなところにもオブジェクト指向か。

[参考]【初心者向け】丁寧すぎるRails『アソシエーション』チュートリアル【幾ら何でも】【完璧にわかる】🎸

【教室での学習について】
ついにサブディスプレイ化できた!
ライトニング ↔︎ TypeCケーブル 1500円くらい
サブディスプレイ化するためのアプリ 1200円(たまたまセール中で50%OFFだったラッキー)
他の記事では繋げただけで、設定でなんとかやれば出来てたんだけどなー。
でもTypeC→VGA→ライトニングでやってたので、
VGAで拡張の判定に変換してくれてるんだと思う。
TypeCとライトニング自体にはデータ通信&と充電判定しかないけど、
VGA挟むことによって、拡張判定のみになるから表示可能っぽい気がする。
iPadとか、iPhoneの画面をMacにミラーリングして録画とかはクイックタイム経由でできるっぽいですね。そういう風にアプリのゲーム実況撮れてたんだな〜って参考になりました。
でも、接続してると重い!入力のディレイあるよ〜!

[参考]iPad Air/iPad miniをMacのサブディスプレイにする

【教室での学習について】
朝礼は出られなかったけど、いつもよりは早めに来れた!
朝が弱いし寝るの好きなので、ここら辺はチーム学習になった時の課題っすな。
でもね、いつもより2時間くらい早めにこれたんだYO!
しかしながらスロースターター(レジギガス)明るいうちはエンジンがかからない。
まぁ、会社でも朝の方はグロッキーだしいつもどおりっちゃいつも通りだな。

【電車でRuby】
プロゲートにてRubyをやりました。
アプリ版だと全クリ3周したのですが、実際にPC版でカタカタ打ち込んでみると凡ミスが目立ちます。
Each.配列の変数 do |変数| とかアホほど凡ミスでしょ?(本当は→配列の変数.each do |変数|)
球児の経験はないですが、素振りしてるような感じでしょうか。
クラスとインスタンス辺りは、まだ弱いのでプロゲート使ってとにかく素振る予定。
内容はわかってなくてもこんな雰囲気のコード書くんでしょ感はあって、答え合わせが楽しみな感じ。