Jbfwnrn0j3swdrf2vai3

林盈進(Mirror)

後端軟體工程師
台中.台灣
[email protected]

關於我

一、專注於開發高效率分散式並行運算服務,實現雲與邊緣協同運算 (Cloud and Edge Computing) :

  (一) 以領域驅動設計 (DDD) 及事件驅動架構 (EDA) 建構非同步式微服務(Microservices)。

  (二) 邊緣使用 Go 等高效率或適當之程式語言,並以 Clean 建構高運算、低延遲需求之各式微服務。

  (三) 導入領域事件、事件驅動、CQRS 及事件溯源,實現各微服務自治、服務擴展及最終一致性等能力。

  (四) 雲可透過 Consul 服務發現,調用或代理所需邊緣服務,提供多協議的雲與邊緣協同運算。

  (五) 藉由 Kubernetes 進行分散式微服務部署及資源匯集,形成服務網格(Service Mesh)。

  基於雲與邊緣協同運算框架,可將資料保存於邊緣端,實現高運算、低延遲、低成本之服務,再由雲端服務居中協調。


二、擁有豐富的解決方案技術堆疊:

  上開框架目前使用於影像及數據串流匯集及資料採集上,將持續累績及充實所學技術,不拘限於任何程式語言或框架,期許自己能以最適當的方式架構系統。多年累積下來,已擁有抽象化塑模、系統分析、網路管理、資料結構及資訊安全等理論奠基,並具備全端開發、直播串流開發、及分散式伺服器部署等技術能力,可提供全方位的解決方案,並能以微服務架構建構系統。

技能


雲地運算

Kubernetes / Docker

Ceph / Longhorn Storage

DevOps (Drone CI + SonarQube)

Reverse Proxy (Traefik / Nginx)

Logs (Promtail + Loki + Grafana)

TLS (CoreDNS + ACME + OpenVPN)


後端開發

Go (Gokit / Gin / OPA)

Rust (WebAssembly)

Laravel / Lumen (PHP)

Java


前端開發

Angular / SPA (TypeScript / ES6)

Angular Material / PWA

Flex / RIA (ActionScript / ES4)

Web Standards


微服務開發

Domain-Driven Design (DDD)

Clean Architecture

Event-Driven Architecture (EDA)

Event Sourcing (CQRS)

Service Discovery (Consul / etcd)

RESTful API / gRPC / PubSub


基礎理論

System Analysis (UML)

Data Modeling

Design Pattern

Agile (TDD / Refactoring)

TCP/IP Stack

IT Security


其它技能

Message Queue (NATS / MQTT)

RDBMS (MySQL / PostgreSQL)

TSDB (InfluxDB / Prometheus)

KVDB (Redis / BadgerDB)

Proxmox VE (QEMU)

Media Streaming (WebRTC / RTMP)

工作經歷

鼎新電腦股份有限公司, 後端工程師, Jun 2021 ~ 現在

  為負責工業物聯網邊緣 Edge 端服務開發及維護,專注在 Go 程式語言開發,並將過往學習的理論實踐在工作上:

  • TDD 及重構:為增加程式碼可讀性且勇於調整現在系統,在了解系統的過程中同時補上測試案例及大量重構;當接獲新需求時,可按照規格書撰寫適當的測試案例,通過時即完成需求。
  • 設計模式:為解決各種工控數據上的多樣化客製需求,以 Middleware 設計模式觀念,實作多個單一職責的中間件處理,使其可彈性擴充及搭配組合串鏈,優雅地解決此問題。
  • 統一服務介面:重新了解 interfaces 抽象化觀念的重要性,建立各個服務需實現的標準介面,並以 Go Kit / Clean 實現微服務;因微服務的介面相同,故可透過 Consul 服務發現並反向代理實現微服務間調用,使服務佈署實現了「既可分、又可合」的彈性架構。
  • 事件驅動架構:物聯網場景中特別適合事件驅動,為避免已經切割為多個微服務後,卻仍需要彼此相依(如:同步式),透過導入事件驅動架構,解耦微服務並使其完全自治。
  • 領域驅動設計:嘗試抽象化及設計出工業領域中的模型,即工廠模型;服務可藉由操作此模型即如同操作實體工廠。

  跨界學習工業領域及相關通訊協議,了解 PLC 控制器及 CNC 電腦等相關工業 4.0 生態,更由原先純軟體領域初步邁入工業自動化控制領域,加入物聯網相關解決方案;為突破工控協議的支持,對於私有工控協議,可自行閱讀原廠文件,從無到有實現其通訊協議函式庫,建立 TCP Socket 成功採集控制器資料。


  除此之外,工作上雖以開發為主,但能持續以 DevOps 角度思考研發如何輔助維運,如:

  • 導入結構化日誌及日誌蒐集系統:源頭程式開發時即需輸出結構化日誌,由日誌系統蒐集後,維運人員可快速檢索並透過視覺化呈現,有效率了解問題脈絡。
  • 事件溯源機制:可實現 Online 的備份 / 備援,提高緊急事故的應變處理能力,既始出錯仍有能力可再重新回溯至最後狀態。


  • 開發及維護工業物聯網邊緣層服務

Skills: 

Go、Go Kit、Clean、Consul、Middlewares、InfluxDB、MQTT、Git、Zap Log、Promtail、Loki、Grafana、gRPC、NATS、BadgerDB、frp

  • 理論實踐
Skills: DDD、EDA、Event Sourcing、CQRS、Design Pattern、TDD、Refactoring
  • 學習工業通訊協議
