MQTT 的 client 和 通訊服務(telemetry service) 之間會維護一份他們兩者間通信期(session)狀態的資訊。這份狀態資訊是用來確保 MQTT 三種訊息傳輸時所選的 QoS (Quality of Service),分別是 :
這系列是翻譯自IOTA Foudation 的基本教學文章 The Tangle: an Illustrated…
就像其他許多區塊鏈產業的點子一樣,人們也對「智能合約」抱著無比的疑惑。智能合約這個名詞誤導了人們對於智能合約合約核心運作模式的理解,因此這個透過區塊鏈達成的技術讓人們不是很好理解。
在閱讀編輯器最佳化介紹文章的時候,其中有一段介紹到如何最佳化除法。
因為 bitwise 的位移的速度和乘法的速度會遠小於除法的速度,所以若是能把除法轉換為乘法和位移的組合,就可以在某種程度上加速除法運算的數度。
因此在文章中發現了一段神秘的數學:
除以 3 的話,因為 除法比乘法慢非常非常多,所以編譯器會把 x / 3 改成 (x * 2863311531) >> 33
x / 3
(x * 2863311531) >> 33
身為一個出社會就一直寫 C 的程式碼生物,switch case 在 C 裡面可以編譯成 jump table (轉移表) 算是個不可或缺的小知識。Jump table 可以有效的讓程式跑得更快,以常數時間去執行不同 condition 的分支,並避免 branch prediction 預測錯誤所造成的 penalty。
在網路上看到有人用這篇文去質疑IOTA,因為本人是有曾經投入貢獻IOTA…
在學會無加權隨機漫步( unweighted random walk)後,接下來要介紹他的進階進化版加權隨機漫步( weighted random walk)。
string 在 Go 裡面是一個唯讀的物件,並且等同 bytes 所構成的 slice。因為本質上是 bytes 所以裡面是用什麼編碼 (UTF-8 或 Unicode) 都沒有關係。
當 debug 的時候需要確定 string 內容有沒有問題的時候,Go 提供了不少有趣的有工具。我們可以透過格式化輸出 fmt.Printf 的不同格式化參數得到不同的結果。
fmt.Printf
在上一篇文章我們有提到,當Alice 多次花費或者多次廣播交易時會造成雙重花費的問題。在本文,也是本系列最後一篇教學文,我們會介紹在tangle 上會如何解決這個問題,還有如何片段哪一個交易歷史才適合的交易歷史。
These were the top 10 stories published by BurgerMiner; you can also dive into yearly archives: 2018, 2019, 2020, 2021, and 2022.