思元的開發筆記

關於 web service, unity, blogger 等軟體工程筆記

Unity 遊戲存檔機制淺談,加密 (Encryption) 保護遊戲存檔防作弊

延續在 前一篇文章 中的議題。 前題,任何的加密機制只是增加破解難度,單機遊戲存檔若沒有特殊硬體的保護,幾乎都可以被破解,光是程式碼反編譯 (decompiling) 並且分析程式碼,便能知道該遊戲如何處理存檔加密,甚至能直接拿到加密用的金鑰 (key)。

Unity 遊戲存檔機制淺談,關於壓縮 (Compression) 的三兩事

延續在 前一篇文章 中的議題,在遊戲存檔進行壓縮 (compress) 後儲存,可減少其儲存所需空間,之後讀取先經過解壓縮 (decompress) 後,再反序列化 (deserialize) 還原成遊戲狀態物件來使用。

Unity 遊戲存檔機制淺談,從序列化 (Serialization) 到儲存裝置 (Storage)

之前在社團看到的有趣問題,因此綜合以前的開發經驗,整理成這份筆記。

Unity rendering order 整理筆記

自從上次 GameJam 體驗在 Unity 中,使用 SpriteRenderer 可直接調整 Sorting layer 來決定 render 順序後,便一直很好奇其背後實作到底是什麼,為什麼改變一個數值便能調整 sprites 在 render 結果的先後順序,而不...

AWS Beanstalk: 日誌 Logs 推送到 CloudWatch 之設定筆記

參考 Reference 章節的 AWS 文件,紀錄如何將部署 在 AWS Beanstalk 的服務所產生的日誌 (logs),設定 CloudWatch Logs agent 來自動推送至 CloudWatch,而不用每次發生問題得自己花時間去撈 logs……。 ...

CentOS 7 環境安裝筆記,GUI/gcc/g++/Code::blocks/Go 完整的 Go/Cgo 開發環境

整理之前在 Linux 建立 Go/Cgo 開發環境的安裝筆記。

HTTP TimeoutHandler 所踩到的雷與解決方式,需要額外判斷 Request.Context() 的狀態

最近遇到在 HTTP 伺服器壓力測試時遇到棘手的問題,從 nginx logs 發現伺服器回應許多 HTTP 503 service unavailable 的錯誤,一路追蹤最終發現是程式碼實作錯誤,記錄其筆記提醒自己不要忘記這個雷。

Go build 建置時加入時間 (build time) 與版本號 (git commit id)

因應合作廠商需求,希望我們這邊提供網路服務 (web service) 的執行檔 (executable),能透過某些方法知道其版本號或是建置時間等資訊,以協助其 IT 人員部署 (deployment) 時使用。

Go with Cgo 靜態連結 (static linking) 函式庫建置範例與筆記

延續上一篇 Go with Cgo 動態連結 的文章,由於部署 (deployment) 需求的改變,合作廠商 IT 運維技術人員 (Ops) 對於 Linux 的不熟悉,期望部署不需要管理那些動態連結 (dynamic linking) 函式庫,因而開始研究改用靜態連...

Go with Cgo 動態連結 (dynamic linking) 函式庫建置範例與筆記

在 上一篇文章 中,已經知道如何在 Windows 中,利用 gcc/g++ 建置動態連結函式庫 (dynamic-link library),本篇文章筆記如何在 Go (Golang) 中,利用 cgo 來動態連結函式庫,呼叫使用其函式。