転妻エンジニアのサバイバル日記

転勤族の妻で女性エンジニアの生き方模索中

たったの3steps!! Cloud9から接続したいサーバにSSH接続

cloud9で、サーバに接続するとき、いちいちパスワード使いたくない、、、めんどい、、SSH接続だ!というわけで備忘録です

 

1. cloud9上で下記(太字)のコマンドを打つ

ec2-user:~/environment (master) $ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ec2-user/.ssh/id_rsa.
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub.

以下略

 上記コメントで、秘密鍵は/home/ec2-user/.ssh/id_rsa、公開鍵は/home/ec2-user/.ssh/id_rsa.pubに保存されていることが分かる。

 

2. 公開鍵を下記コマンドで確認

ec2-user:~/environment (master) $vim /home/ec2-user/.ssh/id_rsa.pub

確認後、:q!コマンドでvimを抜ける。

 

(上記で確認した公開鍵を接続したいサーバのauthorized_keysに記載してもらう。)

 

3. 接続したいサーバにcloud9から下記コマンドで接続できることを確認(ubuntu以下は一例です)

ec2-user:~/environment (master) $ssh ubuntu@XX.XXX.XXX.XXX

 

おわりー!

 

ちなみに、SSH接続を終了するときは、下記コマンドです

exit 

 

The big bang theory dialog Season1 Episode1 パート1

ビックバンセオリーに最近ハマっているので、翻訳してみることにしました。

理系用語なども少し解説していきます。

翻訳で間違っている部分など、おしえてくださるとうれしいですー!

 

参考:

Series 01 Episode 01 – Pilot Episodebigbangtrans.wordpress.com

 

Sheldon: So if a photon is directed through a plane with two slits in it and either slit is observed it will not go through both slits. If it’s unobserved it will, however, if it’s observed after it’s left the plane but before it hits its target, it will not have gone through both slits.

シェルダン:だから、もし光子が二つのスリットの付いた平面に直進して、どちらかのスリットが観測されていれば、光子はどちらのスリットも通過しない。観測されていなければ、どちらのスリットも通過する。しかし、プレートを通過した後、ターゲットに到達する前に観測された場合、どちらのスリットも通過しない。

 

シェルダンは光の2重スリット実験について話してますね!興味あるかたは

下記動画の15分6秒あたりからを見てみてくださいー!

www.youtube.com

 

 

Leonard: Agreed, what’s your point?

レナード:ああそうだな。だから?

 

Sheldon: There’s no point, I just think it’s a good idea for a T-shirt.

シェルダン:なんも。ただ、Tシャツのデザインに良いアイデアだとおもって。

 

Leonard: Excuse me?

レナード:すみません

 

Receptionist: Hang on.

受付係:ちょっと待って(受付係の人はクロスワードパズルをしている)

 

Leonard: One across is Aegean, eight down is Nabakov, twenty-six across is MCM, fourteen down is… move your finger… phylum, which makes fourteen across Port-au-Prince. See, Papa Doc’s capital idea, that’s Port-au-Prince. Haiti.

レナード:横の1番はAegean(エーゲ海)、縦の8番はNabakov(ナボコフ ロシア生まれの米国の小説家)、横の26番はMCM(マルチチップモジュール)、縦の14番は、、、指を動かして(受付係の指が邪魔で縦の14番が見えなかったため)、phylum( (動物分類上の)門)、これで横の14番Port-au-Princeができあがるので。ふむ、パパドック(ハイチの元大統領のニックネーム)の名案、それはポルトープランス。ハイチ。

 

Receptionist: Can I help you?

受付係:なにか御用ですか?

 

Leonard: Yes. Um, is this the High IQ sperm bank?

レナード:はい。えっと、ここは高IQ精子バンクですか?

 

Receptionist: If you have to ask, maybe you shouldn’t be here.

受付係:それを質問するレベルってことは、(それが分からないってことは、あなたは高IQではないので)あなたはここにいるべきではないでしょうね

 

Sheldon: I think this is the place.

シェルダン:ここは高IQ精子バンクで合ってる。

 

Receptionist: Fill these out.

受付係:これらを記入してください

 

Leonard: Thank-you. We’ll be right back.

