第 89 期 - 微解封後,也要繼續手手勤洗洗,病毒遠離你喔!
本週專欄
淺談 Shamir 私鑰分割演算法:切一切再拼回來
大家好我是 Larry,這週的專欄要跟大家分享一個很有趣的密碼學演算法 - Shamir’s Secret Sharing,他可以用來把 secret 分割成 n 份,並且你只需要其中 k 份就可以重組回來,這代表你可以把真的很重要的 secret 分散存在許多不同的地方,也就可以大幅降低被洩露出去的風險。重點是這個演算法只需要國中的數學,所以還不趕快進來看看嗎~
資訊安全
利用 Cookie 特性進行的 DoS 攻擊:Cookie 炸彈
雖然知道大部分伺服器會因為 payload 太大而拒絕請求,但想不到這個特性可以搭配 cookie bomb 用來進行 DOS 攻擊,只能說資安這領域真是太有趣了~
為什麼忘記密碼時只能重設,不把舊密碼告訴我?
對啊為什麼不把舊密碼告訴我,三不五時在那邊重設不是很麻煩嗎?其實是因為網站根本不會儲存你的原始密碼,那不存密碼有什麼好處呢?看完這篇文章就會知道啦
一次搞懂密碼學中的三兄弟 — Encode、Encrypt 跟 Hash
想要學習密碼學,一定要先把編碼、加密跟雜湊三個東西搞清楚,所以在這邊我(自肥)推薦這篇自己的文章,把這三個概念搞懂之後再去看其他更深入的文章才不會越看越亂
前端開發
JavaScript: Template Literals & Tag Functions for Beginners
這個真的太有趣了,最近在看一些奇怪的 JavaScript 寫法時發現了這個 function call 的寫法,但其實也是自己見識太淺薄才不知道原來可以這樣寫,簡單來說就是利用 template literals 的方式進行 function call,讀者不妨也可以試著將自己的程式碼改寫成這樣,就能完美的達到 ninja code 的精神了(X
jsfuck
我真的是太晚才知道這個網站了XD 沒想到 JavaScript 有這麼多奇奇怪怪的技巧可以達到一樣的事情,這資訊量大到讓我很難一時之間可以接受,有興趣的讀者不妨來看一下一些有趣的寫法,看完之後我只能說我自己實在是太不懂 JavaScript 了XD
10 GitHub repositories to become a better JavaScript Developer
想要成為一個更進步的 JavaScript 開發者,有很多小細節是必須要學會的,這篇文章提供了 10 種可以幫助自己在 JavaScript 的開發上更進步的文件,想要更了解一些大神們的寫法不妨可以把這些 repo 都收藏起來了。
How to Sort Array Elements: An Essential Guide
排序是指對一堆資料進行有意義的排列過程,在文章中就是介紹 JavaScript 對 Array 排序的各種方法,包含以常見的數字(0-9)、字母(A-Z 的字典排序)等等排序,也展示了實務上最常拿到的裝著 Object 的 Array 做排序的例子。
Is everything in JavaScript an Object?
「在 JavaScript 裡的一切都是物件嗎?」,作者先是直接宣告一個 String,再用 new String 建立另外一個 String Object,並解釋兩者之間的差別,這對於為什麼一般的 String 可以像 Object 一樣使用 Prototype 上的功能,但當你直接對它的屬性賦值時卻又沒有任何效用。
【学不动了就回家喂猪】尤大大新活 petite-vue 尝鲜
petite-vue,提供了和 Vue 相似的開發思維和語法,且 petite-vue 不只是更輕量化的 Vue,在 petite-vue 的 README.md 中,作者還特別強調 petite-vue 是在使用像 Progressive Enhancement 特定情況時的最佳實踐!
DevOps
New Google Scorecards Tool Scans Open-Source Software for More Security Risks
Google 推出了新版的 Scorecards,他是一個可以針對開源軟體專案自動產生出風險分數的自動安全工具,其實不僅在編譯階段,甚至在 Dockerfiles 或是 CI/CD 的工作流程中,將任何擁有相依套件地方的版本固定都是很有用的做法,Scorecards 可以針對這些固定版的的相依套件去做檢查,用以避免類似於最近 CodeCov 的惡意相依性攻擊
Google 同時指出從大量被分析的開源專案中可以發現到,其中很多專案並沒有持續進行模糊測試,而且也沒有定義提報安全漏洞的規範,甚至沒有去固定相依套件的版本,所以除了這些關鍵的開源專案需要透過改善來加強安全性之外,大家也必須要提高對於資安風險的危機意識
Localstack with Terraform and Docker for running AWS locally
一般來說使用 IaC 工具 Terraform 來管理 AWS 資源時,執行 ~$ terraform apply
之後,就會在 AWS 上建立出對應的雲端資源,那有沒有辦法在本地端做出假的 AWS 資源呢?答案是可以的!利用 Localstack 這個工具,並且在 Terraform AWS Provider 的 endpoints 中指定不同 AWS 服務到本地端點,就可以利用 Localstack 在本地端建立出假造的 AWS 雲端資源,這篇文章便是舉例使用此種方式來讓程式可以在本地端做完測試,而不用真的在 AWS 上建立一堆服務,算是個省時間又省錢的做法!
Difftastic
Difftastic 是一個可以根據程式語法來讓檔案做解構性比較的工具 (目前還在實驗階段中),Parsing 檔案的靈感主要來自於 Comby,所以可以用來處理多種程式語言,而在 Diffing 的部分是根據 Autochrome 專案 來實作,因為 Difftastic 將 diff 當作是圖像搜尋問題,它利用 Dijkstra 演算法來找出最小的 diff,而 Printing 出檔案比較的結果則可以參考範例圖片,感覺完成之後應該是個不賴的程式語言比較工具
StarBugs Weekly
StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!
Writers:
- @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
- @Kyle老莫 - 無法忍受自己一天不進步的熱血社會菜雞。
- @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
- @Jenny - 我不寫 CSS。
Curators:
- @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。
Maintainers:
- @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
- @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
- @LukaTW - 一名全身都是死角的工程師。
- @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
Feedback
本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。