新聞中心

文/霍炬
2015 年,互聯(lián)網(wǎng)創(chuàng)業(yè)從火熱到“寒冷“,但有一件事全年都沒(méi)有變化,就是大家都覺(jué)得招聘不到程序員。 我沒(méi)有確切的數(shù)字知道 2015 年這一年程序員的薪資增長(zhǎng)的比例,但是我確切的知道,在 2015 年,一個(gè)有3~4 年工作經(jīng)驗(yàn)的年輕程序員,在北京和上海能拿到的薪水已經(jīng)接近 2010 年盛大創(chuàng)新院給我的薪水了。要知道,2010 年盛大為了創(chuàng)建創(chuàng)新院,給出的是業(yè)界頂級(jí)的薪水,而且那時(shí)候我已經(jīng)有 8 年的工作經(jīng)驗(yàn)了。這不過(guò)是 5 年前的事,今天,3 年工作經(jīng)驗(yàn)的程序員薪水已經(jīng)到了這個(gè)水平。在中國(guó),大概唯一增長(zhǎng)率可以比的上北上廣房產(chǎn)的,就是程序員的薪水了。
很多人人根本拒絕相信這件事,不僅僅這個(gè)行業(yè)之外的人,甚至連這個(gè)行業(yè)之內(nèi)的人也覺(jué)得非常不可思議。但所有人不得不面對(duì)的一個(gè)事實(shí)是:當(dāng)你需要程序 員的時(shí)候,會(huì)發(fā)現(xiàn)根本招聘不到程序員。那個(gè)“所有都準(zhǔn)備好了,只差一個(gè)程序員就可以開工了” 完全不是笑話,我知道無(wú)數(shù)個(gè)項(xiàng)目,都是真的就差一個(gè)程序員了。
但是,他們就是招聘不到這個(gè)急需程序員。
還有很多人的看法是,過(guò)幾年程序員就好招聘了,現(xiàn)在只是泡沫時(shí)期罷了。甚至還有人認(rèn)為,過(guò)幾年我們就不需要程序員了,因?yàn)橛懈嗟墓ぞ呖梢詭椭?軟件。不好意思,這兩種想法都不是 2015 年才有的,從 1995 年,甚至 1985 年,這兩種看法就存在了。30 年來(lái),泡沫起了一輪又一輪,破了一輪又一輪,自動(dòng)化工具也確實(shí)出了一個(gè)又一個(gè),更多的平臺(tái)也被建立起來(lái),確實(shí)某種程度人,一些人可以“不需要寫程序”,也 能 *開始* 進(jìn)行互聯(lián)網(wǎng)創(chuàng)業(yè)。但是,幾十年來(lái)程序員的需求始終是上升的,符合需求,能寫出可用代碼的程序員從來(lái)沒(méi)好 招聘過(guò),這個(gè)職業(yè)一直處于一種古怪到近乎瘋狂的供不應(yīng)求階段。回頭來(lái)看,就算是 2008 年金融危機(jī)的大崩潰時(shí)刻,全世界范圍內(nèi),程序員好招聘也只持續(xù)了半年。美國(guó) H1b 簽證只有 2008 年沒(méi)用滿,之后每一年都要抽簽才能獲得,無(wú)數(shù)中國(guó)和印度的程序員急盼簽證。
“不需要寫程序就可以進(jìn)行互聯(lián)網(wǎng)創(chuàng)業(yè)”,這個(gè)倒是某種意義上是實(shí)現(xiàn)了。不過(guò)并不是有自動(dòng)生成軟件的工具,而是各種應(yīng)用平臺(tái)發(fā)展起來(lái)了。比如,一個(gè)專 心內(nèi)容創(chuàng)業(yè)的人,用微信公眾帳號(hào)就可以開始,一行程序都不用寫。但是不要忘記,這些平臺(tái)背后,仍然是無(wú)數(shù)程序員的工作成果。就算是用微信公眾平臺(tái)開始了創(chuàng) 業(yè),如果規(guī)模發(fā)展的大一點(diǎn),終究還是要寫一些程序的,要么是自己的 App/社區(qū),要么是 HTML5 做的各種活動(dòng),或者是用微信 SDK 接口做的各種自動(dòng)化功能??傊?,早晚你還是要寫點(diǎn)程序的。如果換個(gè)角度看,像微信公眾平臺(tái)這類應(yīng)用,只不過(guò)是把過(guò)去沒(méi)有寫程序能力的人拉了上來(lái)可以有個(gè)開 始,等其中的強(qiáng)者被篩選出來(lái)之后,他們又回到要雇程序員的境地。這么一看,這些平臺(tái)不僅沒(méi)有減少程序員的職位,反而擴(kuò)大了需求。如果沒(méi)有公眾平臺(tái),可能很 多創(chuàng)業(yè)者壓根到不了需要程序員支持這一天,也賺不到錢去養(yǎng)活一個(gè)程序員,現(xiàn)在,他們中的成功者終于可以活到這一天,加入競(jìng)聘程序員的行列了…
這個(gè)世界對(duì)程序員的需求幾十年沒(méi)降低,按照我的觀點(diǎn),甚至未來(lái)幾十年也不會(huì)降低,薪酬也只會(huì)持續(xù)上升。各種社交平臺(tái)上,也會(huì)見到各種惡毒嘲笑諷刺程 序員的人和段子(基本來(lái)自傳統(tǒng)行業(yè),他們大概覺(jué)得自己一輩子也不需要好好的和程序員打交道吧),這些人顯然是不相信我這個(gè)看法的。無(wú)論相信不相信,眼前的 情況就是這樣的。為什么程序員會(huì)這么難招聘,背后的原因是什么?要回答這個(gè)問(wèn)題,我一般會(huì)推薦對(duì)方看一篇文章,叫做《軟件正在吞噬整個(gè)世界》,這是 2011 年美國(guó)著名風(fēng)投 Andreessen Horowitz 創(chuàng)始人 Marc Andreessen 寫的文章。今天看來(lái),這篇文章的意義顯然被低估了,Andreessen 寫過(guò)很多文章,但這無(wú)疑是最重要的一篇,也是對(duì)未來(lái)的指向最清晰的一篇。但別說(shuō) 2011 年,就算是今天,也很少有人真正理解它的重要性。這篇文章并不長(zhǎng),看完我這篇,推薦找來(lái)再讀一遍,相信你會(huì)有新感受。
我一直非常推崇這篇文章的看法和遠(yuǎn)見,但是,我覺(jué)得他用的“吞噬”(Eating)這個(gè)詞并不好,它沒(méi)有能精確體現(xiàn)真實(shí)情況,我更愿意使用的詞是“定義”(defining)?!?strong>軟件定義現(xiàn)實(shí)世界”,這算是我發(fā)明的一個(gè)新詞。我這篇文章要寫的,就是關(guān)于軟件是何如定義現(xiàn)實(shí)世界的。
今年 3 月份的時(shí)候,我在杭州和一個(gè)朋友聊天,我們叫她夕總,是做傳統(tǒng)行業(yè)的。她很驚訝程序員為什么這么難招聘。我給她大致描述了越來(lái)越多的行業(yè)開始使用軟件來(lái)替 代傳統(tǒng)人力勞動(dòng)的狀況。她恍然大悟的說(shuō):“啊,我知道了,我家小區(qū)過(guò)去是個(gè)老大爺負(fù)責(zé)收停車費(fèi),現(xiàn)在變成了完全自動(dòng)刷卡進(jìn)入。所以,很多個(gè)老大爺被軟件替 代了,軟件又需要程序員來(lái)開發(fā)和維護(hù)?” 這個(gè)例子找的非常準(zhǔn)確,從一個(gè)具體的案例來(lái)看,就是這樣的。她敏銳的抓住了現(xiàn)實(shí)世界最基層的情況。我也繼續(xù)用這個(gè)例子做為背景說(shuō)下去。
圖片:以前是這樣的
圖片:以后都是這樣的了…
當(dāng)我們用一套停車場(chǎng)管理系統(tǒng),替代了停車場(chǎng)管理員(那個(gè)老大爺)之后,整件事情改變了什么?它并不僅僅是節(jié)約了一個(gè)老大爺?shù)娜肆Τ杀具@么簡(jiǎn)單,僅僅 節(jié)約人力成本的價(jià)值并不大,因?yàn)榛鶎芋w力勞動(dòng)的人力成本是相當(dāng)有限的,節(jié)約 20 個(gè)老大爺?shù)墓べY,也未必能比得上一個(gè)程序員的工資支出。
比節(jié)約一個(gè)人的人力成本更重要的是,我們用軟件來(lái)規(guī)范了停車場(chǎng)的行為,即所謂“定義”。在使用軟件之前,停車場(chǎng)管理員是有很大權(quán)利的,很多人都知 道,給停車場(chǎng)管理員塞一包煙,他可能就會(huì)少收你 20 塊錢停車費(fèi)。甚至很多停車場(chǎng)管理員會(huì)直接把停車費(fèi)塞到自己口袋里面,如果你沒(méi)要停車發(fā)票的話。停車場(chǎng)的運(yùn)營(yíng)是沒(méi)辦法監(jiān)督這種行為,要監(jiān)督,就需要付出巨大 的人力,甚至冒很大風(fēng)險(xiǎn)。有了軟件系統(tǒng)之后,一切都不一樣了。不再需要去監(jiān)督這種往自己口袋里面塞錢的行為了,只要軟件沒(méi)有能被他們找到的漏洞,一切都變 成了非常規(guī)范的行為。開車來(lái)的車主進(jìn)入停車場(chǎng)的時(shí)候取卡,系統(tǒng)拍下車牌照,出停車場(chǎng)的時(shí)候自動(dòng)計(jì)時(shí)收費(fèi),付錢之后停車場(chǎng)出口才打開,車才能離開。這個(gè)過(guò)程 可以完全沒(méi)有人力參與,就算是保留那個(gè)停車場(chǎng)老大爺?shù)穆毼粊?lái)做應(yīng)急工作,他的行為也是嚴(yán)格被軟件規(guī)范的。不交錢,停車場(chǎng)出口不打開,車就沒(méi)法離開停車場(chǎng), 這是一條被明確定義了的基本規(guī)則,除非暴力去破壞停車場(chǎng)設(shè)施,否則,一切都是被軟件管理的,人改變不了什么。從此,整個(gè)過(guò)程中不會(huì)再有錢的損耗,停車場(chǎng)運(yùn) 營(yíng)方會(huì)獲得更多收益。這些收益中的一部分,就變成了軟件公司的利潤(rùn),軟件公司利潤(rùn)的一部分,變成了程序員工資。
這就是軟件企業(yè)為何有巨大盈利,程序員工資為什么這么高的原因。僅從這個(gè)例子看,軟件沒(méi)有創(chuàng)造新的價(jià)值,但是在若干傳統(tǒng)行業(yè)中,軟件奪回了一部分人 本來(lái)不應(yīng)該拿到的錢,把這些錢重新變成了利潤(rùn),程序員分享了這部分利潤(rùn)。在這個(gè)停車場(chǎng)的例子中,按道理說(shuō),停車場(chǎng)管理員的收入只應(yīng)該是一份工資,不包括偷 偷塞到口袋里面的停車費(fèi),但是如果沒(méi)有軟件,這種行為是沒(méi)法阻止的,一定會(huì)有很大一筆錢流到不應(yīng)該獲得它們的人手里。另外一方面看,在車主這邊,他們的行 為也被定義了。過(guò)去很多人是愿意接受 10 塊錢買一包煙,省 20 塊錢停車費(fèi)這種設(shè)定的。但在軟件管理之下,這種利益交換沒(méi)機(jī)會(huì)發(fā)生了。在這個(gè)停車場(chǎng)的案例中,參與業(yè)務(wù)的兩方行為都被軟件重新規(guī)范和定義了。
整個(gè)過(guò)程可以這樣看:在軟件企業(yè)的幫助下,現(xiàn)實(shí)世界的資金流向被重新分配了。這就是“軟件定義現(xiàn)實(shí)世界”。軟件重新定義了社會(huì)規(guī)則,定義了人的行為。當(dāng)然,目前軟件還只是體現(xiàn)了業(yè)務(wù)人員的意愿,在這個(gè)階段,更確切的說(shuō)法是:軟件幫助人們重新定義社會(huì)規(guī)則。
這只是個(gè)開始。我們站的高一點(diǎn)看這個(gè)已經(jīng)被軟件接管了的停車場(chǎng)。你會(huì)發(fā)現(xiàn),關(guān)于它的細(xì)節(jié)都被隱藏了,你只知道它存在著接口(Interface)。 所謂接口,就是對(duì)資源的一種抽象,我們知道它提供什么,比如在這里例子中,可能是停車場(chǎng)有多少空車位,已經(jīng)停有多少車,每天有多少收益,停車場(chǎng)的位置在 哪…等等,具體的細(xì)節(jié),被裝進(jìn)了一個(gè)黑箱子里面,我們不再關(guān)心它。比如,一個(gè)軟件管理的停車場(chǎng)還有沒(méi)有看車?yán)洗鬆敚@就算細(xì)節(jié),在這種視角下,我們不再關(guān) 心這個(gè)人是否存在,也不關(guān)心他在做什么,因?yàn)橐呀?jīng)用軟件定義好了他的行為,這時(shí)候我們只關(guān)心提供結(jié)果的接口即可。
在軟件世界中,知道了接口,就可以使用這一份資源。從此,我們把這個(gè)停車場(chǎng)可以看作軟件世界里存在的一個(gè)單元(Unit), 剛才說(shuō)了,它的現(xiàn)實(shí)狀況已經(jīng)被裝進(jìn)黑箱子屏蔽掉了。如果你只有一個(gè)這樣的單元,它只能用來(lái)規(guī)范基本行為,但如果你在相鄰街道再有一個(gè)這樣的“停車場(chǎng)單 元”,這時(shí)候就能開始有一些新的變化了。比如,停車場(chǎng)單元A已經(jīng)幾乎停滿了,但停車場(chǎng)單元B還空著一半車位,這時(shí)候就可以通過(guò)軟件來(lái)調(diào)整資源,讓車主盡量 往停車場(chǎng)B停。具體手段有很多,比如通過(guò)智能手機(jī)發(fā)送一條消息,告訴正在開來(lái)的車主,停車場(chǎng)A要排隊(duì) 10 分鐘,停車場(chǎng)B排隊(duì) 1 分鐘就可進(jìn)入。自然可以分流一部分人到停車場(chǎng)B。甚至是把停車場(chǎng)B的停車價(jià)格降價(jià) 10%,吸引更多人前往。這些實(shí)時(shí)的,根據(jù)資源剩余情況的動(dòng)態(tài)配置,利用傳統(tǒng)手段是不可能做到的。一方面是傳統(tǒng)手段沒(méi)法快速反饋信息,另外一方面,傳統(tǒng)方 式的審批決策流程過(guò)長(zhǎng),要降價(jià)總要有個(gè)負(fù)責(zé)人批準(zhǔn)一下吧?從而讓實(shí)時(shí)的動(dòng)態(tài)調(diào)整變得不可能。但在一個(gè)被軟件定義的世界里面,是可以做到的。在這種模式下, 如果我們?cè)倨帘蔚艟唧w的引導(dǎo)辦法(降價(jià),排隊(duì)時(shí)常通知之類),甚至可以把A和B兩個(gè)停車單元合并成一個(gè)看,即,在軟件層面上,我們有了一個(gè)更大的停車場(chǎng)單 元。
再繼續(xù)下去,如果有更多的資源具有了接口,他們之間還可以發(fā)生什么交互?比如,兩個(gè)停車場(chǎng)旁邊有兩個(gè)規(guī)模和品質(zhì)相似的餐館A和餐館B,它們也具有了 接口,軟件世界里面,我們抽象出餐館單元A和B,知道它們的座位有多少空余,知道今天廚房有什么材料,知道價(jià)格…那么,停車單元A報(bào)告自己已經(jīng)滿了的時(shí) 候,這時(shí)候餐館B是不是愿意暫時(shí)降價(jià) 10% 來(lái)吸引更多客源?如果餐館B通過(guò)降價(jià),成功把自己空余的資源賣掉了,他是否愿意分享一部分利潤(rùn)給停車場(chǎng),以及分享一部分利潤(rùn)給幫助進(jìn)行資源配置的軟件運(yùn)營(yíng) 方?
這些都是會(huì)在未來(lái)發(fā)生的事情。越來(lái)越多的現(xiàn)實(shí)世界資源通過(guò)一個(gè)接口,接入軟件世界,成為一個(gè)抽象的單元,它們會(huì)直接發(fā)生相互的作用,這就是我們多年 所說(shuō)的“智能化”。所有的這一切,最終都需要軟件實(shí)現(xiàn)。把一個(gè)現(xiàn)實(shí)資源抽象成接口這件事,在軟件行業(yè)稱之為“虛擬化”,一個(gè) 60 年代軟件行業(yè)就使用的概念。通常這個(gè)詞被用于云計(jì)算行業(yè),云計(jì)算產(chǎn)業(yè)在真正的物理計(jì)算機(jī)上虛擬出了計(jì)算機(jī)、路由器、內(nèi)存…把這些資源彈性分配給需要的用戶 使用。但實(shí)際上,現(xiàn)實(shí)世界的一切都是可以通過(guò)這種方式被虛擬化的。這就是未來(lái)被軟件定義的現(xiàn)實(shí)世界。對(duì)于這樣的世界,如果找一個(gè)更容易理解的例子,最適合 的是游戲。未來(lái)的一切都像即時(shí)戰(zhàn)略游戲所表現(xiàn)的那樣,如果你玩過(guò)星際爭(zhēng)霸,大概會(huì)記得拿鼠標(biāo)點(diǎn)一下,派出一個(gè) SCV 去采礦,用鼠標(biāo)點(diǎn)一下工廠,坦克就開始被生產(chǎn)出來(lái)。在這個(gè)過(guò)程中,操作者只需要知道點(diǎn)鼠標(biāo)下達(dá)指令,之后收獲指令的結(jié)果。點(diǎn)一下鼠標(biāo),幾分鐘之后得到一輛 坦克,至于工廠里面具體如何生產(chǎn)一輛坦克,SCV 如何獲得礦石,這些細(xì)節(jié)被屏蔽掉,不用在關(guān)心。將來(lái)現(xiàn)實(shí)世界,傳統(tǒng)行業(yè)的一切都會(huì)變成這樣,甚至連下達(dá)指令的(玩游戲)的這個(gè)操作者早晚也會(huì)被軟件替代。
我并不是在寫科幻小說(shuō),在今天,很多行業(yè)已經(jīng)實(shí)現(xiàn)了類似的效果。比如航空業(yè),這個(gè)行業(yè)里面很多部分已經(jīng)是高度虛擬化的了,他們已經(jīng)可以用一個(gè)指揮系統(tǒng)調(diào)動(dòng)各種地勤和支持資源去完成航空行業(yè)運(yùn)轉(zhuǎn)的各種流程。當(dāng)然,他們也需要好多程序員來(lái)開發(fā)和維護(hù)這個(gè)系統(tǒng)…
說(shuō)到這里,推薦一部非常符合這個(gè)主題的動(dòng)畫片,叫做《夏日大作戰(zhàn)》,這部 2009 年的動(dòng)畫用圖形化和更易懂的方式描述了這種未來(lái)的場(chǎng)景,非常好看。這是 2010 年,當(dāng)時(shí)還在九城工作的布布推薦我的,我們都非常喜歡它,也一致認(rèn)為這就是未來(lái)。(布布這個(gè)人也在笑來(lái)關(guān)于比特幣的文章里面出現(xiàn)過(guò),他跟笑來(lái)說(shuō)不要挖礦, 要花錢去買比特幣…是一個(gè)非常傳奇的家伙)
圖片:夏日大作戰(zhàn)
我們?cè)僬靖咭稽c(diǎn),看之前描述的場(chǎng)景?,F(xiàn)在我們有了若干的資源單元,他們分布在不同的行業(yè),這些單元已經(jīng)被軟件定義好了,我們看作是黑箱。在軟件之 下,又定義了無(wú)數(shù)具體工作人員的行為。剛才的例子里面,除了停車場(chǎng)管理員,還有廚師,服務(wù)員…沿著這個(gè)思路繼續(xù)想,還會(huì)有給餐館進(jìn)貨,供應(yīng)原材料的供應(yīng) 商,維修停車場(chǎng)設(shè)施的公司…所有這些,會(huì)會(huì)被虛擬化成軟件世界中的一個(gè)單元。然后是各種被提供服務(wù)的人(所謂用戶),他們有接收信息的方式,大到計(jì)算機(jī), 小到智能手機(jī),或者各種嵌入式系統(tǒng),比如特斯拉電動(dòng)車駕駛艙里面的那塊大屏幕…一個(gè)使用手機(jī)的用戶,或者一輛特斯拉,同樣都可以被抽象成一個(gè)帶有接口的資 源單元。所有資源單元的行為,都是被軟件定義的,他們之間的交互方式和可能產(chǎn)生的結(jié)果,同樣是被軟件定義和調(diào)配的。這其中的每一層,每一部分,都需要大量 程序員的工作。越來(lái)越多的現(xiàn)實(shí)資源被虛擬化,也就產(chǎn)生了更多的交互和更多的可能性,這些一樣需要程序員去實(shí)現(xiàn)。今天,人類社會(huì)被虛擬化成軟件的資源還只有 極少的部分,我沒(méi)有具體統(tǒng)計(jì)的數(shù)字,但大家只要想想自己每天的現(xiàn)實(shí)生活所需所用,至少能有個(gè)大概的感知,恐怕被虛擬化的資源連1% 都不到。未來(lái)的空間有多大?幾乎是無(wú)限量的大。
現(xiàn)實(shí)世界能被虛擬化到什么程度呢,我之前幾次推薦過(guò)科幻小說(shuō)《雪崩》里面描述了未來(lái)的世界只剩下三種職業(yè):娛樂(lè)業(yè)、程序員和 Pizza 快遞員。這本寫于 90 年代初的小說(shuō),早年看起來(lái)非常震撼,今天看起來(lái)…覺(jué)得他還不夠極端。因?yàn)楝F(xiàn)在我們已經(jīng)確知了,Pizza 快遞員的工作會(huì)被無(wú)人機(jī)改變,娛樂(lè)業(yè)會(huì)被 VR/AR 改變。最后干脆現(xiàn)實(shí)世界只剩下了程序員這一種職業(yè)…軟件并沒(méi)有吞噬掉現(xiàn)實(shí)世界,而是重新定義了現(xiàn)實(shí)世界的所有資源。
圖片:雪崩封面
所以,今天一切關(guān)于軟件/互聯(lián)網(wǎng)泡沫的看法都是過(guò)時(shí)的。現(xiàn)實(shí)世界的虛擬化已經(jīng)快到了相當(dāng)?shù)某潭?,我們真的需要大量的程序員,未來(lái)仍然需要,有多少都 不夠用。因?yàn)槌绦騿T職業(yè)缺口太大了,早就不是有錢就能招聘到的了,甚至一個(gè)程序員因?yàn)楣疽蚩?,就?huì)選擇另外一家企業(yè),因?yàn)樗麄兛蛇x擇的余地實(shí)在太大 了。很多企業(yè)遠(yuǎn)遠(yuǎn)沒(méi)意識(shí)到問(wèn)題的嚴(yán)重性,而聰明的企業(yè),已經(jīng)在忙著做“企業(yè)技術(shù)文化”工作了。如果你不是 BAT,又不是一個(gè)很酷的新公司,程序員們根本對(duì)你沒(méi)有興趣,到這個(gè)境地,花別人一倍的錢也未必能雇到人,所以就需要做技術(shù)文化工作,去宣傳我們也是很酷 的,我們也是能改變世界的…從而不至于在這種競(jìng)爭(zhēng)中落后。
最近一段時(shí)間,我周圍很多其他行業(yè)的朋友都跑來(lái)問(wèn)我,是不是他們應(yīng)該學(xué)寫一點(diǎn)程序。我通常都回答,只要你有興趣,學(xué)的下去,那就當(dāng)然應(yīng)該。就算不能 成為職業(yè)程序員,在這個(gè)軟件定義一切的行業(yè)里面,理解程序如何產(chǎn)生,理解程序員如何工作,那就一定會(huì)有一份更好的職業(yè)機(jī)會(huì)等著你。為什么不學(xué)呢?
以上這些,就是難以雇到程序員這種狀況產(chǎn)生的基本面,因?yàn)檫@個(gè)職業(yè)缺口確實(shí)太大了,未來(lái)這種職業(yè)缺口不僅不會(huì)減少,毫無(wú)疑問(wèn)還會(huì)繼續(xù)擴(kuò)大下去,甚至可以夸張一點(diǎn)的說(shuō),人類世界現(xiàn)代化的速度,很大程度被程序員數(shù)量不夠制約…
網(wǎng)頁(yè)標(biāo)題:為什么你招聘不到程序員,以及軟件如何定義現(xiàn)實(shí)世界
文章路徑:http://fisionsoft.com.cn/article/cdjeoii.html


咨詢
建站咨詢
