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