rune是Go語(yǔ)言中一種特殊的數(shù)據(jù)類型,它是int32的別名,幾乎在所有方面等同于int32,用于區(qū)分字符值和整數(shù)值,官方解釋如下:

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供蒙山網(wǎng)站建設(shè)、蒙山做網(wǎng)站、蒙山網(wǎng)站設(shè)計(jì)、蒙山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、蒙山企業(yè)網(wǎng)站模板建站服務(wù),10年蒙山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
下面我們通過(guò)一個(gè)例子來(lái)看一下:
我們猜測(cè)一下結(jié)果,hello5 個(gè)字符+1 個(gè)空格+3 個(gè)漢子,算起來(lái)應(yīng)該是 9 個(gè),長(zhǎng)度為 9 才對(duì),但是我們執(zhí)行一下,
結(jié)果打印是 15,這是為什么呢?
所以計(jì)算出的長(zhǎng)度就等于 5+1+3*3=15
如果我們需要計(jì)算出字符串的長(zhǎng)度,而不是底層字節(jié)的個(gè)數(shù),那么可以使用下面的方法:
運(yùn)行結(jié)果如下:
在 rune 定義上方還有一個(gè),byte = uint8
在寫sql語(yǔ)句時(shí),where的條件主要是 key=1 and key2=2 或者 key=1 or key2=2 這種形式[還有 and與or 混合]。
認(rèn)真分析會(huì)發(fā)現(xiàn)條件有 4部分 組成-- 字段名、操作符、查詢值、與前一個(gè)條件的關(guān)系[and,or] ,這樣就很容易實(shí)現(xiàn)了。下面就是一個(gè)說(shuō)明,為了簡(jiǎn)化,其中會(huì)默認(rèn)省略一些特征。
啟動(dòng)項(xiàng)目
訪問(wèn)測(cè)試地址:
帶分頁(yè)的地址:
1. 保留但大幅度簡(jiǎn)化指針
Go語(yǔ)言保留著C中值和指針的區(qū)別,但是對(duì)于指針?lè)爆嵱梅ㄟM(jìn)行了大量的簡(jiǎn)化,引入引用的概念。所以在Go語(yǔ)言中,你幾乎不用擔(dān)心會(huì)因?yàn)橹苯硬僮鲀?nèi)寸而引起各式各樣的錯(cuò)誤。
2. 多參數(shù)返回
還記得在C里面為了回饋多個(gè)參數(shù),不得不開(kāi)辟幾段指針傳到目標(biāo)函數(shù)中讓其操作么?在Go里面這是完全不必要的。而且多參數(shù)的支持讓Go無(wú)需使用繁瑣的exceptions體系,一個(gè)函數(shù)可以返回期待的返回值加上error,調(diào)用函數(shù)后立刻處理錯(cuò)誤信息,清晰明了。
3. Array,slice,map等內(nèi)置基本數(shù)據(jù)結(jié)構(gòu)
如果你習(xí)慣了Python中簡(jiǎn)潔的list和dict操作,在Go語(yǔ)言中,你不會(huì)感到孤單。一切都是那么熟悉,而且更加高效。如果你是C++程序員,你會(huì)發(fā)現(xiàn)你又找到了STL的vector 和 map這對(duì)朋友。
4. Interface
Go語(yǔ)言最讓人贊嘆不易的特性,就是interface的設(shè)計(jì)。任何數(shù)據(jù)結(jié)構(gòu),只要實(shí)現(xiàn)了interface所定義的函數(shù),自動(dòng)就implement了這個(gè)interface,沒(méi)有像Java那樣冗長(zhǎng)的class申明,提供了靈活太多的設(shè)計(jì)度和OO抽象度,讓你的代碼也非常干凈。千萬(wàn)不要以為你習(xí)慣了Java那種一條一條加implements的方式,感覺(jué)還行,等接口的設(shè)計(jì)越來(lái)越復(fù)雜的時(shí)候,無(wú)數(shù)Bug正在后面等著你。
同時(shí),正因?yàn)槿绱耍珿o語(yǔ)言的interface可以用來(lái)表示任何generic的東西,比如一個(gè)空的interface,可以是string可以是int,可以是任何數(shù)據(jù)類型,因?yàn)檫@些數(shù)據(jù)類型都不需要實(shí)現(xiàn)任何函數(shù),自然就滿足空interface的定義了。加上Go語(yǔ)言的type assertion,可以提供一般動(dòng)態(tài)語(yǔ)言才有的duck typing特性, 而仍然能在compile中捕捉明顯的錯(cuò)誤。
5. OO
Go語(yǔ)言本質(zhì)上不是面向?qū)ο笳Z(yǔ)言,它還是過(guò)程化的。但是,在Go語(yǔ)言中, 你可以很輕易的做大部分你在別的OO語(yǔ)言中能做的事,用更簡(jiǎn)單清晰的邏輯。是的,在這里,不需要class,仍然可以繼承,仍然可以多態(tài),但是速度卻快得多。因?yàn)楸举|(zhì)上,OO在Go語(yǔ)言中,就是普通的struct操作。
6. Goroutine
這個(gè)幾乎算是Go語(yǔ)言的招牌特性之一了,我也不想多提。如果你完全不了解Goroutine,那么你只需要知道,這玩意是超級(jí)輕量級(jí)的類似線程的東西,但通過(guò)它,你不需要復(fù)雜的線程操作鎖操作,不需要care調(diào)度,就能玩轉(zhuǎn)基本的并行程序。在Go語(yǔ)言里,觸發(fā)一個(gè)routine和erlang spawn一樣簡(jiǎn)單。基本上要掌握Go語(yǔ)言,以Goroutine和channel為核心的內(nèi)存模型是必須要懂的。不過(guò)請(qǐng)放心,真的非常簡(jiǎn)單。
7. 更多現(xiàn)代的特性
和C比較,Go語(yǔ)言完全就是一門現(xiàn)代化語(yǔ)言,原生支持的Unicode, garbage collection, Closures(是的,和functional programming language類似), function是first class object,等等等等。
看到這里,你可能會(huì)發(fā)現(xiàn),我用了很多輕易,簡(jiǎn)單,快速之類的形容詞來(lái)形容Go語(yǔ)言的特點(diǎn)。我想說(shuō)的是,一點(diǎn)都不夸張,連Go語(yǔ)言的入門學(xué)習(xí)到提高,都比別的語(yǔ)言門檻低太多太多。在大部分人都有C的背景的時(shí)代,對(duì)于Go語(yǔ)言,從入門到能夠上手做項(xiàng)目,最多不過(guò)半個(gè)月。Go語(yǔ)言給人的感覺(jué)就是太直接了,什么都直接,讀源代碼直接,寫自己的代碼也直接。
部署簡(jiǎn)單。Go編譯生成的是一個(gè)靜態(tài)可執(zhí)行文件,除了glibc外沒(méi)有其他外部依賴。這讓部署變得異常方便:目標(biāo)機(jī)器上只需要一個(gè)基礎(chǔ)的系統(tǒng)和必要的管理、監(jiān)控工具,完全不需要操心應(yīng)用所需的各種包、庫(kù)的依賴關(guān)系,大大減輕了維護(hù)的負(fù)擔(dān)。這和Python有著巨大的區(qū)別。由于歷史的原因,Python的部署工具生態(tài)相當(dāng)混亂【比如setuptools,distutils,pip,
buildout的不同適用場(chǎng)合以及兼容性問(wèn)題】。官方PyPI源又經(jīng)常出問(wèn)題,需要搭建私有鏡像,而維護(hù)這個(gè)鏡像又要花費(fèi)不少時(shí)間和精力。
并發(fā)性好。Goroutine和channel使得編寫高并發(fā)的服務(wù)端軟件變得相當(dāng)容易,很多情況下完全不需要考慮鎖機(jī)制以及由此帶來(lái)的各種問(wèn)題。單個(gè)Go應(yīng)用也能有效的利用多個(gè)CPU核,并行執(zhí)行的性能好。這和Python也是天壤之比。多線程和多進(jìn)程的服務(wù)端程序編寫起來(lái)并不簡(jiǎn)單,而且由于全局鎖GIL的原因,多線程的Python程序并不能有效利用多核,只能用多進(jìn)程的方式部署;如果用標(biāo)準(zhǔn)庫(kù)里的multiprocessing包又會(huì)對(duì)監(jiān)控和管理造成不少的挑戰(zhàn)【我們用的supervisor管理進(jìn)程,對(duì)fork支持不好】。部署Python應(yīng)用的時(shí)候通常是每個(gè)CPU核部署一個(gè)應(yīng)用,這會(huì)造成不少資源的浪費(fèi),比如假設(shè)某個(gè)Python應(yīng)用啟動(dòng)后需要占用100MB內(nèi)存,而服務(wù)器有32個(gè)CPU核,那么留一個(gè)核給系統(tǒng)、運(yùn)行31個(gè)應(yīng)用副本就要浪費(fèi)3GB的內(nèi)存資源。
良好的語(yǔ)言設(shè)計(jì)。從學(xué)術(shù)的角度講Go語(yǔ)言其實(shí)非常平庸,不支持許多高級(jí)的語(yǔ)言特性;但從工程的角度講,Go的設(shè)計(jì)是非常優(yōu)秀的:規(guī)范足夠簡(jiǎn)單靈活,有其他語(yǔ)言基礎(chǔ)的程序員都能迅速上手。更重要的是Go自帶完善的工具鏈,大大提高了團(tuán)隊(duì)協(xié)作的一致性。比如gofmt自動(dòng)排版Go代碼,很大程度上杜絕了不同人寫的代碼排版風(fēng)格不一致的問(wèn)題。把編輯器配置成在編輯存檔的時(shí)候自動(dòng)運(yùn)行g(shù)ofmt,這樣在編寫代碼的時(shí)候可以隨意擺放位置,存檔的時(shí)候自動(dòng)變成正確排版的代碼。此外還有g(shù)ofix,
govet等非常有用的工具。
執(zhí)行性能好。雖然不如C和Java,但通常比原生Python應(yīng)用還是高一個(gè)數(shù)量級(jí)的,適合編寫一些瓶頸業(yè)務(wù)。內(nèi)存占用也非常省。
ORM-Object-Relationl Mapping,即對(duì)象關(guān)系映射,這里的Relationl指的是關(guān)系型數(shù)據(jù)庫(kù)
它的作用是在關(guān)系型數(shù)據(jù)庫(kù)和對(duì)象之間作一個(gè)映射,這樣,我們?cè)诰唧w的操作數(shù)據(jù)庫(kù)的時(shí)候,就不需要再去和復(fù)雜的SQL語(yǔ)句打交道,只要像平時(shí)操作對(duì)象一樣操作它就可以了
GORM就是go語(yǔ)言實(shí)現(xiàn)的一個(gè)ORM庫(kù)
特點(diǎn):
增加(Create)
檢索(Retrieve)
更新(Update)
刪除(Delete)
如果模型中有 DeletedAt 字段,它將自動(dòng)擁有軟刪除的能力!當(dāng)執(zhí)行刪除操作時(shí),數(shù)據(jù)并不會(huì)永久的從數(shù)據(jù)庫(kù)中刪除,而是將 DeletedAt 的值更新為當(dāng)前時(shí)間。
具體的使用可查看gorm 官方文檔
在項(xiàng)目中我們定義一個(gè)全局的GVA_DB,方便使用時(shí)調(diào)用
后續(xù)我們?cè)谛枰樵償?shù)據(jù)庫(kù)時(shí)便可直接通過(guò)global.GVA_DB使用
比如創(chuàng)建商品信息:
我們先通過(guò)查詢分類是否存在,然后再創(chuàng)建商品
通過(guò)gorm的鏈?zhǔn)讲僮骺梢院芊奖愕倪M(jìn)行crud操作
分頁(yè)查詢是項(xiàng)目中經(jīng)常使用到的功能,當(dāng)指定條件查詢的數(shù)據(jù)量過(guò)大時(shí),如果我們將數(shù)據(jù)一次性返回,會(huì)對(duì)數(shù)據(jù)庫(kù)造成較大的負(fù)荷,同時(shí)降低接口的性能,通常我們會(huì)使用分頁(yè)查詢的方式讓數(shù)據(jù)進(jìn)行分段展示,從而保障接口的性能。在gorm中我們實(shí)用Offset,和Count來(lái)實(shí)現(xiàn)分頁(yè)
我們通過(guò)前端的傳遞過(guò)來(lái)的分頁(yè)數(shù)據(jù)進(jìn)行查詢
該商城作為gin的學(xué)習(xí)項(xiàng)目,沒(méi)有很復(fù)雜的邏輯,所有業(yè)務(wù)邏輯均通過(guò)Mysql實(shí)現(xiàn)。包括后面將要介紹的登錄態(tài),也是如此。
所有代碼已上傳github,有興趣的可以訪問(wèn),如果有更好的建議也歡迎提交issure,pr
同樣是高中,寫了一個(gè)郵箱爆破工具,把班上一個(gè)女生的郵箱破解了,看了她寫在郵箱里的日記,原來(lái)她不喜歡我。那個(gè)時(shí)候我知道了,技術(shù)可以揭示真相,但改變不了人心。
上大學(xué)的時(shí)候每學(xué)期期末都要在教務(wù)系統(tǒng)評(píng)價(jià)老師,雖然沒(méi)有任何卵用,但是它還居然不能同時(shí)填寫一個(gè),也就是說(shuō),你不能全部填A(yù),也不能全部填B或者C或者D,這很麻煩,所以我做了一個(gè)插件,點(diǎn)一下就完事兒,隨機(jī)填寫,保證能提交成功,獲得了全校同學(xué)的喜愛(ài)。
大二的時(shí)候滲透了學(xué)校圖書館的服務(wù)器,在里面植入了我的木馬,可以任意借書,只要檢測(cè)到我的名字,就直接刪除借出信息,于是我借的一本普林斯頓高等數(shù)學(xué)就在寢室躺了三年,不過(guò)我也只借了這一本。
社交網(wǎng)絡(luò)這部電影火起來(lái)的時(shí)候,我也抓了全校學(xué)生的照片,做了個(gè)類似facemash的網(wǎng)站,后來(lái)被輔導(dǎo)員發(fā)現(xiàn)了,就關(guān)停了。
后來(lái)搞到一個(gè)樹(shù)莓派,更是做了許多好玩的東西,比如接上揚(yáng)聲器和話筒,用百度語(yǔ)音識(shí)別接口和圖靈機(jī)器人的接口實(shí)現(xiàn)了一個(gè)語(yǔ)音助手,我只要在客廳問(wèn)他,今天天氣怎么樣,他就會(huì)回答天氣如何,而且我還加了定時(shí)任務(wù)在里面,每隔一段時(shí)間,會(huì)發(fā)微博@我的女朋友注意喝水
先不回答問(wèn)題,先聊聊這個(gè)聽(tīng)說(shuō)!
程序員并不是瘋子,只是邏輯思維可能比較的接近于計(jì)算機(jī)思維,所以常常有些頑固。
成天和代碼打交道不假,不過(guò),交流也是程序員比較重要的一個(gè)能力,所以溝通能力還是比較強(qiáng)的,只是說(shuō),做技術(shù)的人都有個(gè)通病,就是,不感興趣的話題,我不插嘴。
so,有本事和程序員聊數(shù)碼產(chǎn)品,你看看他話多還是少。
最后一個(gè),很難找對(duì)象。
這個(gè)其實(shí)是一個(gè)誤區(qū),我認(rèn)識(shí)的30+單身的妹紙,絕對(duì)比30+單身的程序員多非常多。but,這些30+單身的程序員,基本都看不上這些30+單身的妹子。
所以,程序員找不到對(duì)象只是一種假象。
好了,說(shuō)說(shuō)我寫得最牛的一個(gè)程序吧。
很早很早以前,我們做了一個(gè)應(yīng)用程序商城,當(dāng)時(shí)還不是移動(dòng)互聯(lián)網(wǎng)時(shí)代,智能手機(jī)才剛剛問(wèn)世,所以,我們的應(yīng)用程序商城賣的是SaaS系統(tǒng)。
我們有非常非常多的SaaS系統(tǒng)提供商,包括Microsoft、Google等等。
所有的這些SaaS系統(tǒng),我們這里賣的都是license,license也分等級(jí),例如高級(jí)用戶,中級(jí)用戶,初級(jí)用戶。
每個(gè)SaaS系統(tǒng)也有不同的通訊協(xié)議和報(bào)文格式。
因?yàn)槲覀円獙?duì)接的SaaS系統(tǒng)非常多,我們不可能去每個(gè)系統(tǒng)單獨(dú)對(duì)接,所以,我們就自己做了一個(gè)模塊,能夠?qū)⑺械耐ㄓ崈?nèi)容進(jìn)行配置。并且,這些配置都是可視化的。
用戶在根據(jù)我們的配置,進(jìn)行不同的選擇,然后付費(fèi),我們?cè)趯⑦@些內(nèi)容傳遞給SaaS系統(tǒng)。
but,這個(gè)并不算是復(fù)雜的。
這些SaaS軟件的提供商都是老大,他們需要能夠知道并且測(cè)試自己的系統(tǒng)在我們商城下運(yùn)行是否順暢,并且他們可能會(huì)調(diào)整自己的一些配置,也需要知道這些調(diào)整會(huì)不會(huì)有影響。
因此,我們就做了一套系統(tǒng),這套系統(tǒng)可以根據(jù)這些SaaS軟件提供商基于自己的系統(tǒng)接口的配置基礎(chǔ)上再進(jìn)行配置,然后按照這些配置自動(dòng)的一步步執(zhí)行,如果執(zhí)行不下去了,將結(jié)果告訴SaaS軟件提供商,并且告知他是什么問(wèn)題引起的。
例如: SaaS軟件提供商想模擬一個(gè)企業(yè)用戶購(gòu)買了1個(gè)高級(jí)用戶License,再購(gòu)買了3個(gè)普通用戶license,然后將其中2個(gè)普通用戶license升級(jí)為高級(jí)用戶,然后將1個(gè)高級(jí)用戶license降級(jí)為普通用戶,然后,將1高級(jí)用戶license分配給了員工A,1個(gè)普通用戶license分配給了員工B,然后注銷掉所有的普通用戶license。
當(dāng)然,這個(gè)流程可以非常長(zhǎng)非常長(zhǎng),而且其實(shí)內(nèi)部規(guī)則很多,例如,有的SaaS系統(tǒng)可能是,注銷普通license后,如果有空閑的高級(jí)license,普通license所分配的用戶需要自動(dòng)分配到高級(jí)license上,但有的SaaS確是,注銷后,用戶需要閑置。
所以,當(dāng)時(shí)這個(gè)配置化的通信模塊,并且還含有規(guī)則的功能就已經(jīng)很復(fù)雜了,還要在此基礎(chǔ)上做一個(gè)自動(dòng)化的測(cè)試系統(tǒng),基本上我們都快做哭了。
你自己測(cè)試自己的接口,能不能自己寫腳本,懶到爆了。
我覺(jué)得自己最牛X的程序是高中時(shí)在學(xué)習(xí)機(jī)上用6502匯編語(yǔ)言寫的鋼琴程序。
當(dāng)時(shí)的裕興學(xué)習(xí)機(jī)帶一種學(xué)習(xí)卡,可以使用匯編寫程序,買到了一本薄薄的匯編語(yǔ)言指令書籍,對(duì)照一些《電子報(bào)》的零星資料,自己學(xué)習(xí)了解學(xué)習(xí)機(jī)的地址劃分、指令集。
當(dāng)時(shí)為了搞明白程序干啥用的,搞白紙從屏幕(電視機(jī))抄了很多反匯編代碼。那臺(tái)學(xué)習(xí)機(jī)的內(nèi)存1M,還使用了內(nèi)存分頁(yè),有限的資料要搞明白內(nèi)存是怎么劃分的,真是耗了很多腦細(xì)胞。最要命的是寫程序不帶存儲(chǔ)功能,每次要寫就要重新輸入一遍程序。后來(lái)又學(xué)它的手柄控制、Midi音樂(lè)、鍵盤控制、軟驅(qū)控制,但那時(shí)候這些東西對(duì)自己來(lái)說(shuō)太難了,有的能搞出來(lái),有的沒(méi)成功。
最后還是用它的匯編寫了個(gè)電子琴程序。
學(xué)習(xí)卡另外還自帶G-Basic的情況下,用basic實(shí)現(xiàn)更容易,我也是先學(xué)Basic后學(xué)的匯編。現(xiàn)在自己也一度覺(jué)得,那時(shí)候自己是一生中自學(xué)能力的巔峰,可惜了當(dāng)時(shí)學(xué)習(xí)資料太少,長(zhǎng)大了學(xué)習(xí)能力急劇下滑,到現(xiàn)在也沒(méi)啥出息。
不要妖魔化程序員,程序員只是一個(gè)職業(yè)身份。黑客是程序員的一種,所謂的黑客其實(shí)也是寫代碼而已,只是因?yàn)榇a有特別的功能,就像黑匣子那樣神秘,所以才會(huì)被稱為黑客吧。怎么樣神秘,其實(shí)我也不知道,但是可以肯定的是,無(wú)非就是在現(xiàn)有系統(tǒng)和代碼的前提下,利用Bug而實(shí)現(xiàn)其特殊功能而已。
不鼓勵(lì)程序員寫所謂的黑程序,大多數(shù)場(chǎng)合一點(diǎn)價(jià)值都沒(méi)有,甚至還可能違法違規(guī)。實(shí)際上,網(wǎng)絡(luò)安全已經(jīng)很發(fā)達(dá),你能看到的所謂的漏洞,很可能是請(qǐng)君入甕。
程序員的確要花很多時(shí)間和代碼打交道,但是除了代碼,還有很多人和事。比如產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理、設(shè)計(jì)與美工、架構(gòu)與系統(tǒng)、項(xiàng)目組其他成員同事。如果你是從事和硬件相關(guān)的軟件開(kāi)發(fā),那么你還需要和硬件以及硬件團(tuán)隊(duì)打交道。所以,成天只和代碼打交道,基本上不是什么現(xiàn)實(shí)情況。
程序員干得久,普遍來(lái)說(shuō)確實(shí)要比干銷售之類的要沉默內(nèi)向一些,或者說(shuō)有些木訥吧。我認(rèn)為主要是工作環(huán)境影響的吧,大部分時(shí)間其實(shí)還是與代碼打交道,構(gòu)思,編寫,調(diào)試,修改,驗(yàn)證。
程序員其實(shí)還是很好找女朋友的哦,主要是給人實(shí)誠(chéng)可靠的感覺(jué)。再加上,程序員普遍的工資都不算低,如果是一線城市,二十萬(wàn)年薪起步的大有人在,三十萬(wàn)年薪起步的也不少,五十萬(wàn)年薪以上的就相對(duì)少一點(diǎn)。如果是大廠的程序員,五十萬(wàn)年薪起步其實(shí)并不算多。
瘋子通常和天才是近義詞,所謂的瘋子不是醫(yī)學(xué)上的瘋子,是看起來(lái)和常人不一樣,思維和行動(dòng)可能也會(huì)有差異。但大多數(shù)程序員都不是瘋子,因?yàn)榇蠖鄶?shù)程序員都不是天才。天才不是瘋子,瘋子更不是天才,只是他們之間有一些交叉特點(diǎn),就是與常人不太一樣。
最后,還是正面回答一下題主的問(wèn)題。我沒(méi)有寫過(guò)黑客般的程序,也沒(méi)有寫過(guò)很牛X的程序。我覺(jué)得我寫的比較好的那些程序,是框架好,穩(wěn)定性好,擴(kuò)展性好。我有很多代碼,從寫好之后,縱橫多個(gè)平臺(tái),歷經(jīng)十幾年的考驗(yàn),經(jīng)歷了很多量產(chǎn)項(xiàng)目的洗禮,我想這就是好代碼之一吧。
我對(duì)這些不懂,但是,給我記憶最深刻的。就是一個(gè)寫冒險(xiǎn)島外掛的一個(gè)人,那個(gè)外掛名字叫香飄飄,好像是寫到079?還是哪個(gè)版本。然后就不寫了。然后他本人說(shuō)不寫外掛的原因是!!!要去上高中了,要認(rèn)真讀書了,然后就不寫了!
我先回答找不到對(duì)象這個(gè)問(wèn)題,這一定是個(gè)初級(jí)程序員,我認(rèn)識(shí)的程序員比我大的只有一個(gè)單身,結(jié)婚比例超過(guò)百分之九十九,所以說(shuō)程序員找不到對(duì)象這個(gè)結(jié)論不知道是誰(shuí)發(fā)明的。
另外我些過(guò)最牛X的程序是一個(gè)bug,當(dāng)天公司的交易額降低到零…
比較滿意的,是我自己在維護(hù)著的黑帽seo工具。
我做黑帽seo也有七八年了,對(duì)搜索引擎的算法了解得非常深刻,百度搜狗各種接口,快排,反推,強(qiáng)引,寄生蟲(chóng)……都是第一時(shí)間掌握。幾萬(wàn)個(gè)站點(diǎn)經(jīng)驗(yàn),加上我個(gè)人見(jiàn)解的seo技巧,用php迭代了4個(gè)版本,維護(hù)著的一個(gè)全自動(dòng)排名的seo工具。
目前開(kāi)了一家跨境電商的公司,正利用它做谷歌。
牛逼之處那當(dāng)然就是賺了不少的錢啦,其他說(shuō)什么都是虛的。做這行這么久,早就褪去了各種技術(shù)標(biāo)準(zhǔn),各種有的沒(méi)的技術(shù)噱頭的爭(zhēng)論熱情了。一個(gè)用dede采集搞的權(quán)5下載站,它也價(jià)值一兩百萬(wàn),吹技術(shù)是最無(wú)聊的事。
計(jì)劃在四五月用go迭代到第五個(gè)版本,解決加密和性能的問(wèn)題,一天幾千萬(wàn),上億的蜘蛛量,php真的不行,之前想用swool的,看到他們團(tuán)隊(duì)的破事,就轉(zhuǎn)向了go,額外說(shuō)一句,go語(yǔ)言真好用。
不過(guò)目前也沒(méi)有什么商業(yè)化的想法,所以就不要認(rèn)為我在割韭菜了。純粹是無(wú)聊,分享一下,吹吹牛逼。也不用找我引流,除非一個(gè)流量跳轉(zhuǎn)能貴過(guò)3毛錢。
名稱欄目:go語(yǔ)言分頁(yè) go 分詞
轉(zhuǎn)載注明:http://chinadenli.net/article10/doopcgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、微信公眾號(hào)、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)