Toggle navigation
Search
思元的開發筆記
Programming
Unity
LeetCode
Golang
Game Demos
Archive
Blog
About
思元的開發筆記
關於 web service, unity, blogger 等軟體工程筆記
×
Search dev.twsiyuan.com
顯示具有
程式語言
標籤的文章。
顯示所有文章
Go Reader Pattern 設計與實作
最近在寫小專案所遇到的設計問題,其中一個目標是從檔案中讀取英文單字 (word),並且將其轉換成英文小寫,因此記錄如何在 Golang 設計此機制,並且不斷改進寫了三個版本,並撰寫額外的測試程式碼 (testing code) 進行驗證。
Read More
王思元
2:29 上午
程式語言
,
Golang
HTTP TimeoutHandler 所踩到的雷與解決方式,需要額外判斷 Request.Context() 的狀態
最近遇到在 HTTP 伺服器壓力測試時遇到棘手的問題,從 nginx logs 發現伺服器回應許多 HTTP 503 service unavailable 的錯誤,一路追蹤最終發現是程式碼實作錯誤,記錄其筆記提醒自己不要忘記這個雷。
Read More
王思元
12:30 上午
軟體開發
,
程式語言
,
Golang
Go with Cgo 靜態連結 (static linking) 函式庫建置範例與筆記
延續上一篇 Go with Cgo 動態連結 的文章,由於部署 (deployment) 需求的改變,合作廠商 IT 運維技術人員 (Ops) 對於 Linux 的不熟悉,期望部署不需要管理那些動態連結 (dynamic linking) 函式庫,因而開始研究改用靜態連...
Read More
王思元
6:51 下午
程式語言
,
C-plus-plus
,
Golang
Go with Cgo 動態連結 (dynamic linking) 函式庫建置範例與筆記
在 上一篇文章 中,已經知道如何在 Windows 中,利用 gcc/g++ 建置動態連結函式庫 (dynamic-link library),本篇文章筆記如何在 Go (Golang) 中,利用 cgo 來動態連結函式庫,呼叫使用其函式。
Read More
王思元
6:30 下午
程式語言
,
C-plus-plus
,
Golang
C# 回傳內部資料集合的幾種方式,考慮封裝與設計需求
Game Jam 活動 上遇到的有趣問題,如何設計回傳資料集合 (data collection) 的函式 (function)?筆記以下幾種方式,範例採用背包類別 (ItemBag class),要將其類別的內部道具資料,暴露給其他類別使用。 附註:System.Co...
Read More
王思元
8:22 下午
程式語言
,
C-sharp
Unity C# 遊戲事件訊息通知機制設計 - Observer pattern
前陣子同事分享去資策會 Design pattern 課程所學,聽到 Observer pattern (觀察者模式) 的介紹,感覺這比較是 C++ 老派的實作方式,不一定適用於 C#,因此在此寫此筆記記錄。
Read More
王思元
8:41 下午
程式語言
,
C-sharp
,
Unity
Unity AssetBundle 資料列表載入以及打包架構思考,使用 Pokémon 作為範例
最近社群有看到有人詢問,關於如何在 Unity 中,設計敵人列表的 AssetBundle 資源加載架構設計,例如之前釋出一版本包含敵人 A, B, 以及 C 種類,在之後又追加敵人 D 以及 E 的資料,要如何處理這多出來的資源載入,使得原先的資源可以不用重新下載,只需要...
Read More
王思元
11:12 下午
程式語言
,
C-sharp
,
Unity
Unity 根據美術需求客製化 Sprite shader,基於官方 shader 開始改起
在社群中看到有人詢問 2D 遊戲上的特殊效果如何製作,從需求中得知這種要求,能直接改 shader 是最快了,畢竟 shader 可以決定每一個 Pixel 最終呈現顏色的可程式化著色器 (Programmable shader) 呢。因此就好奇跟作者 Leo Wang...
Read More
王思元
9:00 上午
程式語言
,
Shader
,
Unity
Golang Iterator Channel Implementation
這是一個關於 Go 的程式研究紀錄筆記,原先設計一個迭代器的操作模式 (Iterator pattern):
Read More
王思元
8:30 上午
程式語言
,
Golang
Unity AssetBundle 快取機制與載入範例
前陣子看到有人詢問關於 AssetBundle 載入以及其快取機制 (caching) 的處理問題,因此整理這篇筆記,供之後給團隊解說與教學之用。
Read More
王思元
9:30 下午
程式語言
,
C-sharp
,
Unity
Unity Prefabs 之使用方式筆記
Prefab (預製物件) 是在 Unity 中經常被使用的機制之一,能將 GameObject 以及其 Components 的屬性狀態儲存為單一個 Asset。當 Prefab 屬性調整時,Unity 能夠自動更新放置在場景 (Scenes) 中的實體物件 (Prefa...
Read More
王思元
10:13 下午
程式語言
,
C-sharp
,
Unity
Unity 載入外部檔案機制之整理筆記
最近看到社團一些詢問 Unity 載入外部設定檔的問題,因此整理若要在 Unity 中實作外部載入的功能,有哪些機制可以使用以及比較。
Read More
王思元
9:40 下午
程式語言
,
C-sharp
,
Unity
Accupass 瀏覽擴充功能,使用 Javascript + TamperMonkey 自製自動加載頁面
提示:發佈文章前發現其網站改版,以下腳本是針對 舊版本的活動瀏覽 Accupass 活動通,是一個集結各式活動並販售活動票券網站(亦可參考另一個同類型的網站 KKTIX ),自己蠻常在活動通上瀏覽活動,讓自己的下班生活能夠多點變化,接觸職場沒機會接觸的議題與活動。...
Read More
王思元
9:56 下午
程式語言
,
JavaScript
Evernote to Blogger,第一次在 Golang 聚會中分享個人專案
What is this Evernote to Blogger 是一個自己的個人專案,主要是要解決自己的發佈文章的痛點,串接 Evernote 以及 Blogger APIs,使得發佈文章流程更能簡化的專案。
Read More
王思元
10:30 下午
活動
,
程式語言
,
Golang
使用 Golang 串接 Google Blogger API,張貼文章與上傳圖片
個人專案需求,建置較容易發佈文章到部落格的流程服務,使用 golang 串接 Google Blogger API,將文章文字以及其圖片上傳到 Blogger 平台。Google 已經在 Github 上發布專為 golang 所準備的 SDK 實作,其中包含管理部落...
Read More
王思元
1:22 下午
程式語言
,
Golang
Evernote SDK for Golang 自行建置、使用範例以及開放授權流程 (OAuth)
由於個人需求需要能從 Evernote 下載筆記以及資源,但官方網站沒有能看到 SDK for Golang,且官方 Github 帳號中也沒有看到,想必目前是現在還沒有正式支援吧,也可能是 Golang 開發者還不常接 Evernote……。
Read More
王思元
6:14 下午
程式語言
,
Golang
Unity Coroutine 使用筆記
最近有人問為什麼 Nested coroutine 的機制與問題,為什麼會是需要 yield return StartCoroutine(...) ,而不能省略 StartCoroutine ?在久遠的 Unity3.x 時代,印象中得呼叫該函數才能夠正常運作。...
Read More
王思元
11:43 下午
程式語言
,
C-sharp
,
Unity
Golang HTTP Request 遇到的坑:An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
之前服務要上線前,開始跑內部測試發現的問題,從 Event log 留意到服務會自動關閉,從中找到錯誤訊息如下:
Read More
王思元
8:35 下午
程式語言
,
Golang
Unity AssetBundle Variants 機制研究筆記
最近使用 AssetBundle Variants 機制來打包遊戲專案,紀錄打包遇到的問題以及解決筆記。關於 AssetBnudles 機制可以參考 系列文章 。
Read More
王思元
9:43 下午
程式語言
,
C-sharp
,
Unity
如何在 Unity 中實作場景資源參照 (SceneAsset Reference)
社團中看到有人問如何建立場景參照 (Scene Reference),當改變場景檔案名稱時 (*.unity),其 Reference 不會消失的功能,激起一點好奇心研究。查看 Unity 本身沒有提供該功能,Unity 場景管理 (SceneManager) 都是靠場景...
Read More
王思元
6:47 下午
程式語言
,
C-sharp
,
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 開發環境的安裝筆記。
多人網路連線遊戲程式開發之讀書筆記:同步遊戲資料,資料序列化與物件複製,處理網路延遲與伺服器安全性
Multi-Player Game Programming ,這是一本介紹如何建置多人網路遊戲程式的書,提到許多關於網路遊戲傳輸的重要概念,例如如何同步遊戲世界資料,如何讓遊戲玩起順順不卡頓 (lag)等等,以及多人遊戲會遇到的困難與挑戰,有志朝網路遊戲程式設計可以閱...
AWS Submit Taipei 2016
為什麼要去參加? 因為工作需求而參加的會議,一開始以為有許多跟技術有相關講題,但其實是 AWS 以及合作夥伴,宣傳他們自己的服務產品的場子。 有哪些攤位? 合作夥伴展示的攤位中,印象最深刻就是 V 航的攤位了,找了可愛的 V 熊幫忙,現場攤位賣起優惠機票呢。S...
HTTP TimeoutHandler 所踩到的雷與解決方式,需要額外判斷 Request.Context() 的狀態
最近遇到在 HTTP 伺服器壓力測試時遇到棘手的問題,從 nginx logs 發現伺服器回應許多 HTTP 503 service unavailable 的錯誤,一路追蹤最終發現是程式碼實作錯誤,記錄其筆記提醒自己不要忘記這個雷。
Golang Taipei Gathering #17
忘記什麼原因想去 Golang 聚會,自從上次錯過九月的 Golang 聚會後,便開始密切注意十月的聚會。沒想到開放報名的當天,只是因為工作太忙,晚上才匆匆到報名網頁想要,就已經沒有一般票了。 稍微跟主辦人 Evan Lin 聊一下,想說能不能拿到公關票,結果變成報...
TCP 連線狀態機制與流程
在開發基於 HTTP 的網路應用服務時,當有大量連線要求,或是與長連線 (Persistent connection) 要求時,常常遇到底層 TCP 的連線斷線錯誤,導致服務不穩定。因此研究了解 TCP 的連線狀態機制,並嘗試用自己的方式整理筆記,希望能從基礎知識中找到...
Unity 遊戲存檔機制淺談,從序列化 (Serialization) 到儲存裝置 (Storage)
之前在社團看到的有趣問題,因此綜合以前的開發經驗,整理成這份筆記。
Unity 遊戲存檔機制淺談,關於壓縮 (Compression) 的三兩事
延續在 前一篇文章 中的議題,在遊戲存檔進行壓縮 (compress) 後儲存,可減少其儲存所需空間,之後讀取先經過解壓縮 (decompress) 後,再反序列化 (deserialize) 還原成遊戲狀態物件來使用。
Unity 遊戲存檔機制淺談,加密 (Encryption) 保護遊戲存檔防作弊
延續在 前一篇文章 中的議題。 前題,任何的加密機制只是增加破解難度,單機遊戲存檔若沒有特殊硬體的保護,幾乎都可以被破解,光是程式碼反編譯 (decompiling) 並且分析程式碼,便能知道該遊戲如何處理存檔加密,甚至能直接拿到加密用的金鑰 (key)。
網誌存檔
▼
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 )
贊助廣告