後端程式設計師應該深入學習後端開發,還是系統學習人工智慧?有什麼好建議嗎?

lvningwei


我做後端開發多年,目前也在做人工智能方面的研究,所以我來回答一下這個問題。

為了描述後端和人工智能之間的關係,我先來說說後端開發的那些事,然後一步一步描述。

後端服務簡單的說就做兩件事情,一件事情是接收請求,另一件事情是生成回應。但是這看似簡單的步驟背後卻隱藏著眾多的處理過程,一個簡單的處理過程可以大概分成以下幾個步驟:

1.提取用戶提交的數據並判斷用戶的請求意圖。

2.對用戶提交的數據進行驗證,通常後端做的驗證屬於業務驗證。

3.匹配對應的業務處理模塊並進行具體的業務處理,這個步驟可能需要一系列的操作。

4.生產處理結果並封裝。

5.把結果推送到客戶端。

通常後端的服務會採用MVC結構,這個結構的好處太多了,但是在我看來最重要的好處就是便於合作。通常還需要一系列的操作以便於提高業務處理能力,比如創建業務組件池、數據庫連接池、外部資源池等等,容器化管理最大的好處就是可以根據業務需要隨時申請資源而不需要關心資源的開闢和回收等令人頭疼的問題。

容器管理的最大好處就像那句好萊塢的經典臺詞一樣:Don't Call me,I'll Call you!我把這句話理解為:我會在你需要的時候出現。我第一次看到這個比喻大概是在10多年前一個來自中國臺灣的作家(林信良)在描述Spring時所說。

其實這句話多少就有點可以動態擴展的意思了,所以我在做了一段時間後端開發之後,我的研究重點就放在了動態軟件體系結構上了。我做動態軟件體系結構是從瞭解OSGI開始的,當時的Eclipse就是基於OSGI結構的。研究一段時間之後,我把OSGI應用在了我當時帶的一個ERP項目中,這個系統的用戶是一個國內大型連鎖銷售企業。在經過了3年多的研發之後,系統按計劃順利通過了專家組的驗收,專家組對系統給予了較高的評價。其實,現在回過頭來看,動態軟件體系結構在某種程度上來說也具備了一定的智能(動態擴展)。

做後端開發做到一定程度一定會往智能化方向發展,因為系統越來越龐大,接入的功能越來越多。單純的通過接口已經越來越難滿足業務需求了,而類似於OSGI所代表的模塊化管理在目前看來已經是後端開發的趨勢和常態選擇了。

伴隨著大數據的發展,後端開發已經逐漸遷移到雲端平臺進行了,此時的後端開發不僅要面對簡單的業務邏輯,更要面對海量的數據處理任務,此時機器學習等內容就進入了後端開發人員的視野中了。而機器學習正是打開人工智能領域的一把鑰匙,很多後端開發人員正是通過機器學習進入了人工智能領域。

所以,按照我的歷史經驗來看,後端開發人員未來不可避免的要學習人工智能相關內容。人工智能涉及到的內容非常多,我在之前的文章中有過詳細的描述,這裡就不再累述了。總之,要想系統的學習人工智能,最好要依託項目來進行,這樣才能更容易做出成果。

我目前的主要研究方向是大數據和人工智能,我會陸續在頭條上寫一些相關的科普文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有人工智能方面的問題,可以諮詢我。

謝謝!


分享到:


相關文章: