專訪YYKit作者郭曜源:開源大牛是怎樣煉成的

“優秀的演講都是準備出來的”,隻有意識到,你才會用心去準備,演講的內容是演講成功的關鍵,那麼演講的內容該如何準備呢?




“優秀的演講都是準備出來的”,隻有意識到,你才會用心去準備,演講的內容是演講成功的關鍵,那麼演講的內容該如何準備呢?




本期主要內容:吳恩達:人工智能是新電能;Michael Jordan:目前人工智能發展到瞭什麼地步?專訪ImageNet冠軍顏水成團隊,如何將比賽成果在企業中落地?格靈深瞳:基於人工智能的新天網;機器學習與微博:TensorFlow在微博的大規模應用與實踐;深度學習在美團點評推;薦平臺排序中的運用;Twitter機器學習平臺的設計與搭建。

美國商標分類


帶著瀑佈式目標使用敏捷會讓團隊變成不關註價值交付的“特性工廠”。為瞭跳出這種思維,公司可以通過使用OKR(目的和關鍵結果)來應用現代敏捷的四大原則。現代敏捷配上OKR的適當運用是種輕量級的方法,團隊可以以此給團隊自主權,使其勇於嘗試並達成驚人的結果。




LinkedIn的飛速增長讓他們的基礎架構面臨重重壓力。為瞭順利縮放並改善代碼的質量、安全性,以及用戶滿意度,他們需要一種新的發佈模型。




編者按:最近一系列開源項目YYKit在iOS社區引起廣泛反響,由於其代碼質量高,在短時間內就收獲瞭大量的star,它的作者是國人開發者ibireme,優酷土豆的iOS開發工程師郭曜源,InfoQ社區編輯唐巧對他進行瞭采訪,瞭解這些開源項目背後的故事。


第一次聽到 ibireme 這個名字,是看到他在 微博上分享 瞭 YYText 開源庫。當時我第一眼見到 YYText 的功能示意 GIF 圖時,就被它豐富的功能吸引瞭。YYText 應該是我見到過的功能最強大的基於 CoreText 的排版框架瞭。

令人驚訝的是,YYText 雖然代碼量很大(超過一萬行),但它隻是 ibireme 的作品之一。ibireme 利用業餘時間完成瞭 YYKit 工具庫,包括:


我和一些朋友挑選瞭一些其中的組件代碼閱讀,大傢都認為質量非常高,大傢對它的評語是這樣的:


之後我抽空學習瞭一下 ibireme 的博客,上面有多篇介紹他對於 iOS 開發中各種問題的研究,例如他在開發 YYModel 時,調研和評測 瞭包括 Mantle 和 MJExtension 在內的多款開源庫。這種專業認真的做事態度讓我非常佩服,也讓我對 YYModel 的質量充滿信心。

然後,我有幸得到瞭 ibireme 的 QQ 和微信號,所以和他交流瞭多次。這時我才知道 ibireme 是一個 90 後,在優酷從事 iOS 開發工作。而這些所有的開源庫,都是他在業餘時間完成的。

我想大傢很可能對 ibireme 的學習和成長的經歷感興趣,而且 ibireme 的故事很可能會激勵更多有激情的 iOS 開發新人,利用業餘時間學習、Coding 和分享,最終讓國內的 iOS 開發技術氛圍更好。所以,我向 ibireme 發出瞭采訪邀請,ibireme 欣然接受瞭。於是,讓我們來一起揭開這位神秘人物的面紗吧。

唐巧:你好 ibireme,能否先向讀者簡單介紹一下自己?


ibireme:大傢好,我叫郭曜源,是一個 iOS 開發者,現居北京,就職於優酷土豆。喜歡代碼,愛好設計與音樂。


唐巧:我發現 YYKit 是在這個月初上傳到 github 上的,但是它的代碼量非常大,能否介紹一下每個部分大概花瞭你多長時間?


ibireme:Category 等工具類大部分都是這一兩年工作和業餘時間攢下來的。文本和圖片相關的那幾個項目是今年年初開始寫起的,陸陸續續寫瞭半年多。YYModel 花的時間最少,隻有大概兩個周末。


ibireme:最初這些代碼我都是寫在一個工程裡,代碼量比較多,相互之間也有很多依賴。準備發佈時,我覺得這樣很不方便別人使用,這才按功能拆開成一個個小的組件,然後一起發佈的。


