思元的開發筆記

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

Senior Unity Developer 面試題目分享

分享前陣子尋找新機會所遇到的 Unity 考題 ,十分有水準與微難度,事後回想並整理成此問題筆記。關於該機會的綜合心得放置在文章頁尾。

Go Reader Pattern 設計與實作

最近在寫小專案所遇到的設計問題,其中一個目標是從檔案中讀取英文單字 (word),並且將其轉換成英文小寫,因此記錄如何在 Golang 設計此機制,並且不斷改進寫了三個版本,並撰寫額外的測試程式碼 (testing code) 進行驗證。

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) 時使用。