やること

  • Rails Tutorial9~10
  • 文章ゼミ課題 レビュー最終稿仕上げ・送信(済)
  • (突発)明日午前中東京日帰り面接準備
就活絡みの急な予定が差し込む場合ある程度はやむを得ないが、極力学習計画は守れるよう工夫

(今日明日の予定変更)

  • Rails Tutorialは本日の夜までは進め、明日の学習予定は読書(ネットワークのきほん、TCP/IP+英語学習)のみとする
  • (課題)
    • 現状WindowsノートPCは動かすと電源落ちる仕様なので移動中の学習はスマホか読書メインにせざるを得ない
    • Macbookとか買える資金的余裕は無い
    • PC買い替え以前に当面の東京引っ越し資金もどっから出すんだって状況
  • AWS LoftやYahoo Lodge行っても自前PC無いと図書館と変わらん気がする
  • 場所選ばずできる学習としてはやはり読書(電子媒体含む)か
  • 早いとこお金稼いでMacBook買おう。あと余裕出てきたら親孝行。

Rails Tutorial 9章の目的

第8章で実装した基本的なログイン認証機能を、よりセキュアな形で拡張する

  • Remember me

    • 基本的にブラウザを閉じると切れるセッションの有効期限を延ばす為に永続cookieを利用する
    • セッションハイジャックに対する脆弱性対策
  • 上記の設計やセキュリティ上の考慮事項を元に、次の方針で永続的セッションを作成する

    1. 記憶トークンにはランダムな文字列を生成して用いる。
    2. ブラウザのcookiesにトークンを保存するときには、有効期限を設定する。
    3. トークンはハッシュ値に変換してからデータベースに保存する。
    4. ブラウザのcookiesに保存するユーザーIDは暗号化しておく。
    5. 永続ユーザーIDを含むcookiesを受け取ったら、そのIDでデータベースを検索し、
      記憶トークンのcookiesがデータベース内のハッシュ値と一致することを確認する。

上記の最後(v.)の実装はユーザーログインのhas_secure_passwordによるdigest認証と構造的に似ている

Tips

  • セキュリティ面に配慮しつつ永続cookiesを利用する為に、Userモデルにremember_digest属性を追加

反省点

  • 案の定学習に充分な時間を確保することなく8章の最序盤しか手付けられなかった
    • 学習時間の確保はある程度やりようでなんとかできる、引き続き創意工夫すべし
  • 前回東京訪問時に自分の名刺が無くて礼を欠いたので「次回までに名刺用意しておかないと」と言いながら用意してなかった
  • 東京行きの往復交通費を安く抑えることを優先し必要以上に時間をかけ、先方への返答も遅らせた

(反省とセットで)受容

  • まぁ、そんな至らない点も多々あるけど、だからって「全然ダメだ」とか自分を減点評価するこたぁない。
  • 自責をする者はセットで他責もする。ゆめ忘るべからず
  • 世の中には自責を全くせず他責しかしない者も居るが、それを責めることもなきよう
  • その理由は既に充分学んだし、これからも学び続けるだろう。
  • 飛躍するようだが結局突き詰めると「生きとし生けるものみな幸せであれ」に行き着く
  • つくづく仏陀さんは2500年前の人間とは思えない最先端の科学者だと思う。リスペクト。