レナード:ありがとうございます。すぐ戻ります

 

Receptionist: Oh, take your time. I’ll just finish my crossword puzzle. Oh wait.

受付係:あら、ゆっくりしてらして大丈夫ですよ。ちょうどクロスワードパズルが終わるので、いや、、待てよ、、

 

Sheldon: Leonard, I don’t think I can do this.

シェルダン:レナード、これ、できる気がしないよ、、

 

Leonard: What, are you kidding? You’re a semi-pro.

レナード:なに?冗談だろ?お前はセミプロだろ?

 

Sheldon: No. We are committing genetic fraud. There’s no guarantee that our sperm is going to generate high IQ offspring, think about that. I have a sister with the same basic DNA mix who hostesses at Fuddruckers.

シェルダン:違う。僕たちは今、遺伝子詐欺を犯そうとしている。僕たちの精子が高IQの個体を生み出す保証はどこにもない。考えてみて。僕には同じベースのDNA配合の妹がいるけど、ハンバーガショップ(Fuddruckers)のウエイトレスだ。

 

Leonard: Sheldon, this was your idea. A little extra money to get fractional T1 bandwidth in the apartmen

レナード:シェルダン、これはお前が出した案だぞ。アパートに高速データ回線を引く資金にするんだろ

 

Sheldon: I know, and I do yearn for faster downloads, but there’s some poor woman is going to pin her hopes on my sperm, what if she winds up with a toddler who doesn’t know if he should use an integral or a differential to solve the area under a curve.

シェルダン:わかってる。どうしても高速ダウンロードが手に入れたいんだ。でもかわいそうな女性たちが僕の精子に希望を見出すんだぞ。それでもし、彼女が結局、曲線の下の面積を求めるときに微分を使うか積分を使うか分からない子供を産んだらどうする?

 

Leonard: I’m sure she’ll still love him.

レナード:それでも彼女はその子供を愛するはずだぞ

 

Sheldon: I wouldn’t.

シェルダン:僕は無理

 

Leonard: Well, what do you want to do?

レナード:えっと、結局何がしたいんだよ

 

Sheldon: I want to leave.

シェルダン:ここを離れたい

 

Leonard: Okay.

レナード:おっけ

 

Sheldon: What’s the protocol for leaving?

シェルダン:ここを離れるときのプロトコル(手順)は?

 

Leonard: I don’t know, I’ve never reneged on a proffer of sperm before.

レナード:知らん。精子提供からバックレたことなんてないからな

 

Sheldon: Let’s try just walking out.

シェルダン:それじゃ、ただ歩いて出ていこう

 

Leonard: Okay.

レナード:おっけ

 

Receptionist: Bye.

受付係:ばいばい

 

Sheldon: Bye-bye

シェルダン:さよなら

 

Leonard: See you.

レナード:さよなら

 

 

RubyOnRails simple form date型input書き方

railsで誕生日などdate型のinputを書く際に詰まったのでメモ

(gem simple form を使用しています)

 

= simple_form_for(@user, html: { class: 'form-horizontal', autocomplete: "off" }, wrapper: :horizontal_form) do |f|

= f.input :bday, as: :date, start_year: Date.today.year - 30,
end_year: Date.today.year - 12,
use_month_numbers:true,
order: [:day, :month, :year]

太字の部分をオプションで付ける。

オプションのドキュメントはコチラ↓

api.rubyonrails.org

cloud9 heroku

$ wget https://cli-assets.heroku.com/heroku-linux-x64.tar.gz -O heroku.tar.gz
$ sudo mkdir -p /usr/local/lib/heroku
$ sudo tar --strip-components 1 -zxvf heroku.tar.gz -C /usr/local/lib/heroku
$ sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku

$ heroku login -i

Enter your Heroku credentials.
Email: email入力
Password: パスワード入力

$ git remote add heroku git@heroku.com:appname.git

$heroku git:remote --app  appname

git remote -v

https://git.heroku.com/appname

git remote rm appname

git@heroku.com:appname.git

 

名前の変更

git remote rename heroku heroku-test

 

cloud9×sails.js×node.js×mySQLの環境構築

git clone https://xxxxxx@bitbucket.org/appname.git

 

ec2-user:~/environment $ node -v
v10.16.2

npm install sails -g

ec2-user:~/environment $ sails -v
1.2.3

 

config/env/production.js{{

default: {
adapter: 'sails-mysql',

}}

npm install sails-mysql

 

qiita.com

cd app_name

npm i

-->node_modules

cd front_end

npm i

-->node_modules

 

sails lift -> error

/config/custom.js
module.exports.custom = {
- baseUrl: 'http://localhost:1337',
+ baseUrl: 'http://localhost:8080',

}

/front-end/.env.development
{
-REACT_APP_API_URL=http://localhost:1337
+REACT_APP_API_URL=http://localhost:8080}

 

/front-end/package.json

"scripts": {
- "start": "PORT=8080 react-scripts start",
+ "start": "PORT=8081 react-scripts start",

package.json
"jszip": "^3.2.2",
"lodash": "^4.17.14",
"moment": "^2.24.0",
+ "mysql": "github:mysqljs/mysql",

 

cd app_name

npm i

-->node_modules

cd front_end

npm i

-->node_modules

 

adapter: 'sails-mysql',
url: 'mysql://root:root@localhost:3306/database_name',

mysql -u root

update mysql.user set password=password('root') where user = 'root';

flush privileges;

 

mysql -u root -p

root

create database database_name;

show databases;

exit;

 

 

 

http:********d9.us-east-2.amazonaws.com:8081

RubyOnRails勉強④ 見た目をオシャレに

f:id:kayo445:20190814232326j:plain

前回までで、ログイン機能を実装しました。

でも見た目がダサい、、、ということで、今回は見た目をオシャレにしていこうとおもいます。ついでにmodelについても少し解説していきます。

 

①bootstrapを実装

下記コマンドでダウンロード

git clone https://github.com/MURAMASA2470/devise-i18n-bootstrap4.git 

 ダウンロードしてきた、devise-bootstrap-views/app/views/deviseの中身を前回つくった/app/views/authフォルダの中に入れます。

devise-i18n-bootstrap4/config/locales/devise.views.ja.ymlをdevise.ja.ymlにリネームして/config/locales/に入れます。

/app/views/authのerbファイルを下記コマンドでslimファイルに変更します。まずコマンドラインでgem "html2slim"をインストール

gem install html2slim

deviseが入ってるapp/views/auth/フォルダの中身とapp/views/localeどちらも変換したいので、viewsの中身をすべて一括変換します(下記コマンド)

for i in app/views/**/*.erb; do erb2slim $i ${i%erb}slim && rm $i; done

 

ruby on railsでbootstrapを使えるように設定します。

まずGemfileにbootstrap用とjQuery用のGemを追加

gem 'bootstrap', '~> 4.2', '>= 4.2.1

gem 'jquery-rails', '~> 4.3', '>= 4.3.3'

その後bundle installをして追加します。

次に全体のCssを管理しているapplication.cssをapplication.scssにリネームします(下記コマンド)

mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss

そしてそのapplication.scss内に、bootstrapのcssを追加します

@import "bootstrap";

最後に全体のjsを管理しているapplication.jsに下記を追加します

//= require jquery3
//= require popper
//= require bootstrap-sprockets 

 これでbootstrapが使えるようになりました!!

②プレビューしてみる

sign upページにアクセス!あれ???前の見た目のまま???となります

f:id:kayo445:20190820184404j:plain

実行したときのメッセージをみると下記のようになっています。

Started GET "/users/sign_up" for 203.129.135.33 at 2019-08-25 01:20:30 +0000
Cannot render console from 203.129.135.33! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by Devise::RegistrationsController#new as HTML
Rendering /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/devise-4.7.0/app/views/devise/registrations/new.html.erb within layouts/application
Rendered /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/devise-4.7.0/app/views/devise/shared/_error_messages.html.erb (0.5ms)
Rendered /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/devise-4.7.0/app/views/devise/shared/_links.html.erb (0.8ms)
Rendered /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/devise-4.7.0/app/views/devise/registrations/new.html.erb within layouts/application  

 まず、Started GET "/users/sign_up"と書いてあるので、リンクをクリックして/users/sign_upにアクセスしに行っていたことが分かります。

次にProcessing by Devise::RegistrationsController#newと書いてあります。これはDeviseコントローラ内のnewを見に行ったことが分かります。

最後にRendering /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/devise-4.7.0/app/views/devise/registrations/new.html.erbで、rvm内のregistrations/new.html.erbを取りに行ったことが分かります。(rvm(Ruby Version Manager)は複数のバージョンのRubyを管理してくれていて、bundle installしたgemも管理してくれてます。)

 

つまり、sign upページにアクセスしても、今回①で/app/views/auth内に入れたslimファイルを取りに行ってない。deviseのgemを管理しているrvm内のerbファイルを見に行ってしまってる。

→Routesを変更する必要あり

 

現在の/users/sign_upのroutesを、rails routesコマンドで見てみると

new_user_registration GET /users/sign_up(.:format) devise/registrations#new 

 のようになっています。new_user_registration_pathと書く(erbファイルやslimファイル内に)と、/users/sign_upというURLに変換してくれて、Devise::RegistrationsController#new(deviseのgemを管理しているrvm内のcontroller)というcontrollerを見に行くよ!ということです。

今回見に行きたいcontrollerはapp/controllers/auth/registrations_controller.rbの中身をみると、

class Auth::RegistrationsController < Devise::RegistrationsController 

 のようになってます。これはapp/controllers/auth/registrations_controller.rbで定義されているコントローラ名はAuth::RegistrationsController で、その機能はDevise::RegistrationsController から受け継いでますー!という意味です。

 

つまりDevise::RegistrationsController#newの代わりにAuth::RegistrationsController#newを見に行くようにさせれば、今回①で/app/views/auth内に入れた/app/views/auth/registrations/new.html.slimを見に行ってくれます。

config/routes.rbに太文字部分を追加します

devise_for :users, controllers: {
confirmations: 'auth/confirmations',
sessions: 'auth/sessions',
registrations: "auth/registrations",
passwords: "auth/passwords",
}

 

rails routesで確認すると

new_user_registration GET /users/sign_up(.:format) auth/registrations#new

Auth::RegistrationsController#newを見に行くようになりました!

 

ちなみにdevise_for :usersの部分は、deviseでは/app/models/user.rbを使用するということを定義してます。user.rbは、データベースのusersテーブル情報を管理する役割をしています。つまり、deviseがusersテーブルに登録した人の情報などを入れたり、引き出してきて照合したりするよ!ってことですね。

ちなみにuser.rbのようにデータベースのテーブルを管理する役割のものを”model”といい、/app/models/のなかにファイルが入ってます

 

③プレビュー二回目

見た目はOKになってるー!!日本語にも対応してるー!と思いきや

ボタンの部分が変になってる、、、

f:id:kayo445:20190825110206j:plain

 

 今回はここまで!

RubyOnRails勉強④ ログイン機能作成

f:id:kayo445:20190814232326j:plain

今回はログイン機能を作っていこうと思います。データベースを使ってユーザ情報を記憶するので、前回までの”view”と”controller”に加えて”model”という機能を使っていきます。

 

① ログイン機能を簡単に実装できるgem "devise" をインストール

Gemfileに下記を記載

gem 'devise', '~> 4.6', '>= 4.6.2' 

 bundle installを実行

 

②deviceを使用するための設定に必要なおまじないを実行

上記コマンドで config/initializers/devise.rb と config/locales/devise.en.ymlが作成されます

rails g devise:install 

config/initializers/devise.rbはdeviseの設定を書く部分です。

例えば、仮会員登録したあとユーザに自動メールを送る機能のための、送信元メールアドレスなどを書きます。

下記コマンドでユーザーモデルを作成(モデルについては後述します。今のところは、データベースを扱う場合に必要なものとだけ考えてください)

rails g devise user 

 自動でapp/models/user.rbファイルと、db/migrate/フォルダ内に

201908XXXXX(日時など)_devise_create_users.rb

というファイルが作られます。

db/migrate/フォルダ内に作られる、このようなファイルをマイグレーションファイルと呼びます。

201908XXXXX(日時など)_devise_create_users.rbの中を見てみます

class DeviseCreateUsers < ActiveRecord::Migration[5.2]
 def change
  create_table :users do |t|
  ## Database authenticatable
  t.string :email, null: false, default: ""
  t.string :encrypted_password, null: false, default: ""

  ## Recoverable
  t.string :reset_password_token
  t.datetime :reset_password_sent_at

  ## Rememberable
  t.datetime :remember_created_at

  ## Trackable
  # t.integer :sign_in_count, default: 0, null: false
  # t.datetime :current_sign_in_at
  # t.datetime :last_sign_in_at
  # t.inet :current_sign_in_ip
  # t.inet :last_sign_in_ip

  ## Confirmable
  # t.string :confirmation_token
  # t.datetime :confirmed_at
  # t.datetime :confirmation_sent_at
  # t.string :unconfirmed_email # Only if using reconfirmable

  ## Lockable
  # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy   is :failed_attempts
  # t.string :unlock_token # Only if unlock strategy is :email or :both
  # t.datetime :locked_at


  t.timestamps null: false
  end

  add_index :users, :email, unique: true
  add_index :users, :reset_password_token, unique: true
  # add_index :users, :confirmation_token, unique: true
  # add_index :users, :unlock_token, unique: true
 end
end

 

 create_table :users の部分で、「usersという名前のテーブルをデータベース内につくる」と指定しています。テーブルの中の項目は、#でコメントアウトしている部分以外です。

emailやencrypted_password(暗号化されて保存されます)などです。

ただ、この段階ではまだデータベースにテーブルは作られていません

 

③ データベースにテーブルを作る

まず、下記コマンドでデータベースを立ち上げます

sudo service postgresql start 

 次に下記コマンドで、先ほどのマイグレーションファイルをもとにテーブルを作成します

rails db:migrate 

 

④ テーブルを確認(太文字が打ったコマンド)

rails dbconsole
psql (9.2.24)
Type "help" for help.

xxxxx_development=# \d
List of relations
Schema | Name | Type | Owner
--------+----------------------+----------+----------
public | ar_internal_metadata | table | ec2-user
public | schema_migrations | table | ec2-user
public | users | table | ec2-user
public | users_id_seq | sequence | ec2-user
(4 rows)

xxxxx_development=# \d users
Table "public.users"
Column | Type | Modifiers
------------------------+-----------------------------+----------------------------------------------------
id | bigint | not null default nextval('users_id_seq'::regclass)
email | character varying | not null default ''::character varying
encrypted_password | character varying | not null default ''::character varying
reset_password_token | character varying |
reset_password_sent_at | timestamp without time zone |
remember_created_at | timestamp without time zone |
created_at | timestamp without time zone | not null
updated_at | timestamp without time zone | not null
Indexes:
"users_pkey" PRIMARY KEY, btree (id)
"index_users_on_email" UNIQUE, btree (email)
"index_users_on_reset_password_token" UNIQUE, btree (reset_password_token)

dreams_development=#\q

rails dbconsole:railsの環境に合わせたデータベースコンソールを起動

今回はpostgresqlを使っているのでpostgresqlのコンソール”psql”が立ち上がります

その後はpsqlのコマンドを打ってデータベースを確認していきます。

psqlのコマンドはググってねー!

上記の結果から、マイグレーションファイルの記載通りにテーブルがデータベース内に作成されたことが分かりました!

⑤コントローラとビューを作成

下記コマンドでデバイスのコントローラとビューが自動作成されます

*コントローラ

rails g devise:controllers foldername

*ビュー

rails g devise:views foldername 

 app/controllers/foldernameとapp/views/foldername内に色々ファイルが作成されたと思います。私はfoldernameの部分をauthにしたので、app/controllers/authとapp/views/authにファイルが作成されました

⑥routeの確認

config/routes.rbに下記太文字部分が自動追加されます

Rails.application.routes.draw do
 devise_for :users
 root 'pages#home'
 # For details on the DSL available within this file, see   http://guides.rubyonrails.org/routing.html
 get 'hohoho', to: "pages#privacy"
end 

 コンソール”rails routes”でルート確認すると、

new_user_registration GET /users/sign_up(.:format) devise/registrations#new

上記の意味は、new_user_registration_pathにGETアクセス(リンクなどでアクセス)すれば、サインナップページが出てくるという意味です。

⑦home.html.slimにサインナップページのリンクを作成

下記の太文字部分

h1 Pages#home
p Find me in app/views/pages/home.html.slim
p =t("hello")
#div1
a href=hohoho_path target="_blank" privacy policy
#div2
= link_to "privacy policy", hohoho_path,target:"_blank"
#div1
a href=new_user_registration_path target="_blank" sign up
#div2
= link_to "sign up", new_user_registration_path,target:"_blank" 

 ⑧プレビュー

*homeページ

f:id:kayo445:20190820184349j:plain

*sing upリンククリック後、/users/sign_upページが現れることを確認。見た目がダサいですが、、、ちゃんと、パスワードなどが一致しないなどのエラーも出してくれます!賢い。

f:id:kayo445:20190820184404j:plain

会員登録してみましょう!

email:abcd@example.com

password:1234Abcd

を記載して「sign up」ボタンを押すとhome pageに戻ってしまいました。sign up後の画面をどこにするかなどを記載していないためです。

rails dbconsoleでusersのテーブルを見てみましょう

rails dbconsole
psql (9.2.24)
Type "help" for help.

xxxxxx_development=# select * from users
xxxxxx_development-# ;
id | email | encrypted_password | reset_password_token | reset_password_s
ent_at | remember_created_at | created_at | updated_at
----+---------------------------+--------------------------------------------------------------+----------------------+-----------------
-------+---------------------+----------------------------+----------------------------
1 | abcd@example.com | $2a$11$As2rYWkgyIZEj7Wsoy4hwuI3D0NH3RZdevJhCaSbIEexOt4/zQn.i | |
| | 2019-08-20 09:46:36.960055 | 2019-08-20 09:46:36.960055
(1 row)

 

 ちゃんとユーザ情報がデータベースに記録されています!

 

⑨ここで問題発生!!二回目にsign inボタンを押すと、下記のエラーが発生してsign in 画面が表示されません。(home pageにリダイレクトしてしまう)

これは、一回sign inすると、自動的にログインした状態になり、もう一度sign inすることができないためです。

ログインしているときはログアウトボタンを表示、ログアウトしているときはsing upボタンとlog inボタンを表示するようにしました(home.html.slim)

h1 Pages#home
p Find me in app/views/pages/home.html.slim
p =t("hello")
#div1
  a href=hohoho_path target="_blank" privacy policy
#div2
  = link_to "privacy policy", hohoho_path,target:"_blank"
-if user_signed_in?
  #div1
    a href=destroy_user_session_path target="_blank" log out
  #div2
    = link_to "log out", destroy_user_session_path,target:"_blank"
-else
  #div1
    a href=new_user_registration_path target="_blank" sign up
  #div2
    = link_to "sign up", new_user_registration_path,target:"_blank"
  #div1
    a href=new_user_session_path target="_blank" log in
  #div2
    = link_to "log in", new_user_session_path,target:"_blank"

 user_signed_in?は、deviceで使えるようになる機能の一つで、サインインしているかどうかで分岐することができます。viewでもcontrollerでも使用可能。

 

⑩さらに問題発生!!

ログアウトボタンでログアウトするとエラー発生

No route matches [GET] "/users/sign_out”

リンクをおしてdestroy_user_session_pathにアクセスしているので、GETという方法でアクセスしていることになるのです。が、rails routesで見てみると、

destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy

destroy_user_sessionはDELETEという方法でアクセスしなければならないことになっています。

⑪ログアウトできるように修正

config/initializers/devise.rbのconfig.sign_out_viaの値をDELETEからGETに変更します。

config.sign_out_via = :get

 

これで、ログアウトができるようになりました!

 

⑫プレビュー二回目

*homeページ

f:id:kayo445:20190820203453j:plain

*home ページでlog in ボタンを押した後の表示

f:id:kayo445:20190820203459j:plain

*log in ページでemailとパスワードを入力してlog inボタンを押した後。home に戻っているが、sign in ボタンとlog inボタンは消えている。log outボタンが代わりに出現

f:id:kayo445:20190820203518j:plain

*log out ボタンを押した後。home ページだが、sign in ボタンとlog inボタンが再び表示されている

f:id:kayo445:20190820203453j:plain


今日のところはここまでー!!