發表文章

目前顯示的是 12月, 2020的文章

刷題網站

 https://www.hackerrank.com/ https://onlinejudge.org/ https://leetcode.com/ https://www.lintcode.com/

leetcode解題

leetcode 官方 collection https://leetcode.com/explore/featured/card/top-interview-questions-easy/ 專有名詞 Fast & Slow Pointer two pointer  Sliding Window Next Greater Element Cyclic Sort Monotonic Queue

spring boot 基本配置項目

1. redis 緩存配置 2. mysql配置     多資料源配置: https://iter01.com/512781.html 3. 異常統一處理      https://www.cnblogs.com/lgjlife/p/10988439.html 4. 統一API返回格式      https://www.cnblogs.com/FraserYu/p/11343803.html      https://www.cnblogs.com/UncleWang001/p/10949318.html      https://www.cnblogs.com/onehm/archive/2020/11/09/13947705.html 5. dto、model、repository、service基本架構 6. database migration 7. http middleware 8. 驗證 9. 日誌 10. 時區 教學 https://github.com/ityouknow/awesome-spring-boot https://github.com/xkcoding/spring-boot-demo

資安議題 -- Cookies

圖片
前言 cookie可以讓網頁帶有狀態性,達到Session 管理、個人化、追蹤的功能,cookie是面向客戶端,儲存在瀏覽器裡面。 cookie由伺服器端設置後放到response的header裡,瀏覽器取得後放入儲存cookie的地方,向伺服器發送request時,會將存放的cookie放入request的header中。 javascript設置的cookie不能帶有安全性標誌,如Secure、HttpOnly、SameSite。 設置Cookie 設置cookie的方式有兩種: 使用伺服器設定 cookie,通過 response 的 Set-Cookie header,瀏覽器會根據 Set-Cookie 儲存 cookie。 使用客戶端的 javascript 設定 cookie,例如:document.cookie = "name=John;"。 Cookie flag Expires 設定一個日期,到日期時就會自動失效。 Max-Age 設定秒數,秒數過後自動失效,比Expires優先度高。 Domain 設定作用網域,設定之後會包含子網域,若無設定則默認當前網域,不包含子網域。 Path 設定作用路徑,設定/admin將匹配/admin/users,/admin/roles等路徑。 Secure 只能使用https傳到伺服器。 HttpOnly 只能經由伺服器存取cookie,不能經由document.cookie。 SameSite cookie不能跨域發送。 cookie行為 1. 當server設定cookie,會在response的header加入Set-Cookie告知瀏覽器,瀏覽器會將cookie保存在瀏覽器中。 2. 設定完成後,request會帶著儲存的cookie去server。 response header的set cookie: request header的cookie: 3. server端設定的cookie會帶有httponly,javascript無法讀取跟修改此類的cookie,若javascript先設定了id = 1,之後 server 設定了 id = 2,cookie將會被覆蓋並會被加上httponly,javascript就無法在讀取id的值。 4. 當使用者用瀏覽器去訪問網站,serv

資料結構列表

  堆疊 (Stack) 佇列 (Queue) 陣列 (Array) 連結串列 (Linked List) 樹 (Tree) 圖 (Graph) 堆積 (Heap) 雜湊表 (Hash table) Stack 基本操作 isEmpty:  確認空。 isFull:  確認滿。 push: 加元素。 pop: 減元素。 peek: 查看頂元素。 Queue 基本操作 Enqueue: 加元素 Dequeue: 減元素 IsEmpty: 確認空。 IsFull: 確認滿。 peek:  查看第一個元素。 Queue類別 Simple Queue Circular Queue Priority Queue Deque (Double Ended Queue) Heap 為一個完全二元樹,給定heap中任意節點P和C,若P是C的母節點,那麼P的值會小於等於(或大於等於)C的值,若 P恆大於等於C則為max heap,若小於等於則為min heap Heap類型 Binomial Heap Max Heap Min Heap Fibonacci Heap Binomial Heap: 為Binomial Trees帶有heap的性質。 樹 名詞 node edge root height of node depth of node height of tree degree of a Node 樹種 general tree binary search tree binary tree 线段树(segment tree) 区间树(interval tree) 樹的操作 Tree rotation insert delete search 平衡樹 AVL tree Treap Splay tree Red–black tree Weight balanced tree 2-3 tree 2-3-4 tree AA tree scapegoat tree B tree B+ tree B* tree 圖 圖種類 連通圖 無向圖 有向圖

檢測網站效能、 安全性

圖片
page speed insights https://developers.google.com/speed/pagespeed/insights/ Google lighthouse & Google performance 網站header檢測 https://securityheaders.com/ 完整網站安全檢測 https://www.ssllabs.com/ssltest/ TLS檢測 https://gf.dev/tls-test SSL Checker https://www.sslshopper.com/ssl-checker.html Mozilla Observatory https://observatory.mozilla.org/