为什么需要双重因子验证(2FA)?
随着越来越多的软体推广与强制双重因子验证 2FA,我的手机也装上了 Google Authenticator,但老实说,很长一段时间我只知道「打开 App → 输入六位数字」,对于这组数字为什么会一直变、伺服器又是怎么验证的,其实没有真正了解过。直到最近在测试一些相关登入逻辑才回来补齐这块知识。
随着越来越多的软体推广与强制双重因子验证 2FA,我的手机也装上了 Google Authenticator,但老实说,很长一段时间我只知道「打开 App → 输入六位数字」,对于这组数字为什么会一直变、伺服器又是怎么验证的,其实没有真正了解过。直到最近在测试一些相关登入逻辑才回来补齐这块知识。
隨著越來越多的軟體推廣與強制雙重因子驗證 2FA,我的手機也裝上了 Google Authenticator,但老實說,很長一段時間我只知道「打開 App → 輸入六位數字」,對於這組數字為什麼會一直變、伺服器又是怎麼驗證的,其實沒有真正了解過。直到最近在測試一些相關登入邏輯才回來補齊這塊知識。
前端測試一直存在龐大的需求,但具體討論如何實戰中建構合理測試體制的討論文章卻不多,隨著社群工具成熟與不同的嘗試下我摸索出一套實戰可採用的方式替團隊建構設施。這篇文章參雜主觀意見與特定的上下文,主要統整近期在工作中的經驗選擇某項解決方案之前必須知道自己選擇的原因以及未來的走向,有太多已經被淘汰的技術與陳舊代碼。
I always relying on convenient libraries like: dayjs for date conversion. This article aims to clarify the knowledge necessary for handling time in programming.
我一直对程式中日期存在个模糊不可靠的概念,通常依靠方便的库像是:dayjs 去处理日期转换,但底层的原理至今仍不是很清楚,只知道时间是相对的,且存储方式可能是某种标准格式,这篇文章将尽可能补全程式处理时间所需要的知识。关于时区的规则与电脑运算存储时间的概念。
我一直對程式中日期存在個模糊不可靠的概念,通常依靠方便的庫像是:dayjs 去處理日期轉換,但底層的原理至今仍不是很清楚,只知道時間是相對的,且存儲方式可能是某種標準格式,這篇文章將盡可能補全程式處理時間所需要的知識。關於時區的規則與電腦運算存儲時間的概念。
I found a simple explanatory video: You're Storing Passwords Wrong. Here's The Fix - LearnThatStack, so I will record knowledge related to password storage.
虽然之前制作过一个笔记网站有建构用户注册的部份:my-note,但没有笔记下来发现忘了很多概念,碰巧看到我看过最简单好懂的解说影片:You're Storing Passwords Wrong. Here's The Fix - LearnThatStack,把密码保存相关的知识都纪录一下。
雖然之前製作過一個筆記網站有建構用戶註冊的部份:my-note,但沒有筆記下來發現忘了很多概念,碰巧看到我看過最簡單好懂的解說影片:You're Storing Passwords Wrong. Here's The Fix - LearnThatStack,把密碼保存相關的知識都紀錄一下。
I realized that I don't fully understand how strings work in Go. Explored documentation to understand the history and evolution of text encoding.
近期在 Go 处理字串时发现对于电脑处理文字的原理不是很透彻,所以翻了更多教学文件了解电脑是如何处理文字的。历史上电脑如何处理文字?以及后续 ASCII、Unicode、UTF-8、UTF-16 相关演进特点与背后取舍,了解为什么现代文字编码都使用 UTF-8。
近期在 Go 處理字串時發現對於電腦處理文字的原理不是很透徹,所以翻了更多教學文件了解電腦是如何處理文字的。歷史上電腦如何處理文字?以及後續 ASCII、Unicode、UTF-8、UTF-16 相關演進特點與背後取捨,了解為什麼現代文字編碼都使用 UTF-8。
When indexing position `n` in a Go string, why isn't the `n`th character returned? In Go, you get a "Rune"; direct indexing gets you a byte.
当在 Go 字串中索引位置 `n` 时,为什么没有得到第 `n` 个字元?相较于其他程式语言一串文字在遍历时会预期拿到单一个字符,在 Go 会拿到「Rune」;如果直接透过索引取得 string 内容会拿到 byte。透过实际解 Codewars 题目了解处理字串要留意的东西
當在 Go 字串中索引位置 `n` 時,為什麼沒有得到第 `n` 個字元?相較於其他程式語言一串文字在遍歷時會預期拿到單一個字符,在 Go 會拿到「Rune」;如果直接透過索引取得 string 內容會拿到 byte。透過實際解 Codewars 題目了解處理字串要留意的東西