[專案成就]共用發信API
開發共用 email 寄送 API 中介層,統一接口、格式與錯誤處理;技術棧為 C# .NET Core 與 AWS。
- C#
- .NET Core
- AWS
- API
專案概述
| 項目 | 說明 |
|---|---|
| what |
共用發信 API 是讓開發人員可以透過打 API 的方式寄出 email 信件的軟體中介層(Middleware)。 |
| when |
開發時程:2023/01/03 – 2023/01/07 |
| why |
希望開發人員未來在進行 email 信件寄送時,可以有一個共同的接口、共同的格式、共同的錯誤例外處理。 |
| how |
專案 A 已有使用 AWS queue 的寄信功能,故把專案 A 的功能移植至專案 B 使用。
|
| effect |
|
過程經歷
專案挑戰:跟原開發人員的關係
Status
原本開發專案 A 的開發人員個性比較暴躁,且面對男生較不想理會。
Task
詢問專案 A 的開發人員,確認需求功能放置位置。
Action
- 在該人員沒有在處理其他事情時,客氣詢問。
- 對方給出資訊後,立刻查看專案 A 並自行思考。
Result
後來成功搬移所有相關系統功能。
Think
工程師團隊男性過多時,有時男工程師較不想面對男生無可厚非,但過於顯露對團隊運作不利。建議維持團隊性別平衡,或由主管/組長以適當方式點破並改善。
技術挑戰:共用 Function,使用方式不同
Status
專案 A 已有 AWS queue 寄信功能,要把已完成功能移植到專案 B 使用。
Task
搬移時遇到部分 Function 功能相同,但使用方式不同。
Action
將引用到的 function 調整成專案 B 的使用方式。
Result
搬移成功,測試完成,可正確執行。
Think
做功能搬移時,除了語言一致,派工者也應先確認相關 Function/Library 是否相同。
技術挑戰:異步 Function 轉換為同步 Function
Status
移植專案 A 的 AWS queue 寄信功能時,原實作為非同步寫法。
Task
將非同步功能轉為同步,以便取得 Queue 回應訊息。
Action
接口層(Controller)使用 Task.Wait,等待 function 回傳後再繼續運行。
Result
修正完成。
Think
依照不同使用情境,選擇同步或異步轉換。