不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング『Rails入門4: deviseでユーザー認証してみよう (全6回)』を受講してみた

2021-03-26 16:51:20 | paiza

『Rails入門4: deviseでユーザー認証してみよう (全6回)』


メモ

#01:ユーザー認証機能を理解しよう

  • ユーザー認証:相手を確認してアクセスを許可する仕組み
    • 認証:Authentication 本人かどうか確認する
    • 許可:Authorization  認証の結果をあたえ、利用許可
  • deviseの主な機能
    deviseは、ユーザー認証の仕組みをRailsに提供するライブラリ
    • サインアップ:ユーザー情報と暗号化したパスワードをデータベースに保存
    • メールによるユーザー確認
    • ログイン:メールとパスワードによる認証
    • クッキーによるセッション管理
    • ユーザー追跡:ログイン回数、日時、IPアドレスなど
    • パスワードリセット
    • ユーザーのロック
    • OmniAuth対応:TwitterやFacebookなどによるSNS認証

#02:ログインフォームの動作確認

  • 既に用意されているログインフォームを確認しただけ

#03:deviseを導入する

  • プロジェクトと静的ページの作成
    $ rails new bbs_users
    $ cd bbs_users
    $ rails g controller welcome index
  • deviseライブラリを追加してインストールする
    • Gemfileに以下を追記
      gem 'devise'
    • $ bundle install
    • $ rails g devise:install
  1. 手動設定1.デフォルトURLを追加する
    config/environments/development.rb
  2. 手動設定2.root_urlを指定する
    config/routes.rb
  3. 手動設定3.フラッシュメッセージの表示場所を作る
    app/views/layouts/application.html.erb
  4. 手動設定4.ユーザー認証用のviewを生成する
    $ rails g devise:views

#04:ユーザー認証用のUserモデルを作成

#05:アクセスを制限する

  • ログインナビゲーションを追加
    app/views/welcome/index.html.erb
  • ログインページに強制移動
    app/controllers/welcome_controller.rb
※ なんだかこのチャプターの演習課題が難しかった!?😣 

#06:セッションとパスワードを理解する

  • 暗号化されたパスワードの確認手順
    $ rails console
    user = User.find(2)
    user.email
    user.encrypted_password
※ このチャプターの演習課題もなかなか難しかった!?😩 

認定証



学習ステータス


ようやく進化したな!😄 
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

paizaラーニング『Rails入門3: Railsサービスを機能アップしてみよう (全6回)』を受講してみた

2021-03-25 22:26:51 | paiza

『Rails入門3: Railsサービスを機能アップしてみよう (全6回)』


このレッスンでは、お勧めのお店を投稿できる「ランチマップ」アプリのデザインを整えて、スマートフォン対応と日本語表示を実現する。

メモ

#01:RailsにBootstrapを導入しよう 

  • RailsにBootstrapを導入する
    • Gemfileを修正
      • gem 'bootstrap-sass', '~> 3.3.6'
    • コマンドを実行
      • $ bundle install
※ 自分の環境だと、上記のbootstrap-sassではダメみたいだったので、次のように記述。
gem 'bootstrap', '~> 4.5.0'

以下参考URL
  • scssを修正
    • app/assets/stylesheets/にある「application.css」のファイル名をapp/assets/stylesheets/application.css.scssに変更する
※ bootstrap4では、「@import “bootstrap-sprockets”;」は要らない。
  • jsファイルの修正
    • app/assets/javascripts/application.js
※ この辺は、最早Rails5系と6系(というよりbootstrap3と4)で異なるのかもしれない。
  • コンテナを割り当て
    app/views/layouts/application.html.erbを修正

#02:Bootstrapでレスポンシブデザインにしよう

  • テーブルを修正
    • app/views/shops/index.html.erb
    • app/views/categories/index.html.erb
  • リンクにボタンを追加
    • app/views/shops/index.html.erb
    • app/views/categories/index.html.erb
  • フォームを修正1
    • app/views/shops/_form.html.erb

#03:スマートフォン向けの画面にしよう vol.1

  • ナビゲーションバーを追加する
    app/views/layouts/application.html.erb
  • リストの行クリックで、詳細ページを表示
    • app/views/shops/index.html.erb
    • app/assets/stylesheets/application.css.scss
  • 一覧から各リストのボタンを削除
    app/views/shops/index.html.erb

