mentorship-program
mentorship-program copied to clipboard
[Week36] Max
最新的進度是什麼?
week 36 預期完成進度:
本來以為研究 Git 一篇文章就會結束了,沒想到分成了五篇文章:
- 從 Git 四步驟 (init/add/commit/push) 整理完後
- 發現 Branch 也是一個很大的坑,所以在合併 (merge/rebase) 上也研究了一下,而 revert 的實用性有點低就沒有寫進文章裡了
- 合併之後發現失敗要回到上一個版本,所以就寫了一下 Git 時光機 (reset/checkout)
- 最近看到同事都是用縮寫在下 Git 指令,所以也寫了一篇 Git 設定快捷鍵的部分
- 最後覺得自己的 commit 很亂,所以就看了一下大家都怎麼寫 commit,但因為我整理的這篇 commit 內容與網路上的重複度太高,所以我就把文章存在筆記本裡面,沒有發佈到網誌裡面了 不過網路上這篇 人生也有 Git 就好了… | Oberon Lai 讓我對 commit 有不同的看法,他竟然可以是一個目標管理的工具(?
先寫下小任務的提交訊息再開始寫程式碼:這點非常驚人,先寫下要提交的訊息除了可以確保訊息是有意義外,更重要的是他可以讓你專注在這個任務,只開啟跟這個任務相關的檔案,如果改了其他無關的檔案,立刻就會發現這不是我現在要做的事情,就會回頭乖乖做現在該做的事。
- [x] Git
-
- [x] Git 入門 (add/commit/push)
-
- [x] Git Branch合併 (merge/rebase)
-
- [x] Git 時光機 (reset/checkout)
-
- [x] Git alias (git congig/zsh git plugin)
-
- [x] Git 如何優雅地寫 commit message
-
- [Git教學] 寫給 Git 初學者的入門 4 步驟
- [Git教學] 分支合併: merge 與 rebase 差異
- [Git教學] Git 時光機回復版本的 2 種方法 reset & checkout
- [Git教學] 如何設定 Git 快捷鍵指令
下次報告前要完成哪些事項?
week 37 預期完成進度:
接下來兩週將從 session、Cookie、JWT、CSRF 和 CORS,我覺得這四個其實都互相連貫
- [ ] 為何選擇 Flask
- [ ] Flask session
- [ ] Flask cookie
- [ ] Flask with JWT
- [ ] Flask CORS & CSRF
因為 Http 無狀態的特性 -> 出現了 Session 來補足無狀態性,而為了讓 Session ( 具有狀態的一段時間 ) 更容易實現 -> 出現了 Cookie 將 Session Imformation 保存在 Cookie 內,如果 Cookie 裡面只存一個 SessionID,其他的 Session Imformation 都存在 Server 端,靠著這個 ID 把兩者關聯起來稱為 Server Side Session,若是選擇把 Session Imformation 存在 Cookie 裡面,則叫 Client Side Session。 而 Cookie 和 Session 的結合又衍生了 Server request 可信度的 CSRF 攻擊問題,所以介紹 CSRF Token 和 double Submit Cookie 以及 JWT 等驗證方式。
最近拜讀了 Huli 大大的 cookie & session 和 CSRF 的文章,看完之後覺得自己再也不敢寫文章了 (掩面
白話 Session 與 Cookie:從經營雜貨店開始 - Huli - Medium 讓我們來談談 CSRF
目前此支線任務的清單如下:
- [x] Git
-
- [x] Git 入門 (add/commit/push)
-
- [x] Git Branch合併 (merge/rebase)
-
- [x] Git 時光機 (reset/checkout)
-
- [x] Git alias (git congig/zsh git plugin)
-
- [x] Git 如何優雅地寫 commit message
-
- [ ] 為何選擇 Flask
- [ ] Flask session
- [ ] Flask cookie
- [ ] Flask with JWT
- [ ] Flask CORS & CSRF
- [ ] Flask with WSGI & Nginx
- [ ] Flask RESTful
- [ ] Flask Migrate
- [ ] Flask Marshmallow 序列化與反序列化
- [ ] Flask Unitetest
- [ ] Flask Logging
- [ ] Flask Pagination