Toggle navigation
Search
思元的開發筆記
Programming
Unity
LeetCode
Golang
Game Demos
Archive
Blog
About
思元的開發筆記
關於 web service, unity, blogger 等軟體工程筆記
×
Search dev.twsiyuan.com
使用 Lighthouse 來檢查網站設定,為了更好的 SEO 以及瀏覽體驗
從新聞得知有這個工具,GoogleChrome Lighthouse 是一套開源自動化工具,用來協助檢查網站 (Website) 或是網路應用程式 (Web App) 的質量 (quality),從讀取效能 (performance)、網頁親和力 (accessibil...
Read More
王思元
11:26 上午
網站
C# 回傳內部資料集合的幾種方式,考慮封裝與設計需求
Game Jam 活動 上遇到的有趣問題,如何設計回傳資料集合 (data collection) 的函式 (function)?筆記以下幾種方式,範例採用背包類別 (ItemBag class),要將其類別的內部道具資料,暴露給其他類別使用。 附註:System.Co...
Read More
王思元
8:22 下午
程式語言
,
C-sharp
LeetCode #84 Largest Rectangle in Histogram
Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of larges...
Read More
王思元
6:30 下午
題目解題
,
LeetCode
Unity C# 遊戲事件訊息通知機制設計 - Observer pattern
前陣子同事分享去資策會 Design pattern 課程所學,聽到 Observer pattern (觀察者模式) 的介紹,感覺這比較是 C++ 老派的實作方式,不一定適用於 C#,因此在此寫此筆記記錄。
Read More
王思元
8:41 下午
程式語言
,
C-sharp
,
Unity
如何設定 Linux 使用 SSH Key-based 登入驗證方式,使用 PuTTY 登入 Linux 伺服器
最近公司架台內部使用的 Linux 機器,原先是輸入 MIS 所設定的帳號密碼登入,但保管帳號密碼顯得有點難以記憶,因此想到可以使用公開金鑰認證 (Public Key Authentication) 方式,不用輸入密碼而是提供私密金鑰來進行登入。
Read More
王思元
6:14 下午
Linux
AWS Beanstalk: Cannot open shared object file and ldconfig
持續的 Beanstalk 部屬筆記,最近部屬的 Go web application,使用到 cgo 動態連結其他函數庫 (shared library) 的函數,在執行階段發生找不到函數庫的錯誤:
Read More
王思元
6:39 下午
服務部署
,
AWS
,
Linux
AWS Beanstalk: Configuring the proxy server - Keepalive connection with backend app
無意間在檢查應用服務時,所發現的 nginx 設定問題,每次與 nginx 連線要求時,nginx 都會另外開一個連線來處理與後端伺服器 (backend app) 的資料交換。目前專案服務採用 source bundle 方式在 Beanstalk 平台部屬 (dep...
Read More
王思元
6:15 下午
服務部署
,
AWS
,
nginx
AWS Beanstalk: HTTP 502 Upstream sent too big header while reading response header from upstream
最近檢查即將上線的服務,發現主要服務經常發生 HTTP 500 的錯誤,從 logs 中確認是其中某個 REST 微服務回應 HTTP 502 Bad Gateway 所導致的,因而從中翻翻閱該微服務的全部 logs,並找到出錯原因以及解決方法。
Read More
王思元
6:30 下午
服務部署
,
AWS
,
nginx
Unity C# Interface, Inheritance and Component:以狀態血量設計為例
最近同事分享之前受訓所學的 Design patterns,加上看到社群有人詢問血量設計問題,因此整理關於在 Unity 中,設計血量系統的可能實作方法。 不得不說,剛從學校畢業開始接觸 Unity 時,最優先採用的是類別繼承 (class inheritance),...
Read More
王思元
1:16 下午
軟體工程
,
C-sharp
,
Unity
Unity C# Inheritance vs Composition 繼承與組件式設計之戰鬥系統經驗談
基於一些機緣而回憶之前身為初心者所掉過的坑,到底應該是使用繼承 (Inheritance) 抑或是組合 (Composition) 方式來設計遊戲中的戰鬥系統,哪一種比較適合 持續變動的遊戲開發 ?
Read More
王思元
11:15 下午
軟體工程
,
Unity
較新的文章
較舊的文章
粉絲專頁
本週熱門
網誌存檔
贊助廣告
粉絲專頁
每周熱門
Unity rendering order 整理筆記
自從上次 GameJam 體驗在 Unity 中,使用 SpriteRenderer 可直接調整 Sorting layer 來決定 render 順序後,便一直很好奇其背後實作到底是什麼,為什麼改變一個數值便能調整 sprites 在 render 結果的先後順序,而不...
CentOS 7 環境安裝筆記,GUI/gcc/g++/Code::blocks/Go 完整的 Go/Cgo 開發環境
整理之前在 Linux 建立 Go/Cgo 開發環境的安裝筆記。
HTTP TimeoutHandler 所踩到的雷與解決方式,需要額外判斷 Request.Context() 的狀態
最近遇到在 HTTP 伺服器壓力測試時遇到棘手的問題,從 nginx logs 發現伺服器回應許多 HTTP 503 service unavailable 的錯誤,一路追蹤最終發現是程式碼實作錯誤,記錄其筆記提醒自己不要忘記這個雷。
C# Array operations in Unity
Array 整理一下 C# Array(陣列)的筆記,紀錄對陣列常用的操作。 結論:若需要使用程式對 Array 進行大量的資料操作,請改用 List。 範例都以以下程式碼為基礎,在 Start 撰寫以下的展示程式碼。請注意引用到 UnityEditor,請留意發佈的編譯...
C++ Library callback using C# in Unity and cross thread call
由社團文章討論所做的測試,主要是有人詢問,在外部 C++ library callback 函數中,呼叫 StartCoroutine 而導致錯誤訊息 StartCoroutine can only be called from the main thread。這明顯是一個跨執...
Unity 遊戲存檔機制淺談,加密 (Encryption) 保護遊戲存檔防作弊
延續在 前一篇文章 中的議題。 前題,任何的加密機制只是增加破解難度,單機遊戲存檔若沒有特殊硬體的保護,幾乎都可以被破解,光是程式碼反編譯 (decompiling) 並且分析程式碼,便能知道該遊戲如何處理存檔加密,甚至能直接拿到加密用的金鑰 (key)。
AWS Beanstalk: 日誌 Logs 推送到 CloudWatch 之設定筆記
參考 Reference 章節的 AWS 文件,紀錄如何將部署 在 AWS Beanstalk 的服務所產生的日誌 (logs),設定 CloudWatch Logs agent 來自動推送至 CloudWatch,而不用每次發生問題得自己花時間去撈 logs……。 ...
Unity Debug Case
這篇起因來自於 Facebook 遊戲開發者社團的 這篇求助文 。 先搞清楚作者在問什麼吧 這是錯誤訊息,導致我無法鍵入 1234 去改變動畫的動作,我應該怎麼排解呢? 錯誤?經過這麼多年寫程式經驗,對於錯誤這關鍵字太敏感了,第一個冒出的想法疑問是「是什麼錯誤?」「有沒...
Unity5 Editor ReorderableList
ReorderableList 整理使用 Unity ReorderableList 筆記,希望以後有範本可以直接複製貼上,不用每次都要重新找文章,依樣畫葫蘆重做一次。 // Path: /Scripts/ShopMenu.cs using UnityEngine; ...
Unity Platformer 2D: Ragdoll
持續 上一篇的練習 。 想按照之前在 3D 製作 ragdoll(布娃娃)的方法,在 2D 如法炮製建立 ragdoll,當角色死亡時,切換角色成 ragdoll,讓物理模擬演出死亡動態。 結論,因參數設計不良,做出來的效果表現 沒有達到預期的那樣好 ,且不預期奇怪的情況也...
網誌存檔
▼
2018
( 27 )
▼
10月
( 1 )
Github SSH 連線設定,確保 Mac SourceTree 正常運作
►
9月
( 1 )
►
8月
( 1 )
►
6月
( 3 )
►
5月
( 5 )
►
4月
( 4 )
►
3月
( 1 )
►
2月
( 6 )
►
1月
( 5 )
►
2017
( 59 )
►
12月
( 4 )
►
11月
( 3 )
►
10月
( 6 )
►
9月
( 5 )
►
8月
( 5 )
►
7月
( 5 )
►
6月
( 5 )
►
5月
( 4 )
►
4月
( 5 )
►
3月
( 8 )
►
2月
( 6 )
►
1月
( 3 )
►
2016
( 44 )
►
12月
( 3 )
►
11月
( 2 )
►
10月
( 6 )
►
9月
( 4 )
►
8月
( 5 )
►
7月
( 4 )
►
6月
( 4 )
►
5月
( 2 )
►
4月
( 2 )
►
3月
( 3 )
►
2月
( 6 )
►
1月
( 3 )
►
2015
( 1 )
►
12月
( 1 )
贊助廣告