Go,七年後

開始接觸 Go 到現在也已經過了 7 年了啊… 最近又有機會拿出 Go 出來寫寫,隨手寫一下感受。

» Read More


為什麼現代遊戲都要有一堆不同的貨幣在裡頭?

image

» Read More


Analyze Streaming Data with Rust, Actix, and Lua

actix-lua provides a safe scripting environment for the actix framework with the Lua Programming Language.

Here’s an example about what you can achieve with it. Hope you can try these ideas in your next project.

» Read More


我選擇生產力工具的基準

先說結論,我用 OmniFocus 用了五年以上了,目前依然滿意。

» Read More


如何整合 Rust 與 Lua

image

Photo by Anders Jildén on Unsplash

在系統中遷入一個動態輕巧的 scripting language 一直是個常見的設計。像 Rust 這樣的系統語言,雖然效能好,但是上手門檻較高。這時若是能遷入一個像 Lua 一樣動態型別,簡單易懂的語言,便能大幅提高系統彈性。

最近為了實做 actix-lua,研究了一下 Rust 跟 Lua 之間的介接,順便學了不少 Rust 跟 Lua 的設計,筆記在此。

» Read More


軟體設計模式 — Data-Oriented Design

image

Photo by Rebecca Oliver on Unsplash

遊戲開發對很多開發者來說是個陌生的領域。遊戲對於效能的極高要求跟規格的不確定性,產生出了許多特有的系統架構。Data-Oriented Design 便是個有趣的設計模式。

相較於其他設計模式,Data-Oriented Design 深受硬體快取(cache)架構影響。對於現代的高度 pipeline、高速的 CPU 架構而言,資料的存取方式對效能有非常大的影響。比起 L1、L2 cache,對主記憶體的一次存取帶來的是數百倍的效能損耗。為了避免太過抽象,就用個實際的例子來解釋吧。

» Read More


LuaJIT 實做探索 — NaN Tagging

image

一切都是為了效能

故事要從 boxed value 跟 unboxed value 說起。

» Read More


遺忘的生產力

人們談到生產力,似乎就免不了討論各種蒐集想法、整理心得的工具。彷彿忘了的東西都是一種損失。

與其努力記下所有事情,不如試試盡情遺忘吧。

» Read More


Why Serverless

本文擷取、修訂自 2018.03.29 我在 iThome Serverless All-Star 的分享的逐字稿


究竟為什麼要用 Serverless 呢?

» Read More


Kappa Architecture:以資料為中心的系統架構

在開發軟體時,有許多眾所周知的架構模式(architecture pattern)可做為參考。例如最廣為人知的 MVC 架構。採用這些常用模式,能大幅減低溝通成本,各種 Framework 也能提高開發速度。

現在已經是個以資料為中心的環境,各種商業決策都依賴大量的資料。因此,系統必須能提供各種資料格式與查詢方式供各種需求使用。在這樣的環境中,也慢慢發展出許多特有的模式。

» Read More