ibireme:發佈前我有預期會收到不少關註,但是發佈後收到的好評還是大大超出我的預料。最令我驚訝的是 Facebook 和 Uber 等國外的工程師也關註到這個項目,並且還以此向我發出瞭工作邀請,這讓我非常激動。


ibireme:現在隻是計劃進行一些正常的維護工作,保證穩定性。未來如果有合適的東西,我也會嘗試加到裡面的,但應該不會有太大改變瞭。


ibireme:最近一年我工作不太忙,很少加班,空閑時間比較多。另外我比較宅,平時喜歡待在傢裡做一些喜歡的事情。說起來,應該是充足的時間加上個人興趣讓我完成瞭這些項目吧。


ibireme:相對於 Objective-C 來說,我覺得 Swift 無疑是更優秀、更現代的語言。目前我對 Swift 研究並不多,工作中也沒有用到,但未來我會把時間更多投入到 Swift 中去。YYKit 中不少東西更適合於 C/Objective-C,所以我沒有計劃用 Swift 重寫整個項目。我可能會用 Swift 寫一些新的東西,以充分發揮 Swift 的特性。


唐巧:你在 iOS 開發上是如何快速成長起來的?有沒有什麼心得可以分享給 iOS 開發新手?


ibireme:我接觸 iOS 開發的時間很早,但是一直都是在工作之餘靠著興趣自學的。14 年我還在人人網時,部門內部有個新項目需要 iOS 開發,我才得以有機會在工作中使用 iOS 相關的技術。全職轉為 iOS 開發後,我花費瞭大量的時間閱讀和學習各種開源的代碼、研究其中的實現原理、嘗試自己實現相關技術、嘗試在工作中使用,這使得我在 iOS 開發技術上進步很快。對於 iOS 開發來說,我覺得自學能力是很重要的。主動去研究一些優秀的開源項目、多在工作中實踐和學習,這樣就能逐步提升個人技術水平瞭。


ibireme:可能平時我更喜歡看代碼,對於開發者我倒是瞭解的不多吧。如果要選一位的話,我會選 Linus Torvalds。他的一句話我很喜歡: Talk is cheap, show me the code 。


ibireme:在 iOS 方面,我可能會針對 Swift、音頻處理和合成等方面投入更多精力。另外我第一份工作是 Java 後臺開發,工作時前後端、數據庫相關的東西也都接觸過,所以如果有時間的話我也會繼續學習這些技術,即使不用在工作上,也能開拓眼界吧。


剛剛 ibireme 在介紹自己學習方法的時候,提到瞭兩點我認為非常關鍵,一個就是大量地閱讀優秀項目的源代碼,另一個就是自己動手實踐來嘗試。

我在很久以前,分享過我認為 iOS 開發者可以提高自己能力的各種方法,見 《iOS 開發如何提高》,裡面也提到閱讀開源代碼和多寫代碼。我感覺 ibireme 將這一點做到瞭極致,因此他在短短一年多的時間,就能夠成長成為在業界有影響力的開源項目作者。

我們處在一個信息爆炸的時代,每一天都有大量的 iOS 開發文章出現,我們對這些文章如饑似渴,但是很多時候又淺嘗輒止。像 ibireme 這樣,專心閱讀幾個開源項目,然後自己動手真正實踐,或許才是正確的學習方式。

希望 ibireme 的故事能夠激勵那些渴望成長成為牛人的 iOS 開發新人,也希望在中國能夠出現更多像 YYKit 這樣的優秀的開源項目,與大傢共勉。


您需要 註冊一個InfoQ賬號 或者

登錄 才能進行評論。在您完成註冊後還需要進行一些設置。

獲得來自InfoQ的更多體驗。


最開始看到的的yymodel覺得很贊,後來看到一篇文章講優化,美國商標註冊台中看完覺得已經接近優化到極致瞭,後來發現竟然作者是同一人,由路轉粉瞭






我們發現您在使用ad blocker。

我們理解您使用ad blocker的初衷,但為瞭保證InfoQ能夠繼續以免費方式為您服務,我們需要您的支持。InfoQ絕不會在未經您許可的情況下將您的數據提供給第三方。我們僅將其用於向讀者發送相關廣告內容。請您將InfoQ添加至白名單,感謝您的理解與支持。

美國商標類別

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

arrow
arrow

    qis484uq80 發表在 痞客邦 留言(0) 人氣()