“哦,夏先生,你好你好。”范統(tǒng)坐直了身體,關(guān)掉了免提,拿起了聽(tīng)筒,“怎么樣,‘胖橘’的銷售還順利吧?”
“托您的福,還不錯(cuò)。”夏冬的聲音聽(tīng)不出太多情緒,“今天打電話給您,是想再麻煩您一件事。”
“您說(shuō)。”
“我想注冊(cè)一個(gè)商標(biāo),網(wǎng)站用的。”
“網(wǎng)站?”范統(tǒng)一邊說(shuō),一邊在電腦上打開了客戶檔案,找到了夏冬的資料,“沒(méi)問(wèn)題,網(wǎng)站屬于尼斯分類的第42類,提供計(jì)算機(jī)領(lǐng)域的服務(wù)。您想好名字了嗎?”
“想好了,叫‘快看網(wǎng)’。”
“快看……”范統(tǒng)在鍵盤上敲下這幾個(gè)字,“不錯(cuò)的名字,簡(jiǎn)單易記。具體需要保護(hù)哪些類別?我建議除了核心的42類,最好把涉及廣告的35類,和涉及通訊服務(wù)的38類也一起注冊(cè)了,做個(gè)防御性保護(hù)。”
“就按您說(shuō)的辦。”夏冬的回答干凈利落,毫不拖泥帶水,“您把需要的文件清單發(fā)給我,我盡快準(zhǔn)備好。”
“好,我現(xiàn)在就讓小唐整理一下,整理好以后,讓她直接在QQ上傳給你,這樣快一些。”
“好。”。
……
花開兩朵,各表一枝,千里之外的京城,一座矗立在CBD云端的鋼鐵森林里。
三十二樓,燈火通明。
茶水間,一個(gè)男人正靠在墻上,手里端著一杯剛沖的咖啡,眉頭緊鎖。
男人名叫陳默,三十五歲,國(guó)內(nèi)某頂尖互聯(lián)網(wǎng)公司的首席架構(gòu)師。
他的頭發(fā)有些凌亂,黑色的T恤上印著一行外人看不懂的二進(jìn)制代碼,眼神里透著一股被高強(qiáng)度腦力勞動(dòng)反復(fù)淬煉后的疲憊與銳利。
他身后,是一片開放式辦公區(qū),幾個(gè)程序員兄弟還在工位上噼里啪啦地敲著代碼,但大部分人已經(jīng)下班了。
“默哥,還沒(méi)走?”
一個(gè)戴著黑框眼鏡的年輕程序員端著泡面湊了過(guò)來(lái),是他的得力干將小李。
陳默沒(méi)有回頭,只是“嗯”了一聲。
“項(xiàng)目那個(gè)異步處理的瓶頸,還沒(méi)找到合適的解決方案?”小李吃了口茶水間的小零食,含糊不清地問(wèn)。
陳默搖了搖頭,把咖啡一飲而盡,苦澀的液體順著喉嚨滑下,卻沒(méi)能讓他煩躁的思緒有半點(diǎn)平復(fù)。
“現(xiàn)有的框架,并發(fā)一上來(lái),效率就指數(shù)級(jí)下降,底層邏輯的限制,沒(méi)辦法。”
“國(guó)外的那些技術(shù)論壇也翻遍了,沒(méi)什么新東西。”
“一群大神天天在上面吵一些屠龍之術(shù),離實(shí)際應(yīng)用還差得遠(yuǎn)。”
小李嘆了口氣:“那怎么辦?總不能真讓兄弟們從頭造輪子吧?這項(xiàng)目周期……”
陳默沒(méi)說(shuō)話,轉(zhuǎn)身走回自已的工位。
他的工位很亂,桌上堆著好幾本英文原版的技術(shù)書籍,顯示器上密密麻麻全是代碼。
他揉了揉太陽(yáng)穴,鬼使神差地打開了一個(gè)收藏夾里的網(wǎng)站。
GitHub。
一個(gè)三個(gè)月前才剛剛上線的網(wǎng)站,一個(gè)程序員的“同性交友”社區(qū),一個(gè)開源代碼的托管平臺(tái)。
在2008年的中國(guó),知道它的人鳳毛麟角,用它的人更是少之又少。
陳默也只是前幾天聽(tīng)一個(gè)海歸同事提了一嘴,覺(jué)得新奇,就收藏了下來(lái)。
他想著,或許能在這里找到一些不一樣的靈感。
網(wǎng)站界面很簡(jiǎn)潔,甚至可以說(shuō)是簡(jiǎn)陋。
滿屏的英文項(xiàng)目,像是代碼的海洋。
他漫無(wú)目的地翻著,就像在沙灘上尋找一枚獨(dú)特的貝殼。
一個(gè)個(gè)項(xiàng)目從他眼前劃過(guò),大多是一些個(gè)人練習(xí)用的小工具,或者是一些現(xiàn)有框架的修修補(bǔ)補(bǔ),沒(méi)什么新意。
他有些失望,正準(zhǔn)備關(guān)掉頁(yè)面。
就在這時(shí),一個(gè)項(xiàng)目標(biāo)題突兀地闖入了他的視線。
“Tornado 一個(gè)基于Python的、可擴(kuò)展的、非阻塞式的Web服務(wù)器框架。”
“Tornado?”
直譯過(guò)來(lái),就是龍卷風(fēng)的意思。
名字倒是起的不錯(cuò)。
但下一秒,他的目光就被標(biāo)題下那一行簡(jiǎn)短的介紹給吸引住了。
那是一行……中文。
是的,在這滿是英文的世界里,這行中文簡(jiǎn)介就像是黑白照片里唯一的一抹彩色,扎眼,又突兀。
“簡(jiǎn)介:采用epoll非阻塞IO模型,單線程即可實(shí)現(xiàn)超高并發(fā)。簡(jiǎn)潔,高效,為未來(lái)而生。”
陳默的眉毛挑了起來(lái)。
“有點(diǎn)意思。”
在GitHub這種地方用中文寫簡(jiǎn)介,只有兩種可能。
要么是個(gè)完全不懂規(guī)矩的菜鳥,自?shī)首詷?lè)。
要么,就是不小心把私有的項(xiàng)目的代碼給公開了。
看標(biāo)題,好像是個(gè)了不得的思路。
帶著一絲好奇和審視,陳默點(diǎn)了進(jìn)去。
上傳時(shí)間:一小時(shí)前。
很新,新得像剛出爐的面包,還冒著熱氣。
項(xiàng)目作者:Dong Xia。
看ID,的確是個(gè)中國(guó)人,而且項(xiàng)目代碼的貢獻(xiàn)者,只有一個(gè)人。
一個(gè)人開發(fā)的項(xiàng)目啊,估計(jì)質(zhì)量應(yīng)該不會(huì)高到哪里去。
不過(guò)既然點(diǎn)進(jìn)來(lái)了,還是看看吧。
他首先點(diǎn)開README文檔,也就是項(xiàng)目的說(shuō)明文件。
文檔依舊是中文寫的。
里面詳細(xì)闡述了作者的設(shè)計(jì)理念,羅列了傳統(tǒng)Web框架在處理高并發(fā)請(qǐng)求時(shí)的種種弊端,并提出了自已的一整套解決方案。
越看,陳默的表情就越嚴(yán)肅。
他原本輕松靠在椅背上的身體,不知不覺(jué)間已經(jīng)坐直,整個(gè)上身微微前傾,幾乎要貼到屏幕上。
“用事件循環(huán)來(lái)處理IO……把每一個(gè)請(qǐng)求都視作一個(gè)非阻塞的任務(wù)……”
“這……這個(gè)想法……”
他的呼吸變得有些急促。
這不是什么小打小鬧的改進(jìn),這幾乎是從底層邏輯上,對(duì)現(xiàn)有的Web開發(fā)模式發(fā)起了一場(chǎng)顛覆性的革命!
如果……如果這個(gè)想法真的能實(shí)現(xiàn)……
陳默的心跳開始加速。
他立刻下載,將整個(gè)項(xiàng)目的代碼包拷貝到了本地。
沒(méi)有絲毫猶豫,他用代碼編輯器打開了項(xiàng)目文件夾。
一股清爽、利落的氣息撲面而來(lái)。
代碼的目錄結(jié)構(gòu)清晰明了,命名規(guī)范統(tǒng)一,每一個(gè)模塊都被妥善地安放在它應(yīng)該在的位置。
“漂亮。”
陳默在心里由衷地贊嘆了一句。
光是這份代碼的組織能力,就足以秒殺公司里百分之九十的程序員。
這絕對(duì)不是一個(gè)新手能做出來(lái)的。
他對(duì)這個(gè)素未謀面的作者,敬意又多了三分。
他壓下心中的激動(dòng),開始從入口文件,一行一行地閱讀核心代碼。
他的手指在鼠標(biāo)滾輪上緩慢滑動(dòng),目光像是最精密的掃描儀,掃過(guò)每一個(gè)變量,每一個(gè)函數(shù),每一個(gè)類。
起初,他眉頭緊鎖,像是在破解一道復(fù)雜的謎題。