iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

軟體架構師的自我修養 系列

在軟體開發的道路上,無論科技如何進步、工具如何發展,總是有些「東西」是亙古不變的。畢竟,軟體工程已經漸趨成熟,近20年並沒有新的理論被提出,只有流程和工具的不斷改良。

因此,如何在軟體開發的職涯上掌握先機,並且走出屬於自己的道路,這是每個軟體人所應該要思考的。藉由鐵人賽,我想分享一個從基層軟體工程師一路成為軟體架構師所需要具備的硬實力和軟實力。

內容會包含職涯發展的心態、資料庫的基本認知、系統設計原則和軟體測試。

鐵人鍊成 | 共 31 篇文章 | 124 人訂閱 訂閱系列文 RSS系列文
DAY 11

[Day 11] 事件驅動架構的設計模式(下)

昨天我們介紹了要讓系統變得既可靠又有效率的一些設計模式。今天,我們繼續來討論當設計事件驅動架構時有哪些常見的處理手段。 非同步請求/回應模型 咦?請求/回應模型...

2022-09-11 ‧ 由 lazypro 分享
DAY 12

[Day 12] 在程式碼中的時機耦合

我們總是在談論耦合,到底耦合是什麼? 大致上來說,有三種不同的元件耦合。 傳入(Afferent)耦合:任務A會被B、C、D呼叫。 傳出(Effer...

2022-09-12 ‧ 由 lazypro 分享
DAY 13

[Day 13] 用最小負擔實作事件驅動架構

時機耦合是最容易被忽視的陷阱 之前我們已經聊過時機耦合可以透過事件驅動架構有效解耦,而且我們討論過三種不同的實踐。最簡單的但卻不可靠的EventEmitte...

2022-09-13 ‧ 由 lazypro 分享
DAY 14

[Day 14] 設計一個電商網站

從鐵人賽開賽至今,我們一直透過演化一個既有的系統來不斷提升各種非功能性需求。畢竟,架構師的任務就是不斷在各種取捨中找到相對最佳解,並且穩步將其推上線。 但有時候...

2022-09-14 ‧ 由 lazypro 分享
DAY 15

[Day 15] 單元測試和整合測試有什麼差別?

昨天,我們說過要結束系統設計單元了。今天讓我們正式進入程式設計的奇淫巧技。 身為架構師,我注意到許多軟體工程師無法分辨單元測試和整合測試。即使這兩種測試就連名字...

2022-09-15 ‧ 由 lazypro 分享
DAY 16

[Day 16] 剖析分層架構

分層架構是一個架構設計常見的模式,並且非常適合運用在小型的單體上。他有許多優點,例如: 非常容易就能設計和實作 和人腦的思考方式很吻合 也很容易和人合作共建...

2022-09-16 ‧ 由 lazypro 分享
DAY 17

[Day 17] 乾淨架構實戰首部曲

接下來三天,我會講解如何寫出乾淨架構(Clean Architecture)的程式碼。 現在坊間有許多書籍和文章在介紹為什麼要乾淨架構和什麼是乾淨架構,例如:為...

2022-09-17 ‧ 由 lazypro 分享
DAY 18

[Day 18] 乾淨架構實戰二部曲

這篇文章是乾淨架構三部曲中最重要的核心,我們在首部曲中描述了資料導向開發的問題,而在二部曲中我們會給出一個更加合理並有效率的設計與開發流程。 我們接續昨天的範例...

2022-09-18 ‧ 由 lazypro 分享
DAY 19

[Day 19] 乾淨架構實戰三部曲

這篇文章是三部曲的終局,在首部曲時,我們介紹資料導向設計,於此同時我們發現資料導向設計的諸多問題。因此在二部曲時,我們提供了一個完整的設計流程,既參照了領域驅動...

2022-09-19 ‧ 由 lazypro 分享
DAY 20

[Day 20] 如何在MySQL避免競爭條件

MySQL是一個很常見的關聯式資料庫,在任何牽扯到交易和金錢的場景都很容易看到MySQL的身影。原因在於MySQL等關聯式資料在執行操作時具有ACID的保證。...

2022-09-20 ‧ 由 lazypro 分享