今日やったこと5
Ruby on Rails チュートリアル(第4版) 第7章 ユーザー登録
(7.1 ユーザーを表示する 〜 7.3 ユーザー登録失敗)
・ユーザーを表示する
サイトのレイアウトにデバック情報を追加
If Rails.env.development? で3つある環境のうち開発環境だけで表示される
デバック情報は開発環境以外では表示させないほうが良い。
・Railsの3つの環境
デフォルトではテスト環境(test)、開発環境(development)、本番環境(production)の3つ
の環境がある。
Rails console の環境はdevelopment
・debuggerメソッド
Byebug gemによるdebuggerメソッドである。
Debuggerメソッドをアプリケーションに差し込みRailsサーバーを立ち上げたターミナルで確認する。
Railsアプリケーションの中でよく分からない挙動があったら、トラブルが起こっていそうなコードの近くにdebuggerを差し込んで調べてみる。
・ユーザー登録フォームの作成
入力フォームを作るためRailsでform_forヘルパーメソッドを使う。
今日やったこと4
Ruby on Rails チュートリアル(第4版) 第6章 ユーザーモデルを作成する
(6.2.4 ユーザーを検証する_フォーマットを検証する 〜 6章の最後まで)
・データベースのインデックス
カラムにインデックスを追加することで、送信されたデータと一致するデータをデータベースから検索する際、効率よく検索できるようになる。
・セキュアなパスワードを追加する
パスワードとパスワードの確認を入力したものをハッシュ化し保存する。
ハッシュはRubyのデータ構造だけどこの「ハッシュ化」とは別で、ハッシュ関数を使って、入力されたデータを元に戻せないデータにすること。
データベース内ではなくハッシュ化されたパスワード同士を比較しているので、仮にデータベースの内容が盗まれたり覗かれたりされても、パスワードの安全性は保たれる。
has_secure_passwordメソッドを使うことで、モデルに対してセキュアなパスワードを追加することができる
・ユーザーの作成と認証
コンソールでユーザーを作成しデータベースをDB Browser for SQLliteで開き、usersテーブルの中身を確認
今日やったこと3
今日はRailsチュートリアルの6章に出てくる正規表現について学習しました。
正直、正規表現のコード見てもさっぱり分からずRailsチュートリアルの説明だけではわかりずらかったので下記の記事を参考にさせて頂きました。
初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」(https://qiita.com/jnchito/items/893c887fbf19e17d3ff9#)
初心者歓迎!手と目で覚える正規表現入門・その2「微妙な違いを許容しつつ置換しよう」(https://qiita.com/jnchito/items/64c3fdc53766ac6f2008)
初心者歓迎!手と目で覚える正規表現入門・その3「空白文字を自由自在に操ろう」(https://qiita.com/jnchito/items/6f0c885c1c4929092578)
初心者歓迎!手と目で覚える正規表現入門・その4(最終回)「中級者テクニックをマスターしよう」(https://qiita.com/jnchito/items/b0839f4f4651c29da408)
Railsの正規表現でよく使われる \A \z って何??(https://qiita.com/jnchito/items/ea7832df6f64a9034872#_reference-12cb3cafc745f4e14e3a)
その3までは結構理解できたと思うんですがその4の最後のほうは難しかったです。
少なくともRailsチュートリアルで出てきた正規表現のコードは理解できるようになったので明日から再開していきます。
それと上記の記事を書いておられる伊藤淳一さんの説明がすごく丁寧で分かりやすかったので伊藤淳一さんの書いたRubyの本を購入しました。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る
今日やったこと2
Ruby on Rails チュートリアル(第4版) 第6章 ユーザーモデルを作成する
(6.1 Userモデル 〜 6.2.4 ユーザーを検証する_フォーマットを検証する)
・認証システムの作成はフレームワークでも作ることはできるが自分で一からシステムを構築することでより理解できる
・ActiveRecordはデータベースとやり取りをするデフォルトのライブラリでデータオブジェクトの作成/保存/検索のためのメソッドを持っている
・%w[ ]で文字列の配列を簡単に作れる
・メールアドレスのバリデーションは扱いが難しく、エラーが発生しやすい
モデルの使い方やバリデーションの設定はProgateでも学んでいたので割と理解できました。ただバリテーションが機能テストの記述はちゃんと理解できているかあやしいので再開するときは読み返してから始めることにする。
今日やったこと1
Ruby on Rails チュートリアル(第4版) 第5章 レイアウトを作成する
・HTML5でheader、footer、bodyなどのレイアウトを作成
・ページの装飾はBootstrapを使うことで短時間でカッコイイデザインができる
・Asset PipelineとSassは開発環境ではプログラムを読みやすく効率的にし、本番環境ではファイルを最小化し処理の負担を減らしてくれる
・ルーティングを名前付きルートに変更
・リンク先をチェックするテストを追加
・Usersコントローラを生成
HTMLとCSSはProgateや他の教材で復習したほうがいいかもしれない
未経験者がエンジニアになるためにRuby(Ruby on Rails) を勉強中
8年間、配達・営業の職場で正社員として勤めていました。
わけあって職場がなくなる事になりその際に転勤先の紹介をしてもらっていたのですが
もともと働いてた時も仕事を続けていく事に不満や不安があり
やりがいを感じれていなかったので思い切って仕事を辞める事にしました。
離職してから時間ができて自分のやりたいことを真剣に考えてみた結果
スキルを身に付けたい
WEBに関わる仕事がしたい
ものづくりがしたい
好きなことに関われる仕事がしたい
(パソコンを触ることや音楽、ゲーム、動画サービス、VRコンテンツなど)
といった思いが浮かび上がりエンジニアになろうと思いました。
まだ学習し始めてまだ2ヶ月ちょっとですが自分のやりたい事を叶えるために勉強中で
す。
学習に使っているサイト
Progate(https://prog-8.com/)