思元的開發筆記

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

OpenSSL 建立 CSR 找不到 openssl.cnf 錯誤處理

在處理申請 SSL 用的憑證 (Certificate) 所遇到的問題,向憑證簽發商 (Certificate authority, CA) 申請憑證前,需要先建立準備 CSR (Certificate Signing Request),而透過 openssl 指...

LeetCode #6 ZigZag Conversion

記錄 LeetCode #6 ZigZag 思考解法的過程筆記。

Unity 根據美術需求客製化 Sprite shader,基於官方 shader 開始改起

在社群中看到有人詢問 2D 遊戲上的特殊效果如何製作,從需求中得知這種要求,能直接改 shader 是最快了,畢竟 shader 可以決定每一個 Pixel 最終呈現顏色的可程式化著色器 (Programmable shader) 呢。因此就好奇跟作者 Leo Wang...

LeetCode #1 #167 #653 Two Sum

最近再嘗試解 LeetCode 上的題目,剛好解完這三個非常相似的簡單題目,因此寫下筆記紀錄。

Golang Iterator Channel Implementation

這是一個關於 Go 的程式研究紀錄筆記,原先設計一個迭代器的操作模式 (Iterator pattern):

MariaDB (MySQL) UUID 優化之儲存方式 (storage)

最近專案的資料庫調整,由於有使用到 UUID,再煩惱怎麼要儲存減少資料量,讓之後的索引建置能夠更有效率,原先的儲存方式為 char(36) 想必是超級浪費空間的作法。

Unity AssetBundle 快取機制與載入範例

前陣子看到有人詢問關於 AssetBundle 載入以及其快取機制 (caching) 的處理問題,因此整理這篇筆記,供之後給團隊解說與教學之用。

TCP 連線狀態機制與流程

在開發基於 HTTP 的網路應用服務時,當有大量連線要求,或是與長連線 (Persistent connection) 要求時,常常遇到底層 TCP 的連線斷線錯誤,導致服務不穩定。因此研究了解 TCP 的連線狀態機制,並嘗試用自己的方式整理筆記,希望能從基礎知識中找到...

由 Golang 程式碼產生 Restful API 文件,使用 Swagger 規範 (OpenAPI 2.0)

Swagger 是一套 RESTful API 描敘語法,近期發展改名成 OpenAPI 規範 ,其生態系統工具也發展相當強大,不僅能從 Swagger 轉換成可互動式的網頁說明文件,產生特定的程式語言的用戶端實作 (client implementation),也可以...

Unity Prefab 之使用方式筆記

