原创 軟件工程:說透軟件5種常見的部署策略

hi,我是熵減,見字如面。 在軟件工程中,最終的價值交付,都是要通過軟件的部署上線來完成的。 那如何將新的或改進的軟件功能交付給用戶,同時還要確保高質量、穩定性和用戶體驗,選擇適當的部署策略變得至關重要。 複雜軟件工程中,新功能的部署,成

原创 微服務之道:8個原則,打造高效的微服務體系

hi,我是熵減,見字如面。 現在,在大型的軟件工程系統中,微服務化的系統設計,成爲了大部分時候的必然之選。 而如何將微服務做有效的設計,則是需要每一個團隊和工程師都需要考慮的一個問題。在保持系統的一致性、可理解性、可維護性和可擴展性上,需要

原创 技術團隊要小心,那些技術過早優化的跡象

hi,我是熵減,見字如面。 在軟件行業內,有一句關於技術實用性的名言:“過早優化是萬惡之源。” 在局部代碼層面上的追求先進,是無可厚非的事情。 但是,在一些小公司中,技術過早優化的現象又是很常見的。當小公司爲了追求技術的先進性和高效性,往往

原创 阿里拆了中臺,中臺還有未來嗎?

hi,我是熵減,見字如面。 近日,阿里在繼年初3月份的1+6+N的戰略變革的基礎上,對持續建設和運營8年的中臺的調整終於落地了。 阿里對中臺的這一舉措,引發了外界對於中臺戰略是否還有意義的大量質疑和討論。 甚至有人將中臺戰略稱之爲自欺欺人

原创 API架構的選擇,RESTful、GraphQL還是gRPC

hi,我是熵減,見字如面。 在現代的軟件工程中,微服務或在客戶端與服務端之間的信息傳遞的方式,比較常見的有三種架構設計的風格:RESTful、GraphQL和gRPC。 每一種模式,都有其特點和合適的使用場景,今天,我們主要來對三種風格做

原创 微服務不是軟件工程銀彈的10個原因

hi,我是熵減,見字如面。 微服務是一種軟件架構風格,其旨在通過將應用程序拆分爲小型、獨立的服務,來增強應用程序的可伸縮性、可維護性和可測試性。 雖然微服務可以爲軟件開發提供許多好處,但它們並不總是適用於所有情況的最佳選擇。 換句話說,微服

原创 軟件工程:左移策略,決策和工作要前置,是提效的關鍵

hi,我是熵減,見字如面。 在軟件開發的中,你是否也遇到過類似的場景: 團隊的目標是在1個月內,開發出一款新的社交媒體應用程序。由於時間比較緊,任務重,所以在開發的初期,方案設計、質量保障和安全性等上面,都是未能充分的考慮,以此來節省開

原创 軟件工程:阿姆達爾定律,性能設計和優化的指導原則

hi,我是熵減,見字如面。 在軟件開發中,你是否做過性能的優化,譬如: 有一個圖片處理的程序,其中包含一個函數用於對圖片進行濾鏡處理。該函數中包含兩個部分:一個可並行化的部分和一個串行部分。可並行化的部分用於對圖片的每個像素進行計算,而

原创 世界讀書日:推薦15本AI從入門到放棄的書

hi,我是熵減,見字如面。 在世界讀書日即將到來的前,以及藉着ChatGPT的火熱,各種AI大模型的創業東風,今天給大家推薦一些AI相關的圖書,希望大家能從入門到放棄,找到適合自己的熱愛。 本次推薦圖書分三個檔次,詳細如下: 入門科普型

原创 軟件工程:墨菲定律,潛在問題管理的藝術

hi,我是熵減,見字如面。 在軟件開發中,你是否遇到過這種情況: 你正在開發一個新的軟件,你已經完成了測試併發布了軟件。然而,在用戶開始使用軟件之後,你開始接到了大量的錯誤報告。你發現用戶遇到的問題並不是你測試過程中遇到的問題,這些問題

原创 軟件工程:波斯特爾定律,輸入輸出的平衡之道

hi,我是熵減,見字如面。 在軟件開發中,你是否遇到過這種情況: 你正在開發一個文件上傳的功能,用戶可以上傳各種類型的文件。按照用戶的需求場景,程序應該能夠寬容地接受各種類型和格式的圖像文件。如果用戶上傳了一個非常大的圖像文件,你無法正常

原创 軟件工程:帕金森定律,項目工期的那點事兒

hi,我是熵減,見字如面。 在軟件開發中,你是否遇到過這種情況: 團隊要開發一個簡單的購物車應用,項目預期時間是2周工期。負責開發的工程師默認利用完整的2周時間來完成任務。在第一週,工程師會認爲任務很輕鬆,有充足的時間來完成任務,所以會

原创 中臺,真的是一場自欺欺人的騙局嗎?

hi,我是熵減,見字如面。 在上週,隨着阿里集團CEO張勇的公開信發佈,阿里集團也做出了歷史上最大的一次組織調整。 隨着新的1+6+N的組織陣型的調整和落地,阿里曾經的中臺戰略,變得有點非常的尷尬了,似乎成爲了一個巨大的爭議。 譬如,有人

原创 軟件開發定律:海勒姆定律(Hyrum's Law)

hi,我是熵減,見字如面。 在軟件開發中,你是否遇到過這種情況: 你正在開發一個購物車的功能,需要在用戶添加商品到購物車時,將商品的信息存儲到數據庫中。你設計了一個簡單的方法,如下所示: public void addToCart(Item

原创 軟件開發定律:霍夫施塔特定律,爲什麼項目交付總是會延期?

hi,我是熵減,見字如面。 在軟件項目中,你是否遇到過這種情況: 一個軟件工程師,要開發一個系統功,這個系統需求有點複雜,需要新增多個模塊,同時也需要和多個系統交互。工程師會按照自己的經驗,做一個粗略的工期評估,同時在加上一點緩衝時間,從