0514-86177077
9:00-17:00(工作日)
面對谷歌地圖標注代碼有多大?這種疑問,你可能會用收入、股票價格、客戶數(shù)量或者是形而上學的影響力來回答這個疑問。可是,這還不是悉數(shù)。Google 作為全球最大的互聯(lián)網(wǎng)公司,咱們當然可以用互聯(lián)網(wǎng)思想來考慮這個疑問,比如用代碼數(shù)量來衡量它。 來自于 Google 的 Rachel Potvin,在周一舉行的硅谷工程會議上給了咱們一個可以參閱的答案。她表明,運轉(zhuǎn)全部 Google 互聯(lián)網(wǎng)效勞的軟件,包含了 Google 查找、Gmail、Google地圖等,大概有20億行代碼。相比之下,從20世紀80年代就開端開發(fā)的 Windows 操作體系——有史以來為單一計算機所開發(fā)的最雜亂的軟件東西之一,只要5000萬行代碼。 所以簡略一刀切的話,樹立 Google 適當于建40個 Windows 體系。 當然,5000萬行代碼驅(qū)動的僅僅是 Windows 體系自身,而20億行代碼則是 Google 的悉數(shù)。Google 的事務(wù)掩蓋規(guī)劃及其廣,包含了查找、地圖、文檔、交際、日歷、郵件、視頻,以及別的互聯(lián)網(wǎng)效勞,全部20億行代碼都存放在代碼資本庫中,供給應(yīng)悉數(shù)2.5 萬名 Google 工程師調(diào)用。在公司內(nèi)部,Google 對待它的代碼就像對待一個無窮的操作體系。Potvin 表明:盡管不能證實這一點,但我以為這是全球最大的單一信息庫。 Google 是一個極點比如,但它展現(xiàn)了如今的軟件在互聯(lián)網(wǎng)年代有多雜亂,以及咱們怎么改動運用的編碼東西和理念,以習慣這種雜亂性。Google 的無窮資本庫僅適用于內(nèi)部程序員,但在某種程度上,它現(xiàn)已類似于Github——一個向全部大眾敞開的源代碼庫,工程師可以經(jīng)過互聯(lián)網(wǎng)同享代碼。咱們正在 走向一個需求常常大規(guī)劃合作代碼的世界,也只要這么才干跟上現(xiàn)代互聯(lián)網(wǎng)效勞的開展。 GitHub 就表明:Google 擁有2.5萬名工程師,他們可以與內(nèi)部擁有各種不一樣技能的人分享代碼。可是小公司可以運用 GitHub 和開源,得到相同的優(yōu)勢。 另一方面,樹立并運轉(zhuǎn)一個20億行代碼的巨大體系,并不簡略。Lambert 表明:這是一項技能應(yīng)戰(zhàn),也是一個無窮豪舉,數(shù)字適當驚人。 GitHub 可以讓程序員輕松同享代碼和協(xié)作,它涵蓋了數(shù)以百萬計的項目,但沒有直接包容軟件項目。Google 則更進了一步,將許多項目兼并成一個。鑒于觸及許多工程師以及一起敷衍如此多代碼的難度,能做到這一點十分地張狂。 Piper Google 為了一起敷衍全部代碼,現(xiàn)已樹立了自個的版別控制體系:Piper。它在全部巨大的網(wǎng)絡(luò)基礎(chǔ)設(shè)施上運轉(zhuǎn),體系掩蓋了10個不一樣的 Google 數(shù)據(jù)中心。 這一體系不只將全部20億行代碼都存放在單一的體系內(nèi),并供給應(yīng)公司內(nèi)部工程師調(diào)用,更給工程師供給了更多自在,可以運用及兼并橫跨許多項目的代碼。 Potvin 表明:當你開端一個新項目,Google 現(xiàn)已供給了有豐厚資本的圖書館,簡直全部作業(yè)都現(xiàn)已幫你完結(jié)。更主要的是,工程師可以在全部 Google 效勞中進行代碼改動和當即布置。更新一件事,就可以更新全部。 當然運用這個體系也有約束。Potvin 表明,某些高度機密的代碼,如PageRank 查找算法,被存儲在一個獨自的資本庫中,只供給應(yīng)特定職工。并且,因為Android 和 Chrome兩個操作體系與那些在線效勞有非常大的差異,Google 會將它們的代碼存儲在獨自的版別控制體系中。但在大多數(shù)情況下,Google 代碼都是一個全體。 機器程序員 Lambert 指出,構(gòu)建和運轉(zhuǎn)這么的一個體系,不只需求知道怎么做到這種事,還需求巨大的計算才能。Piper 天天需求處理大概85TB的數(shù)據(jù)(即85000GB),Google 的 2.5萬名工程師天天會對資本庫做出45000次提交(修正)。 與此一起,Piper 還必須能刪去人類程序員所發(fā)生的許多冗余。它必須保證代碼準確無誤,程序員不會相互干與,要能從資本庫中刪去過錯和未運用的代碼。而恰是存在這全部艱 難,Piper不得不接手一些人類的作業(yè)。如今,Google 現(xiàn)已從之前的一個版別控制體系Perforce,切換到了 Piper,讓機器來完結(jié)一部分作業(yè)。 這并不意味著 Google 要讓機器人編寫代碼,但它們的確可以生成許多運轉(zhuǎn)軟件所需的數(shù)據(jù)和配置文件。程序員和機器人需求協(xié)調(diào)一致,保護代碼健康。如今現(xiàn)已不只要人類在保護代碼了。 讓全部人受惠的 Piper 別的公司能否獲益于同類體系呢?當然能,并且也的確有公司這么做了。Facebook 的主應(yīng)用有2000萬行以上代碼,公司把全部作業(yè)作為一個獨自的項目。還有一些公司以較小規(guī)劃在做相同的作業(yè),而當這些公司不斷挨近 Google 或 Facebook 的規(guī)劃,也會做相同的事。但Google 和 Facebook 都在探索可以改動每個人的辦法。 兩家巨子正在開發(fā)一個開源的版別控制體系,任何人都可以用它來處理大規(guī)劃代碼。它根據(jù)現(xiàn)有體系Mercurial,Google正試圖擴展 Mercurial 資本庫,到達Google的規(guī)劃。
標簽:湖北 武漢 廈門 茂名 湖南 常州 宿州 紹興
上一篇:吉祥物變化是搜狗地圖標注的開始
下一篇:百度地圖標注享代駕“醉high星期五”
Copyright ? 1999-2012 誠信 合法 規(guī)范的巨人網(wǎng)絡(luò)通訊始建于2005年
蘇ICP備15040257號-8