#04:スマートフォン向けの画面にしよう vol.2

  • 地図を画面に収める
    app/views/shops/show.html.erb
  • 詳細ページにボタンを設置
    app/views/shops/show.html.erb
  • 登録ページに戻るボタンを追加
    app/views/shops/_form.html.erb
  • 新規と更新ページのボタンを削除
    • app/views/shops/edit.html.erb
    • app/views/shops/new.html.erb

#05:Railsの日本語化を試そう

  • Railsの国際化機能
  • URLのオプションに合わせて切り換えるようコントローラーを修正
    app/controllers/application_controller.rb
  • en.ymlを確認
    /config/locale/en.yml
  • ja.yml をコピーして修正
    /config/locale/ja.yml
  • ウェルカムページに翻訳用キーワードを埋め込む
    app/views/welcome/index.html.erb
    • t('hello')のようにt()とする。
      tはtranslationの略。

#06:Railsアプリを日本語表記に切り替えよう

  • en.ymlに英単語を登録する
    /config/locale/en.yml
  • ja.ymlに日本語を登録する
    /config/locale/ja.yml
  • お店リストに翻訳用キーワードを埋め込む
    app/views/shops/index.html.erb
  • フォーム用のため、ja.ymlにデータ名を追記する
    /config/locale/ja.yml
    • フォームの場合は、データ名が直接記述されているので、辞書で対応する。データ名からラベルの表記をRailsが自動的に割り当てているため。

認定証

チャプター5の演習課題修了時点で取得。


学習ステータス


ずっと一流忍者のままだな。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

paizaラーニング『Rails入門2: 実用的なRailsサービスを作ろう (全5回)』を受講してみた

2021-03-24 22:42:38 | paiza

『Rails入門2: 実用的なRailsサービスを作ろう (全5回)』


メモ

#01:プロジェクトとウェルカムページを作ろう

  • lunchmapプロジェクトを作成する。
    $ rails new lunchmap
  • ウェルカムページを生成する
    rails generate controller welcome index
  • ウェルカムページを修正する
    app/views/welcome/index.html.erb
  • config/routes.rbに追加
    config/routes.rb

#02:カテゴリリストとお店リストを作ろう

  • カテゴリリストを自動生成する
    $ rails generate scaffold category name:string
    $ rails db:migrate
    http://localhost:3000/categoriesでアクセス
  • お店リストを自動生成する
    $ rails generate scaffold shop category_id:integer name:string address:string
    $ rails db:migrate
    http://localhost:3000/shopsでアクセス

#03:カテゴリリストとお店リストを関連付けよう

  • 相互にリンクする
    • app/views/shops/index.html.erb
    • app/views/categories/index.html.erb
  • モデルの関連付け
    • app/models/category.rb
    • app/models/shop.rb
  • 登録時に、カテゴリを選択できるようにする
    • app/views/shops/_form.html.erb
  • カテゴリを表示
    • app/view/shops/index.html.erb
    • app/view/shops/show.html.erb

#04:検索機能を追加しよう

  • Viewに検索フォームを追加
    • /app/views/shops/index.html.erb
  • Controllerにあるindexメソッドを修正
    • /app/controllers/shops_controller.rb
  • ウェルカムページからリンクする
    • app/views/welcome/index.html.erb

#05:Googleマップを組み込む

  • Google MAP APIを使う
  • ビューに、マップエリアを追加
    • app/views/shops/show.html.erb

認定証



学習ステータス


特に進化せず
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

paizaラーニング『Rails入門1-3: Railsのデータの流れを理解しよう (全6回)』を受講してみた

2021-03-23 22:45:32 | paiza

『Rails入門1-3: Railsのデータの流れを理解しよう (全6回)』


メモ

#01:Webアプリのデータの流れを理解しよう

  • Webフォームのデータ送信方式
    • GETメソッド:URLに含める
    • POSTメソッド:リクエストメッセージに含める

#02:Railsのルーター機能を理解しよう

  • Routersの設定内容を確認する
    rails routes
  • ルーターの振り分け先を設定する
    config/routes.rb

#03:ビューのテンプレートをさらに理解しよう

  • link_toヘルパーメソッドについて
    • htmlの<a>タグに相当するヘルパーメソッドで、Railsアプリのページ間のリンクなどをシンプルに記述できる。
      <%= link_to 'text', path %>
    • 上記のlink_toヘルパーメソッドは、次のhtmlに変換される。
      <a href="path">text</a>
    • link_toのパスには、rails routesコマンドで最初に表示される名前付きパスが利用できる。

