當前位置:
首頁 > 科技 > Spring Boot 美女開發者:編程不是男孩子的專屬遊戲

Spring Boot 美女開發者:編程不是男孩子的專屬遊戲

采編 | 木環

嘉賓 | Madhura Bhave

相信不少 Java 開發者都不會對 Spring 陌生,作為開源項目,Spring 備受關注也與時俱進。在各個公司開始嘗試落地微服務的過程中,Spring Boot 是不可不研究 。為了更好地了解 Spring Boot,InfoQ 專門對 Spring Boot 團隊開發者 Madhura Bhave 進行了採訪,這位來自 Pivotal 的美女程序員進行了專業而又深入淺出的解答。

受訪者簡介

Madhura Bhave, Pivotal 的 Spring Boot 團隊中的開發人員。在加入 Spring Boot 團隊之前,Madhura 曾從事 UAA 相關的工作(UAA 是適用於 Cloud Foundry 的身份驗證和授權組件,用 Spring 編寫)。Madhura Bhave 將作為分享嘉賓出席 8 月 26 日於北京召開的 Spring Summit,進行《魔術揭秘:深入挖掘 Spring Boot 的內在潛力》的主題分享。

InfoQ:能否用您自己的方式向我們介紹下 Spring Boot 和 Spring 框架?

Madhura Bhave:Spring Framework 是一個可用於創建企業級應用程序的 Java 平台。 Spring 專註於企業應用程序的「管道」,使團隊可以專註於應用程序級的業務邏輯。它有超過 20 個模塊,如 Web、數據訪問 / 集成等等,這可能使 Spring 成為構建應用程序的一站式服務。Spring Boot 基於 Spring 框架,使應用程序開發人員可以快速創建生產級應用程序,而不需要進行太多配置。它會嘗試根據您添加的 Jar 來自動配置應用程序。

可以將 Spring 框架視為車輛的部件,並將 Spring Boot 作為製造車輛本身。根據個人選擇車輛部件,獲得汽車、卡車、飛機等。

InfoQ:Spring Boot 的設計原則是怎樣的?

Madhura Bhave:Spring Boot 的設計原則之一是配置的約定哲學。它旨在幫助創建一個可以「運行」,讓開發者快速運行應用程序。它被設計為高度開箱即用,但用戶也同樣可以根據自己需求進行設置。

InfoQ:能否解釋下 Spring Boot 與 Spring Cloud 之間的關係?

Madhura Bhave:Spring Boot,Spring Cloud 和 Microservices 都可以混淆,但三者之間的關係其實是正交。

微服務架構是將軟體應用程序構建為一套小型、可獨立部署的服務的一種方式。其目標是通過將應用程序分成多個可組合的部分,使應用程序更易於構建和維護。

Spring Cloud 構建在 Spring Boot 之上,重點是為分散式應用程序提供良好的開箱即用體驗。 Spring Cloud 包含了一些增強應用程序行為的庫、配置屬性、服務發現、斷路器,這些都是 Spring Cloud 對分散式系統的支持。剛才所說的這些模式都是微服務架構的重要組成部分,因此 Spring Cloud 非常適合開發微伺服器。

InfoQ:與已有同類項目、自行編寫方案相比,Spring 的特點是怎樣的?

Madhura Bhave:與同類項目相比,我認為 Spring 可以很好地管理兩個矛盾的目標:長期的可用性即 API 穩定性 vs 對最新技術(JDK 和庫版本)和趨勢的支持。

與自編碼解決方案相比,Spring 擁有大量用戶群體,可以幫助 Spring 提供恰到好處的 API 和編程模型,而這些幾乎可以覆蓋所有的需求場景。

InfoQ:Spring 一直在不斷改善豐富,但這是不是也意味著越來越複雜?您怎麼看待這件事?您如何設想 Spring Boot 的未來?

Madhura Bhave:今年 Spring Boot 2.0 版本即將問世。Spring 確實很大,因為它與很多不同的技術相結合。但是,儘管 Spring 輻射的技術區域不斷增加,但我並不認為這意味著更複雜。Spring 是高度模塊化的設計,開發者只需要關心他選擇的組件。Spring Boot 正是為簡化 Spring 配置而設計的,這本身就是一個很好的例子。

