Effective Java Item29 優先使用泛型

整理Effective Java書中Item 29: Favor generic types心得筆記

主旨

本篇就是實際教你怎麼完成泛型的教學

範例

Read more

Effective Java Item28 選擇lists優於arrays

整理Effective Java書中Item 28: Prefer lists to arrays心得筆記

主旨

提出使用lists優於arrays的部分。

點出問題

主要分成兩個重點

Read more

Effective Java Item27 消除unchecked警告

整理Effective Java書中Item 27: Eliminate unchecked warnings心得筆記

主旨

盡可能的改正消除提示的unchecked警告以提升程式碼品質。

點出問題

很多人會慣性忽略提示的黃色警告訊息(包括我自己),早期當你在使用泛型時候可能會這樣使用。

Read more

Effective Java Item26 不要使用原型類型

整理Effective Java書中Item 26: Don’t use raw types心得筆記

主旨

直接了當的說不要直接使用原型類型,如果使用原型類型就失去了泛型的安全性以及優勢。

點出問題

在泛型出現之前,我們會這樣使用如下:

Read more

虛擬貨幣交易所架構設計-以太坊erc20歸集交易篇

前言

以以太坊(ethereum)為例,當你註冊交易所成為會員,交易所會分配一組地址讓你做充值,其中不管你是充值以太幣(ETH)或是erc20 token的USDT都是相同的地址,也代表交易所會生成大量的以太坊地址提供給會員,如果有100個會員充值都充值USDT,交易所就會有100個地址都有零碎的USDT,本篇就是將這些零碎地址的USDT都收集到同一個錢包地址。

方法1 HD Wallet分層確定性(Hierarchical Deterministic)錢包

交易所這裡使用一組Seed生成root key,再進一步生成大量sub key和地址供會員充值使用,也就是會員的充值地址是一個普通的地址,會員充值USDT後交易所若要將其轉出,這時候會遇到一個問題,該地址內沒有任何以太幣可以付手續費將USDT轉出,所以必須先轉入少量的以太幣能夠支付手續費,使得會員地址裡面的USDT得以轉出,這是一個常見的做法。

Read more