SQLに触れた
知人からそろそろSQL触れるようになると良いよとアドバイスをもらい、
久しぶりにProgateをやりました。
そもそも何故SQLの知識が必要になるのか、
その時のアドバイスを元に簡単に図を作ってみた。
左が普段私が練習している環境、右が実際に働き始めてからの環境
左の環境ではRailsとデータベースが一緒になっている為、
不具合が起きた時にどちらに原因があるか調べるのに時間がかかってしまう。
その為右のように別々に管理することが一般的である。
しかし右のようにするとデータベースに保存されている内容が増えるほど往復回数が増え、
処理が遅くなるなど弊害が起きてくる。
この問題を解決する為にSQLを学ぶ必要があった。
SQLを少し学んだ今の私は例えば「カラムAを参照した後にカラムBを参照して〜」
という内容があった場合、
カラムAとカラムBをjoinで一つにまとめたらいいのかな、と考えることができるようになった。
東京行ってきました
15、16日と東京に行ってきました。
15日
東京に着いてすぐこちらの会に参加しました。
beginner-mokumoku.connpass.com
自分が特に気になっていたどう転職したか、
またどんな風に仕事をしてるかなどを聞くことができあっという間の2時間でした。
16日
前回書いたセキュリティ勉強会の日程が変更になった為プログラミングスクールの説明会に参加しました。
ここでは何をどの順番で学ぶかを知ることができ、
今までふらふらした学習をしていたので、方針がはっきりした。
特に観光することもなく少し駆け足な2日間になったが、
Railsチュートリアルをやってみて
ProgateよりもTwitterに近いものが作れると知り、
Railsチュートリアルを丁度前回記事を書いた後に始めました。
そして漸く1周することができたので終えてみての感想だったりを書こうかなと。
解説動画はあったほうが分かりやすかなと思い始める時に購入しました。
実際動画は買って良かったと思いました。
噛み砕いた解説は当然として、
分かりやすいスライド、
実演しながら進めていく形式なので時折起きるエラーとその解消方法、
「何故ここはこう書くでしょう?」のような考える時間等、
動画でしか得ることのできないプラスαが多かったです。
章も多く内容がProgateよりも格段に難しくなっていましたが、
Progateをやっている時によく感じた
「この機能Twitterとかで見るけどどう実装するんだろう」
を次々に知ることができる素晴らしいものでした。
ルートの確認方法
前回scaffoldで自動生成したページのルートはどうなっているのかなと
routes.rbを見てみると
Rails.application.routes.draw do resources :books end
とだけ書いてある。
「getやpostを使わないどころか1行で終わっている???」
どうやらこのresourcesというメソッドの中にルートが定義されてるとのこと。
それを確認する方法が
rails routes
というコマンド
実行してみると
こんな感じにルートが表示される。
また1から自分でルートを作った場合でも使えるようで
Progateのレッスンでやったもので試したら
と表示された。
prefixが表示されるので何のルートを作った、作ってない、が分かりやすくなるのも良い点かなと感じました。
scaffoldで自動生成
Railsにはコードを自動生成してくれる機能があると知る。
先日読み始めた本を参考に試してみる。
rails g scaffold book isbn:string title:string price:integer publish:string published:date dl:boolean
と入力し実行
しかし自動生成してくれるといってもマイグレーションは別で実行しなければならないとのこと
ということで
rails db:migrate
と入力し実行
試しにブラウザを開いてみると
こんなトップページになりました。
自動生成してくれる便利な機能ですが今の私には何をどう指定したらいいか直感的に分からないので
しばらくはrails g controllerで1からやっていこうと思います。
本を手にする
少し前に知人にオススメしてもらい買って読み進めている本
Ruby on Rails 5アプリケーションプログラミング
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2017/04/14
- メディア: 大型本
- この商品を含むブログを見る
単元が細かくなっているので、分からない時に調べる辞書のような使い方ができるのも助かります。