#04:投稿フォームの動作を理解しよう

  • 新規作成画面にfeeling項目を追加
    app/views/articles/_form.html.erb
  • 部分テンプレートとは
    • 複数のビューの共通要素を記述するテンプレート。
      呼び出すには、次のようにrenderメソッドを利用する。
      <%= render 'form', article: @article %>
      • この場合、「_form.html.erb」が部分テンプレートのファイル名になる。
      • また、article変数で、@articleのオブジェクトを利用できる。
  • フォームを作成するヘルパーメソッド
    • - form_for:投稿フォームのように、Modelの新規作成・更新に使用する
    • - form_tag:検索フォームのように、Modelを更新しない場合に使用する
※ どうやら上記はRails5系でのヘルパーメソッドのようだ。
Rails6系では、form_forの代わりにform_withが使われている。

#05:controllerがデータを書き込む流れを理解しよう

  • ストロングパラメータとは
    • データベースに安全にアクセスするために、データベースに書き込みできるカラムをリストアップしておく。
    • controllerのarticle_paramsメソッドに記述する。
      app/controllers/articles_controller.rb

#06:検索フォームを追加してみよう

  • ビューに検索フォームを追加する
    index.html.erb
  • コントローラーにindexメソッドに検索コードを追加する
    articles_controller.rb


認定証

とりあえず認定証は取得できたけど、すべて理解して、消化できてるわけじゃないな。
後でちゃんと本読んだりして復習しないといけないな。


学習ステータス


特に進化はしなかったな。

後で気づいたけど、これまでの3つのレッスンは、
1-1、1-2、1-3ってなってて、
初歩のレッスンを3つに分けた感じになっているのかな?
でもなんかこの辺のURLの番号付がレッスンの番号と一致していないところを見ると、
後からレッスンの番号や順番を変えたのかもしれないな。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

paizaラーニング『Rails入門1-2: RailsのDBの動作を理解しよう (全5回)』を受講してみた

2021-03-22 22:16:44 | paiza

『Rails入門1-2: RailsのDBの動作を理解しよう (全5回)』


このレッスンでは、主に、Rails Consoleの使い方を学んでいく。

メモ

#01:Railsの設計方針を知ろう

  • Railsの設計方針
    • Webアプリケーション開発にレールを提供
    • DRY:Don't Repeat Yourself
      同じ作業を繰り返さない
    • CoC:Convention over Configuration
      設定よりも規約を重視
  • 参考になるWebサイト

#02:Rails コンソールで動作を確認しよう

  • Railsコンソールの起動
    rails console
    rails c(短縮形)
  • データ数を表示する
    Article.count
  • すべてのデータを表示する
    Article.all
  • 特定のデータを表示する
    Article.find(1)
  • 特定のデータを変数に代入して、カラムを取り出す
    article = Article.find(1)
    article.content
  • カラムを更新する
    article = Article.find(1)
    article.content = "hello world"
    article.save

#03:ActiveRecord を理解しよう

  • ActiveRecordとは
    • ActiveRecordは、データベースのテーブルをRubyのオブジェクトに割り当てる機能。
    • ActiveRecordを使うことで、SQLを書かなくても、Rubyの作法でデータベースを操作することができる。
  • class ApplicationRecord < ActiveRecord::Baseを継承</li>

#04:データベースのマイグレーションを理解しよう

  • マイグレーションとは
    マイグレーションとは、簡単に言うと、データベースのテーブルを作成・変更するための仕組み。
    • Railsは、マイグレーションファイルという設定ファイルを自動作成して、それをmigrationコマンドで、データベースに反映させる。
  • カラムを追加するマイグレーションファイルを生成する
    rails generate migration AddCategoryToArticle category:string
    • 生成されたマイグレーションファイルは、db/migrateにある。
  • データベース設定を反映する
    rails db:migrate
  • データベース設定を取り消す
    rails db:rollback

#05:ビューにカラムを追加しよう

  • Railsコンソールで、新しい記事を投稿する
    article = Article.new
    article.feeling = "(^o^)"
    article.save
  • erbとは
    erbは、embedded Rubyの略。erbを使うと、htmlファイルを表示するときに、埋め込んでおいたRubyのコードが実行される。
  • erbの書き方
    • - <% %>  : Rubyのコードを実行する
    • - <%= %>: Rubyのコードを実行し、その結果をhtmlの該当位置に出力する

認定証

ダメだぁ〜😵 眠い〜😴 
やっぱ酒のんでからやっちゃダメだな😚 
今日はこのレッスンだけで終わりとしよう。


学習ステータス

レッスンを2個終えただけで一流に成れた!?😲 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする