技術與投資分享
  • 分佈式ID - Snowflake

    今天要跟大家介紹如果在分布式的系統上,我們要如何產生系統的唯一 ID 呢? 目前常見的幾個方式: 使用 UUID 使用資料庫控制 實作 Snowflake UUID 由於不具可讀性,無法有序排序且過長,而資料庫控制的瓶頸很容易會卡在資料庫上。 因次今天要大家介紹的方法是 ...

  • Google Authenticator實作

    今天要跟大家介紹一個2階段驗證的解決方案 Google Authenticator 。 在開始之前,我們可能要先跟大家介紹兩個專有名詞,分別是 OTP 與 TOTP 。 OTP 是什麼呢?事實上在我們的生活中最常見的使用場景就是『信用卡交易』,我們在進行信用卡交易時會收到一個簡...

  • Spring Security - Oauth2

    今天要跟大家介紹 Spring Security Oauth2 ,前一章跟大家介紹的 Spring Security - 土炮法 ,在實作的時候就發現,難道 Spring Security 沒有提供標準的 token 做法嗎?登入換取 token , token 到期須更新新的 token ,難道...

  • Spring Security - 土炮法

    今天想要跟大家介紹的是 Spring Security ,在介紹之前,我們需要先知道,目前的程式的主流架構已經都是採用前後端分離的架構,當採用了前後端分離的架構時,後續衍生的『身份認證』就變成一個重要的課題了。 今天要跟大家講的是使用無狀態的 jwt 機制。詳細的 jwt 介紹大家可以參考 W...

  • Jasypt 教學

    我們的系統難免都會有一些重要的個資訊息,儘管我們會將重要的個人訊息,如:登入的密碼…等資訊進行加密並儲存在資料庫中,但是若沒有警慎處理,還是可以被有心人士取得。 而在整個產品上線的過程中,會有主要三種角色參與,分別是 工程師 、 操作人員 與 管理人員 。 另外,需要正確的解開密碼也需要三個要...

  • Spring Boot Admin 微服務監控系統

    當所有的系統都要跟分散式或微服務掛上關係時,我們又需要如何在 production 中管理我們的 micro service 呢?今天想跟大家介紹一個微服務的監控系統 Spring Boot Admin ,由於都已經整合到 spring boot 中了,因此添加方式也非常的簡單,請大家跟著我的步驟...