Skills: OPCUA、Modbus、MELSEC
Tbjzfeynrgwtcypwn3f4

臺中市政府秘書處, 管理師, Mar 2014 ~ Jun 2021

  此職務為國家正式公務員,主要負責資安及資訊管理業務。除一般行政業務及跨機關溝通外,開發各式供機關內部使用微服務,以技術角度輔助平時業務推動,並自 2019 年資通安全管理法實施後,考取 CEH 等資安證照,將資安防護需求納入平時系統開發中。
  在 2020 年 3 月疫期緊張期間,為解決洽公民眾填寫紙本實聯制造成之繁瑣、不易驗證及洩露個資等問題,耗時 1 個月獨自開發防疫實名登記  APP (含前、後端開發及部署),並於 4 月初於臺中市各機關全面上線,同時於開發期間即公開所有程式原始碼,實現防疫資源共享精神。
  • 持續學習,以技術角度解決業務問題

Skills: 

Laravel、RESTful API、JWT Token、Angular、HTTPS、HTTP2、CORS、Docker、Reverse Proxy、Nginx、Traefik、Swagger、Let's Encrypt、Redis、LDAP、TLS、CoreDNS、StepCA、ACME、OpenVPN

  • 學習強大運算及儲存叢集系統

Skills:

Kubernetes、Ceph Storage、Proxmox VE、Hyper-Converged Infrastructure、High Availability、Site Reliability Engineering

  • 進入資安領域,將資訊安全納入系統防護需求

Skills: IT Security、CEH、ISO 27001 LA、SSDLC

  • 支援防疫業務,獨自完成實名登記系統 (2020年4月上線 )

Skills: Go、RESTful API、Angular、PWA、Azure K8S、Open Source、.NET Core


作品集:

媒體報導:

Uzmh0vo1dm3vtolxjtoi

自由工作者 (兼職), 全端工程師 / 串流工程師, Jun 2017 ~ May 2019

  • 重啟 MIVS 專案,以新技術打造 3.0 版

Skills: Go、Angular、DVR、CGO、TSDB、MQTT

  • 以微服務觀念發展系統

Skills: Microservices、RESTful API、Laravel、Rails、Cloud and Edge Computing

  • 叢集佈署微服務及分散式處理

Skills: Kubernetes、Ceph Storage、Service Mesh、Istio、Grafana

  • 研究新的串流解決方案

Skills: SRS、CDN、Codec Copy、HTTP-FLV、WebRTC、WebAssembly


作品集:MIVS 3.0MIVS 回播系統MIVS 儀表板系統

Xqsa8kry3rme5wmmeux6

新北市政府消防局, 技士, Oct 2013 ~ Mar 2014

S1ldb3cuarxck8lewitx

自由工作者, 全端工程師 / 串流工程師, May 2012 ~ Oct 2013

  • 正式進入直播串流領域,開發多影像智慧監視系統 MIVS 1.0 與 2.0 版本

Skills: 

JavaCV,OpenCV、FFmpeg、Java Native Interface、Socket、Codec、RTMP、HLS、Media Server、Video Capture、Surveillance System

  • 驗證理論及技術,全職專注開發專案

Skills: Data Modeling、UML、Object-Oriented Programming、Design Pattern


Rpublff3coslqu8ls2v1

學歷

國立中央大學, 無學位, 資訊管理學系碩士班, 2010 ~ 2012(肄業)

  • 精進技術,以理論支持實作
Skills: Data Structure、RDBMS、TCP/IP Stack、Socket Programming

  • 將真實世界按業務需求抽象化
Skills: Data Modeling、Abstraction、Software Engineering

University@2x

國立勤益科技大學, 學士學位, 資訊管理系, 2006 ~ 2010

  • 啟蒙及自主探索資訊領域
Skills: Data Structure、RDBMS、Computer Science、Web Standard、Java (SCJP)

  • 發展 RIA 豐富的網路應用程式
Skills: RIA、Flex、AIR、AMFPHP、Apache、PHP、MySQL

  • 開發即時串流應用程式
Skills: Media Server、RTMP Streaming、Shared Object


作品集:辦公室自動化系統

University@2x

專業證照


CEH

名稱:Certified Ethical Hacker

發照機構:EC-Council

發照日期:2020年11月

證照編號:ECC4685701239


ISO 27001 LA

名稱:ISO/IEC 27001:2013 - Information Security Management Systems Auditor/Lead Auditor

發照機構:SGS

發照日期:2019年10月

證照編號:47533049 / 145153459


SCJP

名稱:Sun Certified Java Programmer

發照機構:Sun Microsystems

發照日期:2008年1月

證照編號:SW409182

MIVS 多功能智慧影像監視系統

Projects 00 00@2x

多影像串流匯集渲染微服務

透過佈署大量影像匯集渲染器微服務,實現無限制串流匯集平台, 以此平台為基底,可快速搭建各式即時影像串流應用服務。

了解詳情
Paragraph image 05 00@2x
Paragraph image 05 01@2x

儀表板

使用儀表板與時間序列資料庫監測各影像邊際節點運作狀態,並作為影像錄影片段之檢索,並標記影像分析的事件。
Paragraph image 06 00@2x
Paragraph image 06 01@2x
Paragraph image 06 02@2x
Paragraph image 05 00@2x
Paragraph image 05 01@2x

舊版 MIVS 1.0 & 2.0

為2011、2012年開發的系統,起初使用 Adobe Flex 實現 RIA 系統(現稱 SPA),惟當時尚未發展為分散式系統,後因 Flash Player 問題已不再提供支援。