0%

前言

當我們在寫Laravel, Django 等MVC以及MTV的架構時,部分的人可能都會習慣把所有的邏輯,包含Use Case, 資料驗證 等等全部寫在同一包裡面

一開始或許開發的時候比較方便,你自己在自幹的時候想怎麼寫都沒差

但換個角度,當今天這個專案是10個人一起做的呢?甚至是過了10個月你再回來看,我們要花多少時間來看這些架構

再來,當我們今天要新增一個功能或是更改 Use Case 時,我們又要花多少時間來做閱讀?

其實在看過Clean Code, Clean Coder 和 Clean Architecture之後其實就會知道,傳統的MVC框架真的滿髒亂而且不容易維護的

閱讀全文 »

前言

現在也是個工作第二年的後端了,是時候該學一些系統設計的知識

系統設計顧名思義是指設計軟體系統的過程,例如說我們要設計一個大型社交網站
那我們可能就會需要非常非常多的技術,包含:用什麼語言去寫Server、使用什麼樣的Database、如果說系統Loading太大該怎麼辦等等,族繁不及備載。

要考量的點實在太多了,而且也沒有所謂的正確答案,端看能不能有效解決問題
能夠利用手上會的知識,去整合並且設計系統

另外面試的時候不會要你真的設計一個超級完整的系統,每個細節都要做到
不會,因為時間不夠,而且要你在臨場想出來也是強人所難,別人花了好幾次會議好幾個月甚至好幾年才構思出來的系統,要你在45~60分鐘內想出來,屬實過分。
所以我們在面試的時候必須持續溝通,詢問面試官說,這邊的需求,你想怎麼做等等。

系統設計面試都是開放式的問題,沒有標準答案,所以要慢慢限縮問題的範圍,而且實際面對需求或客戶,本來也就是這樣,每個人的認知都不同,你的大跟我的大應該是不同的。這時候如果沒有釐清需求,直接給他做下去,相信我87%痛苦的都是自己。

好了,我們先來介紹什麼是Load Balancer吧

閱讀全文 »

前言

目前接下的 SideProject 也告一個段落了,用了兩個月的時間寫出一個小系統,這其中最困難的地方莫過於幾乎全部是我通靈出來的

如果有下次,我希望能夠和我好好討論一些細節,不用讓我那麼痛苦。

好了廢話說到這

接下來是正題,我們繼續看下去

閱讀全文 »