軟體開發是一個迅速發展並且充滿挑戰的行業。Spring 一直在努力地跟進優秀的新範式,比如最近的響應式編程(reactive programming)。同時,Spring 提供了一致的模型,並允許開發者將積累的知識用於新範例的使用。 Spring Boot 2.0 主要新特性集成了 Spring Framework 5 中對響應式編程的支持。

InfoQ:如何掌握 Spring Boot 等 Spring 項目?有哪些推薦入門的資料?

Madhura Bhave:入門 Spring 和 Spring Boot 有很多學習資源。 Spring 團隊撰寫很多使用方法和技巧指南 https://spring.io/guides。 Josh Long 也有一個 Spring Tips 視頻系列:https://www.youtube.com/playlist?list=PLgGXSWYM2FpPw8rV0tZoMiJYSCiLhPnOc。

InfoQ:請談談 Pivotal 在 Spring 的貢獻,如何使其成為一個開放源碼,同時又是商業產品?

Madhura Bhave: Spring 本身是開放的源碼,擁有大量的貢獻者。 Pivotal 是 Spring 的主要贊助商,並且大部分 Spring 的社區貢獻者都在Pivotal 工作。 Pivotal 還擁有 Pivotal Cloud Foundry(PCF),它是一個基於開源 Cloud Foundry 的平台即服務(PaaS)。 Spring 為 PCF 提供了一些商業產品,使 PCF 成為運行 Spring Boot 和 Spring Cloud 應用程序的最佳選擇。

Spring Cloud 項目中有伺服器端組件,包括 Spring Cloud Netflix 和 Spring Cloud Config 等,這些可以作為 PCF Marketplace 中的提供服務。 PCF Apps Manager UI 與 Spring Boot 致動器端點集成,可以更輕鬆地監控和管理雲中的應用程序。當然,由於商業產品建立在現有的開源項目之上,社區的反饋和貢獻在塑造 Spring 項目方面發揮了重要作用。

InfoQ:人們說,「編程是男孩子的遊戲」。您對此怎麼看?可以結合您的親身經歷談談嗎?

Madhura Bhave:我認為你的編碼能力與你的性別無關。在 Pivotal 的工作中,我曾與女工程師合作,他們的工程能力與他們最好的男性不相上下。不可否認的是,這個行業中男性佔了大多數,而且女性數量略顯缺乏。還有一些技術強的女性並不是很積極地為開源項目貢獻,可能是對自己的能力沒有足夠信心、擔心不被接受。然而,依據我的所見所聞,女性技能並不差。同時,並不是所有人都歧視女生,以我親身經歷舉例,在我的團隊中,我的意見和其他同事一樣被受到重視。

InfoQ:能告訴我們「什麼是一個好的軟體工程師」?成為一個好的程序員的基本能力是什麼?

Madhura Bhave:要在任何領域取得成功,你必須愛上你所做的事情。這同樣適用於編程,你的熱情和奉獻會陪伴你走很長很遠的路。當然,我也認為溝通和同理心也很重要,特別是在開源項目 (OSS,Open-source software) 中,共同協作的人們分布在世界各地。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

90%的預測準確率覆蓋30%的訂單,滴滴出行「猜您要去」目的地預測系統是怎麼做的?
人工智慧這麼火,普通程序員怎麼學?今晚直播!
聽說你是做運維的,這些新運維技術你都知道么?
恆豐銀行微服務架構優化實踐
BAT前端面試的 5 大關鍵點,你 Get 到了嗎?

TAG:InfoQ |

您可能感興趣

ionic 編程Range
Kotlin 編程
Perl Socket 編程
Scala 編程Collection
Docker編程 Hello World
ionic編程 select
並發編程之AQS(AbstractQueuedSynchronizer)
TensorFlow手把手教你概率編程:TF Probability內置了開源教材,新手友好
XLink 和 XPointer 編程
DeepLearning-Ng編程中遇到的一些問題
《編程模擬器》Industrial espionage金牌通關攻略
jQuery Mobile編程
Firebug編程
Highcharts 編程
首款大疆地面機器人發布:RoboMaster S1,教孩子們學編程
育碧攜手Mozilla 合作開發AI編程助手Clever-Commit
基於Swift 5的編程教學Swift Playgrounds即將推出
《編程模擬器》Reinforcement learning 0金牌通關攻略
Python非同步Web編程
為什麼編程啟蒙要學 Scratch,不是Python?