20201227_アウトプット(SNS認証によるログイン機能の実装・ユーザーインタビュー)

アプトプット画像

今日行ったこと 8時間30分

  • SNS認証によるログイン機能の実装 5時間30分
    👉今日からスタート、60%進む

  • ユーザーインタビュー(2人にインタビュー) 
    👉インタビュー総時間:40分
    👉インタビュー内容をまとめ・オリジナルアプリの練り直し:2時間20分
    (ペルソナ・要件定義について練る・実装方法の検索)



新しい発見

SNS認証によるログイン機能の実装について(FacebookGoogleアカウント)

  • omniauth(オムニオース)というGemを使う

  • CSRF脆弱性(ログインしたままの状態を狙われて攻撃される)を対策するため、omniauth-rails_csrf_protectionというGemも使う

  • 「env」は「environment(インバイラメント)」の略と知る。(「環境」という意味。そのままだ😅)

  • SNSによるユーザー認証を行うということは、入力すると、アプリケーションを通して、APIに対して「教えて」とリクエストする。

  • 「教えて」の返事として、こちらが欲しいユーザーの個人情報と共に、「uidとprovider」が送られてくる。(Facebookの識別子何番のお客さんの情報どうぞ)

  • そのレスポンスが返ってくるタイミングと、ユーザー情報を保存するタイミングは異なるため、「uidとprovider」を保存するための別モデルを作成することを学んだ。(今回は、SnsCredentialモデル)



オリジナルアプリの構想について

ユーザーインタビューについて

いろんな方の「良い習慣」や「悪い習慣」などを聞いて視点が広がったのはもちろんのこと、以下のことに新しく気がつけた!

  • どんなユーザーに対して届けたいか(ペルソナ)と機能のずれ

  • 自分が「ここまでやった✨」と上手にバランスを保てている人は、記録していなくても継続出来ている

👉「付けたい機能盛り沢山」な状態になりつつあったことを反省😅
👉ユーザーが解決したい問題はなんだろうか、それを実現するための機能は何か
👉途中、この機能ってどうやって実装するんだろう(Gem等あるのかな)と脱線

感想

  • 今日までで合計9人にインタビューすることが出来た。(本当にありがとうございました)

  • 機能をシンプルにする、というのが難しい。目的がぶれているとも感じた。(ペルソナの2年前の自分と今の自分、欲しいものがごっちゃ)

  • 今日の反省としては、色々機能に夢が広がり、どんな風に実装するんだろう😍と、調べたこと。目的から逆算して、必要な機能を検索するのではなく、目的が曖昧なまま、「こんな機能あったら良いな」を色々調べていたため進まなかった。

  • 銭神さんのRailsデザインパターンまとめ、分かりやすいなあ。

  • 必要な機能を実装したアプリはもちろんのこと、デザインパターンのようなルールに沿ったアプリを作りたい。(開発者にとっても良い→コードの再現性、見やすさ→改善がしやすいので後々ユーザーに還元)

  • 予定の立て方、無理あったので方向修正しよう。

  • 嬉しかったこととしては、「GitHubを使いながら、アプリを開発環境と本番環境で作っていくこと」について上達したこと。今まではその都度、カリキュラムを見直して「えっと、、次はこのコマンド」ってやっていたけれど、「自分がよく使うコマンド」メモを作り、「次はこれだな」と頭の整理が出来てきたこと。(なるべく手間を省きたい&綺麗に作りたいため、GitHubのプルリクのフォーマットなども「自分がよく使うコマンド」メモに貼り付けている)

覚書

ミニアプリ(目的:知識の引き出しを増やす)



優先順位

(1)ミニアプリの作成(実装方法の理解)・個人アプリのためのインタビュー・DB設計等
👉12月29日(火)締め切り

(2)個人アプリの作成。
👉1月11日(月)締め切り(基本実装)

(3)(1)で学んだことを「フリマアプリ」あるいは「個人アプリ」に反映。
👉1月17日(日)締め切り

追加:(1)(2)(3)と同時並行で、PHPについても学ぶ。



身に付ける力(直近)


身に付ける力(ゆくゆく・覚書)

  • 環境構築

  • 環境変数などのOS知識

  • バージョン対応力

  • データベースをインポートする力・エクスポートする

  • GitHubActions×OpenAPIGenerator(APICilent)