Prefab (預製物件) 是在 Unity 中經常被使用的機制之一,能將 GameObject 以及其 Components 的屬性狀態儲存為單一個 Asset。當 Prefab 屬性調整時,Unity 能夠自動更新放置在場景 (Scenes) 中的實體物件 (Prefa...

Unity 載入外部檔案機制之整理筆記

最近看到社團一些詢問 Unity 載入外部設定檔的問題,因此整理若要在 Unity 中實作外部載入的功能,有哪些機制可以使用以及比較。

COSCUP 2017 議程筆記微感想

之前參與 COSCUP 2017 的小筆記與感想 (2017-08-06),記得當初為了搶這票券,也是費了一番苦心。但計畫總是趕不上變化,這次只有參加第二天的議程,除了外面的攤位有去走了一圈逛逛外,大部分都在 Golang 社群議程場內活動。

使用 xcode 取得 iOS 設備的即時 log

記錄如何取得 iOS 設備的即時 log (runtime logs) 筆記,有 log 才有辦法拿到錯誤訊息,而錯誤訊息 (error message) 可用來分析為什麼會造成 crash,才能進一步去修正其錯誤。 對於較熟悉 Android 自己來說,這功能比較...

Accupass 瀏覽擴充功能,使用 Javascript + TamperMonkey 自製自動加載頁面

提示:發佈文章前發現其網站改版,以下腳本是針對 舊版本的活動瀏覽 Accupass 活動通,是一個集結各式活動並販售活動票券網站(亦可參考另一個同類型的網站 KKTIX ),自己蠻常在活動通上瀏覽活動,讓自己的下班生活能夠多點變化,接觸職場沒機會接觸的議題與活動。...

Evernote to Blogger,第一次在 Golang 聚會中分享個人專案

What is this Evernote to Blogger 是一個自己的個人專案,主要是要解決自己的發佈文章的痛點,串接 Evernote 以及 Blogger APIs,使得發佈文章流程更能簡化的專案。

使用 Golang 串接 Google Blogger API,張貼文章與上傳圖片

個人專案需求,建置較容易發佈文章到部落格的流程服務,使用 golang 串接 Google Blogger API,將文章文字以及其圖片上傳到 Blogger 平台。Google 已經在 Github 上發布專為 golang 所準備的 SDK 實作,其中包含管理部落...

建置 Unity iOS xcode 專案遇到的錯誤與解決方案 (Linker error)

建置 xcode 專案丟出的錯誤訊息:Undefined symbols 最近要在 Unity 建置 iOS 專案遇到的錯誤問題,第一次跑整個建置流程,先在 Unity 執行遊戲建置產生 xcode 專案,再開啟 xcode 專案進行 app 打包建置,但卻遇到以下 li...

台北開發者論壇 (TGDF 2017, Taipei Game Developers Forum) 會後感想雜談

想要從論壇中獲得些什麼 這次是第一次參加 台北遊戲開發者論壇 ,想看看論壇中到底有什麼,事前也沒有特別查看議程以及講者,就報名了這場遊戲論壇,結束後的反省是,應該要意識自己想從論壇中獲得些什麼,在報名前就應該先查清楚論壇的目標受眾是哪些人,想清楚想從議程中獲得些什麼,...

Blogger 使用 jQuery jScroll 實作無限捲頁,自動載入更多文章 (Infinite scrolling)

無限捲頁 (infinite scrolling),或是被稱為其他名字,自動換頁 (auto pagination),無限滾動 (endless scrolling),無限頁面(endless pages) ,或是懶加載 (lazy loading) 等等…。主要目的是...

Evernote SDK for Golang 自行建置、使用範例以及開放授權流程 (OAuth)

由於個人需求需要能從 Evernote 下載筆記以及資源,但官方網站沒有能看到 SDK for Golang,且官方 Github 帳號中也沒有看到,想必目前是現在還沒有正式支援吧,也可能是 Golang 開發者還不常接 Evernote……。

Unity 開發者大會筆記 2017,優化x優化x優化

紀錄這次參加 Unity 開發者論壇,比較有印象的場次筆記。因為是開發者大會,所以大多是聽技術專場,而很大一部分都是在討論遊戲優化的議題。如何讓遊戲效能能夠穩定 FPS 60 以上,讓玩家擁有較好的遊戲體驗,而不是玩起來卡卡的,這是一個相當重要的議題。 而遊戲優化議...

學習 Unity 自製編輯器需要知道的三個管道 (Custom editor programming in Unity)

Unity 現在算是台灣業界常用的遊戲引擎之一,其功能不僅協助開發人員快速開發遊戲外,還提供讓開發人員自訂專案所需要的編輯器 (Editor)。 一位資深的程式設計師不僅得學習如何使用 Unity,撰寫架在 Unity 上的專案程式碼,甚至還需要學習如何開發 Unity ...

Unity 專案中 *.meta 做什麼用

最近團隊有人詢問 Unity 的 GUID 機制,在思考回答的過程中,順便把它整理成這篇筆記。如果要尋找能夠與工程團隊合作的 Unity 工程師,我想這一題應該會列在考題之中,meta 檔是做什麼用的?如果能回答出 Unity GUID 追蹤資源的機制,相信已經能夠滿足團隊...

There are inconsistent line endings in the 'SomeScript.cs' script. Some are Mac OS X (UNIX) and some are Windows. 的處理方法

Unity 使用上常常遇到的警告,經常從 Unity Project 點選程式碼,使用預設的 IDE - Visual Studio 編輯程式碼後,回到 Unity 等待編譯完成後,會遇到丟出來的警告訊息:

Unity Coroutine 使用筆記

最近有人問為什麼 Nested coroutine 的機制與問題,為什麼會是需要 yield return StartCoroutine(...) ,而不能省略 StartCoroutine ?在久遠的 Unity3.x 時代,印象中得呼叫該函數才能夠正常運作。...

Golang HTTP Request 遇到的坑:TCP/IP port exhaustion

之前服務要上線前,開始跑內部測試發現的問題,從 Event log 留意到服務會自動關閉,從中找到錯誤訊息如下:

Unity AssetBundle Variants 機制研究筆記

最近使用 AssetBundle Variants 機制來打包遊戲專案,紀錄打包遇到的問題以及解決筆記。關於 AssetBnudles 機制可以參考 系列文章 。

如何在 Unity 中實作場景資源參照 (SceneAsset Reference)

社團中看到有人問如何建立場景參照 (Scene Reference),當改變場景檔案名稱時 (*.unity),其 Reference 不會消失的功能,激起一點好奇心研究。查看 Unity 本身沒有提供該功能,Unity 場景管理 (SceneManager) 都是靠場景...

在 Unity 使用 AssetBundles 實作進階的遊戲資源打包以及更新機制

在 前篇文章 中,我們僅是將所有遊戲資源(Assets) 包在同一包 AssetBundle,這會造成小量的資源更新,玩家得重新下載這一大包的 AssetBundle 才行,造成遊戲體驗變得很糟,且也會造成伺服器流量負擔。 在這篇文章裡,我們將考慮開發者所設定的 Ass...

在 Unity 使用 AssetBundles 實作簡易的遊戲資源打包以及更新機制

Unity 官方之前在 Asset Store 上有分享 AssetBundle Manager ,並提供官方教學文章介紹 AssetBundle 載入機制,我們參考該教學以及範例,因應遊戲設計考量,自己使用 Unity 提供的底層 AssetBundle API,製作...

Unity AssetBundle 載入後,出現粉紅色區塊的問題與解決

Model is Unity Chan . 之前遇到的問題,當遊戲採用 AssetBundles 機制加載場景資源後,會發現有些場景問題變成粉紅色的,記錄問題以及解決方案。 Note: 使用版本 Unity5.5.x 粉紅色的色塊 遊戲因為動態更新以及手機平台上架...

Calculate file's chunk MD5 checksum using Golang

由於工作需求,需要將檔案先分塊 (chunk),計算每塊的 MD5 checksum,而大部分的 tools 都是算整個檔案的 MD5 checksum,想說這樣的功能應該不會很困難,因此使用 Golang 寫一小段 CLI (Command line interfac...

讓 Safari 能從自家網站安裝企業版 iOS Apps (Enterprise Apps) 的設定筆記

工作需求,已經使用企業開發者帳號 (Apple Developer Enterprise Program) 包成 *.ipa (IOS App 安裝檔),要將該 ipa 檔案放置到我們自己的網站伺服器,iOS 使用者能夠透過該網站連結,直接下載並且安裝該 App ...

Markdown to HTML tool using JavaScript in Blogger

Markdown 是一種輕量語言標誌,協助寫部落格文章時,不用去考慮繁瑣的排版格式設定,而用簡單的語法來編排文章排版。 為什麼要用 Markdown 自從開始使用 Markdown,該簡易的排版語法讓自己減少許多原先花費在排版的時間,不用像之前需要特別注意 HTML ...

Unity 事件機制淺談 (C# events, unity events)

在上次 GameJam 遇到的情況,組員不太會使用 C# event,也發現同事也不太熟悉,因此整理在 Unity 中使用事件 (event) 的記錄。 為什麼要使用事件機制 C# event 使用該機制來通知傳遞訊息通知該事件發生,該設計最重要一點是可以 能降低...

Unity strip engine code 遇到執行不能之問題與解決

遊戲發布在 WebGL 平台發現檔案還是太大,因此在 IL2CPP 的環境下,開啟 Strip engine code 編譯功能,嘗試看看能不能減少一些檔案容量。 但由於我們另外有載入 Scene stream assetbundles 的機制,因此遇到開啟 Strip ...

使用 Batchmode (CLI) 建置 Unity Android 專案,從環境設置到建置成功

紀錄最近在自家新機器上安裝 Unity 建置 Android 環境,以及採了兩個莫名奇妙的坑,最後能用 CLI (Command-line interface) 呼叫 Unity 將專案發佈成 Android APK,讓整套建置工作能搬到 Jenkins 這套建置服務上。 環...

網站編輯線上工具 Beautify/Compressor 整理筆記 JavaScript/CSS/HTML/Markdown

整理網站(部落格)編輯使用的工具,寫前端網頁需要了解網頁原始碼 HTML,用戶端執行程式碼 JavaScript,以及排版美化的 CSS。並且額外介紹寫文章所用的排版格式 Markdown 轉 HTML 工具。 HTML/JavaScript/CSS HTML、Java...

網域名稱淺談與域名選擇建議

隨著科技演進與進步,個人自媒體時代的來臨,每個人都可以輕易的在網際網路上發聲,撰寫個人文章留下自己的數位足跡,若能擁有個人名稱的域名網址,相信對於個人品牌行銷是相當有助益的。 域名 (Domain name) 結構淺談 域名 (網域名稱,網域) 這是每天大家常常使用的服務,...