【Windows版通訊應用軟體】
- 開發語言與工具:C#、WPF
- 功能:
1. 聊天室管理
2. IM通訊,包含文字、語音及貼圖等類型的訊息
3. 包含可撥打VOIP、市話等通話功能
- 主要工作及達成目標:
1. 設計使用者操作flow及UI,有效簡化使用者操作flow,如使用者建立聊天室、多裝置通話接聽到掛斷等,將使用者操作簡化1至3個動作即可完成
2. 介接後端如IM、SIP及認證系統等提供之Web API,於背端分批向server請求資料(如訊息、聊天室等),前端以非同步方式更新介面,避免一次獲取太大量資料,造成使用者卡住的問題,有效縮短80%的app啟動時間,優化了使用者體驗
3. 於local端暫存資料,避免對後端server重覆發出不必要的request,並利用通知機制,在資料有異動時才進行更新,實作後有效減少後端server約70%-80%的loading
【網站應用系統與Web APIs】
- 開發語言與工具:PHP、Yii、Redis、MySQL、MongoDB
- 專案包含:
1. 形象官網
2. 公司後端維運管理系統
3. 企業客戶端應用系統
4. Web APIs
- 主要工作及達成目標:
1. 開發MVC架構的6個主要網站應用系統
2. 開發約30支的Web RESTful APIs供其它系統及客戶端應用程式使用
3. 基於RBAC的帳號權限控管
4. 實作load balancing與scalable的系統架構
5. 多語系架構及阿拉伯語系rtl
【Web版IM及通話SDK】
- 開發語言與工具:javascript
- 主要工作及達成目標:
1. 開發javascript版本的IM及通話SDK,協助客戶節省開發人力與時間成本
【Single sign-on(SSO)】
- 開發語言與工具:PHP、Redis
- 主要工作及達成目標:
1. 將登入功能從各應用系統抽出,實作單一登入系統,主要負責使用者帳號認證
2. 相關的各應用系統無需重覆開發登入功能,有效簡化開發流程
3. 使用者亦無需重覆登入,減少帳密管理的問題
【Job分派架構】
- 開發語言與工具:PHP、python、Gearman、Supvisor、MongoDB
- 主要工作及達成目標:
1. 透過Gearman建立Client-Server架構的工作分派機制,由Job server統一分派工作給worker,達到各worker間的load balancing
2. 利用Gearman在不同程序語言之間溝通的能力,針對不同類型的worker使用符合特性的語言開發,例如由python處理excel
3. 導入Supervisor監控worker,並於worker死亡時自動重啟,以確保worker保持必需的數量
4. 網站應用系統透過此機制,使用者送出秏費資源的工作後不需等待工作執行完成即可繼續操作
5. 搭配Job管理與通知機制,提供使用者得以監控工作狀態以及必要時可重新執行工作
【客戶端檔案拋轉工具】
- 開發語言與工具:Java
- 主要工作及達成目標:
1. 提供客戶端定期拋轉資料、上傳圖片
2. 使用者可自訂拋轉資料欄位格式
3. 介接Microsoft Active Directory (AD),匯出資料並拋轉
【自動化佈署腳本與服務microservice化】
- 開發語言與工具:ansible、docker、kubernets
- 主要工作及達成目標:
1. 早期使用ansible playbook進行自動化佈署,減少人工手動步驟
2. 後期為解決系統因過於繁雜的服務而造成的管理成本及資源負載問題開始將服務切開,並逐漸導入docker及k8s達到自動水平擴展,降低資源不足或閒置問題
【log分析與監控】
- 開發語言與工具:ELK
- 主要工作及達成目標:
1. 導入ELK,簡化繁雜沒效率的log查詢工作,並透過搜集與分析log,快速掌握服務是否出現異常
【團隊開發】
- 主要工作及達成目標:
1. 與Product owner討論需求及時程安排,與其它團隊合作設計系統架構
2. 訂定短期目標,帶領4-5人團隊進行敏捷式開發,透過定期的review隨時掌握專案進度,並進行資源調度,於導入敏捷式開發約1年多時間,共約20個大小專案皆能於期望的時程內順利完成