陳慶豪 Chen Ching Hao

  [email protected]

擁有10年以上的軟體開發經驗,專注在web應用系統、web api及後端服務架構之開發,從專案初期的需求確認與系統設計,到實作階段的開發測試,以及後續佈署與維運都有完整參與的經歷,近年也曾帶領4-5人小組進行敏捷式開發,除了持續精進專業技能,也同時累積了許多系統設計規劃、跨部門溝通技巧及團隊與專案管理執行的能力。

Experiences


  影音串流服務

  • mqtt、kafka、protobuf
  • php、symfony
  • postgresql
  • gcp
  • k8s、dockersupervisor

- 功能:
1. 提供後端影片串流服務及相關功能api
- 主要工作及達成目標:
1. 實作mqtt+kafka的分散式架構滿足高吞吐量之需求
2. 設計並實作系統功能與api
3. 介接gcs、cloud cdn服務加速檔案傳輸
4. 介接google play api
rtdn服務完成購買流程

  分散式Job queue

  • gearmansupervisor
  • php、python
  • mongodb
  • k8sdocker
  • elk

- 功能:
1. 透過gearman建立Client-Server架構的工作分派機制,由Job server統一分派工作給worker,達到各worker間的load balancing
2. 記錄job執行狀態,使用者得以監控工作並於必要時可重新執行工作

- 主要工作及達成目標:
1. 分拆job確保worker專職處理一件事,能依實況彈性擴展worker數量
2. 建立job執行流程與狀態,重新執行job時可直接從未完成的階段開始
3. 導入supervisor監控worker,確保worker保持必需的數量
4. 分離前端系統與後端工作處理,減少因等待而佔用資源的情況


  Single sign-on(SSO)

  • oauth2jwtOIDC
  • php、yii、jquery
  • redis
  • k8sdocker

- 功能:
1. 實作OIDC,實現所有服務單點登入
- 主要工作及達成目標:
1. 實作單一登入介面,提供使用者登入
2. 介接aa服務完成取得token流程,並搭配redis cache減少系統負擔
3. 藉由集中管理,減化帳密管理成本,避免重覆登入,提升操作體驗
4.
系統提供客戶端共4個主要系統,以及公司內部共4個系統進行單一登入

  RBAC權限管理

  • php、yii
  • redismongodb

- 功能:
1. 基於RBAC的權限管理,可依實際需求彈性建立權限-角色-組織組合
- 主要工作及達成目標:
1. 組織 > 角色 > 權限3階層式的權限組合,方便使用者管理權限
2. 搭配redis cache減少系統負擔
3. 同時提供客戶端及公司內部使用


  PHM Dashboard

  • signalR
  • c#asp.net core
  • oracle

- 功能:
1. 搜集各系統的設備狀態資訊,提供單一dashboard即時監控所有資訊
- 主要工作及達成目標:
1. 設計分拆資料連線、資料集及設備資訊管理3大功能,有新設備需加入時,系統管理者只需從資料面建立設備資訊,無需修改程式碼
2. 實作signalR達到即時更新dashboard資訊
3. 一般使用者可依需求自行設定dashboard,減少系統管理者工作量

  Windows版通訊應用軟體

  • c#、wpf

- 功能:
1. im通訊,包含文字、語音及貼圖等類型的訊息
2. 撥打voip、市話等通話功能

- 主要工作及達成目標:
1. 介接後端im與sip系統,設計使用者操作flow及ui,如使用者建立聊天室、多裝置通話接聽到掛斷等,將使用者操作簡化1至3個動作即可完成
2. 處理大量資料問題,以非同步方式避免使用者卡住的問題,優化後有效縮短80%的app啟動時間
3. 於local端暫存資料,避免對後端server重覆發出不必要的request,並利用通知機制,在資料有異動時才進行更新,實作後有效減少後端server約70%-80%的loading


  PHP Projects

  • phpyii
  • jquery、bootstrap
  • redis、mongodb、mysql

- 專案包含:
1. 形象官網
2. OSS維運管理系統
3. 雲端通訊管理平台
4. 訊息發送平台
5. 企業用戶多帳號綁定
6. web apis
- 主要工作及達成目標:
1. 開發mvc架構的6個主要網站應用系統
2. 開發約30支的restful api供其它系統及客戶端應用程式使用
3. 實作load balancing與scalable的系統架構

  .Net Projects

  • vb.netc#.net framework.net core、winform
  • jquery、bootstrap
  • mssqloracle

- 專案包含:
1. 購物網站
2. 影音教學網
3. 台北市立聯合醫院HIS
4. 形象官網
- 主要工作及達成目標:
1. 開發約20個大小網站與應用軟體
2. 實作購物車流程與線上金流介接
3. 實作多語系架構


  其它

  • java、pythonjavascript
  • ansible、docker、k8s
  • elk
  • unit test

1. javascript版本im及通話sdk,協助客戶節省開發成本
2. java資料拋轉工具,介接用戶端的active directory資料,定期自動整理上傳
3. 利用python pandas對資料進行重構、切割等前處理以進行後續分析
4. 自動化佈署腳本與microservice化,解決系統擴展後繁雜的管理成本
5. 導入elk,簡化低效率log查詢工作,並透過搜集分析快速掌握服務狀態
6. 撰寫unit test進行自動化測試

  專案管理

  • agile

1. 與product owner討論需求,依需求進行初步的設計與評估
2. 撰寫backlog及時程安排
3. 訂定短期目標,帶領4-5人團隊進行敏捷式開發
4. 導入約1年多共完成大小約20個專案