2021/04/18 学習内容

【昨日】

◯ 気分転換で学習等は一切なし(週一で気分転換をするようにしています。また、日曜日は軽めにしていま

  す。)

【就職活動】

◯ 今日は応募はなし(いつも平日に集中して行ってる)

◯ その代わり、面接対応を手厚く準備

 ・ 明日、明後日と面接が続くので

PHP】(PHPというより、おさらい)

◯ オブジェクト指向について

 ・ オブジェクトは「もの」、指向は「〜を中心に」という意味で、端的に「オブジェクト(もの)を中

   心にした考え方」

 ・ 現実もお店もECサイトも「商品」、「ユーザー」、「カート」などのオブジェクトが組み合わさってで

   きている。

・ プログラムにおいても「このAコードは商品、Bコードはユーザー」という考え方で、プログラムの役割を

  明確化し、組み立てるようにコードを書く。

◯ クラス

 ・ オブジェクト指向ではクラスというオブジェクトの設計図をつくり、それを元にオブジェクトを生成す

   る。

 ・ 書き方は、classMenu {

         //クラスの内容

        }

◯ インスタンス

 ・ クラスを元に生成された実体をインスタンスという。インスタンスは「newクラス名()」で生成する。

   変数にも代入できる。また、インスタンスの生成はクラスの外で行う。

 ・ class Menu{

   }

   $menu1 = new Menu();

   $menu2 = new Menu();

【ドリル】

◯ ある3桁の整数について、100の位+10の位+1の位について、10の倍数からの差が、2以内ならTrue、それ

  以外は「10の倍数との差はAです」と出力させる。

 ・ 出力例 near_ten(117) => True

      near_ten(123) => 10の倍数との差は4です

  和が6の時、差が6ではなく、差が4というように近い方から表示できるようにする。 

◯ 回答(要点のみ)

 ・ それぞれの位の算出方法は、num/100%10 num/10%10 num%10

   これらの和を変数totalに代入

 ・ total % 10を変数remainderに代入

   このremainderを条件式に当てはめる。

   ramainderが0,1,2または8,9,ならばTrue

   remainder <= 5(3,4,5) ならば10の倍数との差はremainder

   そうでないなら(6,7)10の倍数との差は10ーremainder(remainderだと、6や7と出てしまう。)

【オリジナルアプリ】

◯ エラーメッセージの表示場所

 ・ 今まで、名前を入力していない等のエラーメッセージはページの上部にまとめて表示させていました

   が、これを各フォームの直下に表示させるように調整。

 ・ 下記の記述

<% if @user.errors.any? %>
<% end %>

 ・ 更に、各フォームの直下にも次の記述

<% if @user.errors.include?(:email) %>
<p style="color: red;"><%= @user.errors.full_messages_for(:email).first %>
<% end %>

◯ エラーメッセージの日本語化

 ・ まずはGemに次の記述 gem 'i18n'

 ・ ターミナルでbundle install

 ・ config/application.rbに次の記述

   # 日本語の言語設定
   config.i18n.default_locale = :ja

 ・ config/locales/devise.ja.ymlファイルを作り、そのファイルに次の内容をコピー。  

   https://github.com/tigrish/devise-i18n/blob/master/rails/locales/ja.yml

 ・ 上記だけでは足りない部分は、config/locales/ja.ymlファイルを作成し、次の記述

ja:
  attributes:
   user:
     username: ユーザー名
     name: 名前
     birthday: 生年月日

 ・ サーバーを再起動すると、エラ〜メッセージが日本語で表示される。

◯ パスワードの最低文字数を設定する

 ・ userモデルに次の記述

   devise: varidatable, password_length 8..128

   これで最低8文字を入力させるパスワード設定入力設定になる(デフォルトは6文字)

◯ ログアウトの設定も終わったので、後はログインのページを整え、新規登録と同様の設定後、単体テスト

  でとりあえずユーザー管理機能は一区切り。