

C#後端工程師,畢業於屏東大學資訊管理系,2021年9月開始工程師之路,目前年資兩年,對於程式架構方面有很大的興趣,業餘時間會去各大社群看資深前輩們技術分享教學。
參與過電商系統翻新,負責核心訂單、購物車API開發,擅長電商金流、貨態、庫存變化…等領域知識,也參與過ERP系統流程規劃、微服務架構規劃、ERP後端API開發。
- 位置: Taipei City, Taiwan
- 電話: 0971080029
- 信箱: pingchun.hung@gmail.com
- 我的履歷: CakeResume
- GitHub: Deliahung
技能清單
- 後端語言 & 框架
C#
ASP.NET Core
ASP.NET Framwork
WinFrom
- SQL
SQLServer
MongoDB
- ORM
Entity Framwork
Dapper
ADO.NET
- 前端
HTML5
CSS3
jQuery
Bootstrap
Vue.js
- 版本控制
SVN
Git
- CI/CD
Jenkins
Bitbucket Pipeline
學習、工作經歷
⊚ 資策會C#工程師就業養成班 (2021/1 ~ 2021/8)
- 擔任專題技術長,負責小組畢業專題規劃,食譜&購物電商
- 專題導入三層式架構,IOC控制反轉,唯一有分層的組別
⊚ 聯邦網通(2021/9 ~ 2022/9)
電商系統翻新 : 維持原本Database、後臺系統,將邏輯層改寫為API前後分離,了解電商領域知識。
訂單、購物車API : 處理
折扣邏輯
、購物車驗證
、購物車分車邏輯
、訂單狀態
、庫存控制
。金流串接 :
聯邦串接
、Line Pay金串接
物流串接 :
黑貓
小工具API : banner、館別資訊…使用快取
增加讀取速度
。聯邦年節團購網站佈署維護 : webform專案重新佈署。
聯邦紅利兌換網站佈署維護 : webform專案重新佈署。
⊚ 無毒農(2022/9 ~ NOW)
🚩2022週年慶後端API - 搶購功能
解法1 : https://columns.chicken-house.net/2018/03/25/interview01-transaction/
後續研究 : 單機鎖lock語句、Redis鎖、樂觀鎖、悲觀鎖實作。 本站文章連結
社群討論 : redis + message Queue。
🚩微服務架構重整、導入單元測試


1. UnitOfWork導入
將每個Repossitory內的SaveChange抽離出來,外面包一層Unit Of Work,減少建構子注入
、劃分服務領域
、Transation語法更直觀
。

修改前
public class CreateOrderCommandHandler : IRequestHandler<CreateOrderCommandHandler, CreateOrderCommandDto> |
修改後
public class CreateOrderCommandHandler : IRequestHandler<CreateOrderCommandHandler, CreateOrderCommandDto> |
2. MediatR導入
將Controller、Service解偶,Api對應的UseCase獨立單獨Handler處理, 大幅增加專案可讀性
、可維護性
,同事都說讚。
修改前

修改後
private readonly Isender _sender; |

3. FluentValidation導入
統一參數驗證方法
,搭配MediatR Pipeline統一處理Exception,並且更好做單元測試
。
4. UnitTest導入
使用NUnit
with FluentAssertions & AutoFixture & NSubstitute。
5. 架構圖

🚩.NET Core 訊息微服務建置
使用.NET CAP套件,用KAFKA作為Event bus傳遞事件。
本站文章連結
整體架構

寄送簡訊設計模式
var setting = _SmsSetting.Filter(_ => _.Enable).OrderBy(_ => _.Sort).ToList(); |
後臺管理


🚩排程專案建置
使用.net core console app搭配Airflow,執行指令輸入類似api框架的router,即可執行指定排程,執行時間由DAG設定corn表達式設定。
範例指令
dotnet run Member VipUpgrade |
專案架構
[ ] |
🚩商品評論效能優化



近期學習目標
- 持續練習OOP、設計模式
- Redis cache深入研究 (Cache Avalanche、Hotspot Invalid、持久化)
- Github專案管理
- Queue深入研究(kafka、rabbitMQ)
- 研究 DDD、Clean Architecture