2014年11月29日,在北京3W咖啡我們在寒冷的下午里迎來了一場熱情的技術聚會。在一款產品的生命周期里,在開發和測試的過程中會遇到各種各樣的問題。本期主題為開發工具專場,各路牛人從開發到上線的各個環節的不同角度為大家帶來了自己的方法論和技術觀。
F.I.R im :用單元測試打造更健壯的iOS應用
王猛首先介紹了關于單元測試的定義和采取單元測試后帶來的優勢:幫助理解需求,提高實現質量,降低測試成本,利于重構,部分文檔作用,持續集成。并對每個方面給出了實例,比如其中的文檔作用是指在開發過程中,不同的人負責不同的模塊,如果有好的測試用例的話,可以讓團隊里的成員知道我們用了什么樣的方法,可以部分替代開發文檔的作用。蘋果公司在Xcode6的測試方面做了很大的改進,在新建項目的時候,默認就進行了單元測試的設置,而不像Xcode5一樣在最初的時候需要進行選擇。
七牛:從開發到上線,實戰持續交付
七牛的首席架構師李道兵帶來的分享是如何將代碼變成服務。每個創業公司都會面臨一個問題,就是如何將一個idea變成一項事業或者變成一家公司,需要經過幾個過程,第一是如何由代碼層面變成服務,第二是怎么通過服務轉向收集用戶的反饋,第三是由反饋再回到開發流程。李道兵從普通網站的架構談起,從幾個層面來談設計中面臨的問題。包括數據庫方面的壓力問題。接下來介紹了部署工具的演化史,從一開始的安裝文檔的方法到后來的FTP/SFTP,到后來的War包和做成系統安裝包和capistrano puppet/salt直到最后剛剛流行的docker,介紹了其中每中方法適用的實例和優缺點。最后結合七牛在實際開發過程中的問題介紹了部署、自動測試和持續集成方面的具體做法和這些過程中使用的工具鏈。
Leancloud:10分鐘,讓你的用戶暢聊起來
Leancloud創始人豐俊文分析了目前人們使用手機的生活狀態,他把人們用手機的社交時間大體分成兩類,一類是通信和社交時間,另一類是在線準備談資,然后用來準備通信和社交的時間。鑒于人們的這種使用傾向,在產品的設計和實現方面需要有所體現。但有時設計和開發是非常矛盾的,在產品方面一個細小的改動都會帶來工程師們的巨大的工作量,針對這種情況,目前Leancloud就可以實現在已有APP中增加聊天的設計。作為一款設計成熟的產品,除了全平臺支持之外,還實現了多種格式的消息支持,包括文本、語音、視頻、圖片,所有消息都可以保持在云端,提供API可以隨時讀取。除此以外,在產品中,leancloud采取了一種消息簽名的方式,可以對開發者的服務器進行授權。產品還內置了系統廣播、敏感詞過濾、自定義推送和自定義消息過濾。該軟件項目也加入了開源社,有很多實現的SDK是開源項目。
思必馳:移動研發最佳實踐
思必馳的CTO苗順平分別從native app和web app的區別、穩定性、性能、兼容性、耗電量、安全性和可拓展性方面來重新審視移動開發。拿穩定性的方面來描述,最直觀的指標是Crash率。經過了兩年的時間,Crash率由1.6%下降到萬分之二。關于安卓的穩定性建議,嘉賓給出的代碼檢查工具是Lint、Findbugs和Checkstyle。提到性能的優化,苗順平給出了當年喬布斯的一個用戶研究結果,用戶能夠進行等待的時間極限是7s,現在的性能已經能夠做到從7s到3s的轉變。涉及到圖片的優化方法,主要的方式有三種:使用模塊、運用圖片金字塔和使用Pngout。在思必馳的開發實踐中,還有很多這樣細微的實例。
伍星:如何打造全棧工程師
優才網的創始人伍星在最初的時間先分享了自己的從業經驗,從自己的學生時代追溯到成為一名全棧工程師的經歷。全棧工程師的概念最早由Facebook的團隊提出來的一個概念,現在行業普遍需求較大的職位,是創業公司進行人才招聘的首選。這個職位需要全面的技術、較強的學習能力、產品的思維,是綜合素質要求較高的復合性人才。在分享過程中,伍星坦言年輕的時候應該盡量多多接觸一些看似無用的知識,自己在較早的歲月中無意中接觸到的技術,在日后的過程中都有應用的時候,所以要以一個開放的心態來擁抱知識。工程師在小型的創業團隊里,常常會面臨批量擴容的問題,這也是都是全棧工程師在成長過程中必須面臨的問題。
開發者最佳實踐日是由七牛云存儲發起并聯合各方小伙伴為開發者舉辦的系列技術沙龍,關注開發者在實際應用中可能遇到的技術問題。致力于為勇于創新的開發者們提供行業內最前沿最熱門的技術干貨,以技術驅動應用創新,讓更多的開發者享受技術帶來的生活樂趣。七牛以后也將持續地為開發者和創業者們帶來行業最新的技術干貨分享。