我只記得展氓,我好像看過(guò)一幅漫畫(huà)侮繁,講述一枚雞蛋和一只小雞的故事色徘,在那副漫畫(huà)中各薇,小雞說(shuō)了一句‘Hello World’ ——Brian Kernighan
前些天在微博看到騰訊玄武實(shí)驗(yàn)室的TK教主發(fā)了一個(gè)動(dòng)態(tài),大意是:以前有個(gè)家境很好的二代找到TK鳞仙,表達(dá)了對(duì)信息安全的熱愛(ài)寇蚊,可是這位二代有個(gè)習(xí)慣每次要寫(xiě)代碼的時(shí)候,就必須要開(kāi)車(chē)到一個(gè)非常安靜的地方然后開(kāi)瓶紅酒才能寫(xiě)得了代碼棍好。
當(dāng)我在timeline中無(wú)意刷到這條動(dòng)態(tài)的時(shí)候仗岸,瞬間感到當(dāng)頭一棒的驚醒,在過(guò)去的很長(zhǎng)一段時(shí)間里梳玫,我也常常陷入了這樣的誤區(qū)里爹梁,更可笑的是我還不是能到處喝紅酒的二代,只是個(gè)窮逼提澎。在決定進(jìn)入一個(gè)陌生的領(lǐng)域之前姚垃,我總是為自己設(shè)想了太多的阻礙,總是花了過(guò)多的時(shí)間和精力在準(zhǔn)備做件事盼忌,而沒(méi)有集中精力的去做這件事本身积糯。
我總是力求完美的,造孽的處女座谦纱。
拿起鍵盤(pán)就是干
當(dāng)我想通真正阻擋自己前進(jìn)的原因之后看成,一切就變得簡(jiǎn)單而快樂(lè)了,管它用什么IDE跨嘉、管它什么電腦配置川慌,打開(kāi)記事本拿起鍵盤(pán)就是干。于是,開(kāi)始網(wǎng)上找教程梦重,因?yàn)榇髮W(xué)學(xué)過(guò)點(diǎn)C語(yǔ)言和網(wǎng)頁(yè)設(shè)計(jì)兑燥, 畢業(yè)之后又自己學(xué)了點(diǎn)java啥,對(duì)編程心里還是有點(diǎn)底的(如果知道后面會(huì)遇到這么難題我打死都不會(huì)說(shuō)出這句話的琴拧,臉被打腫了)降瞳。
就這樣在網(wǎng)上晃蕩了兩晚上,決定用Python+Django來(lái)實(shí)現(xiàn)我的博客蚓胸,為什么會(huì)是Python這個(gè)語(yǔ)言呢挣饥?我主要是基于這兩個(gè)原因決定的:
- 人生苦短我用Python,對(duì)于小白的我這個(gè)語(yǔ)言足夠友好沛膳,非常簡(jiǎn)單
- 我學(xué)編程主要想用來(lái)做行數(shù)據(jù)分析的扔枫,Python下面豐富的科學(xué)計(jì)算庫(kù)無(wú)疑好利器
- 后面學(xué)爬蟲(chóng),用來(lái)爬點(diǎn)不可描述的資源 呵呵
好了語(yǔ)言選好了于置,決心下了茧吊,阻礙掃除了贞岭,拿起鍵盤(pán)就是干八毯。開(kāi)始以為我這11年買(mǎi)的小黑耐不住我的折磨,沒(méi)想到老一輩的小黑做工還是非常不錯(cuò)的瞄桨。就這樣每天白天完成了公司的工作之后话速,8點(diǎn)半回到家之后就開(kāi)始一邊看書(shū),看教程敲了芯侥。過(guò)程中我之前設(shè)想的問(wèn)題一個(gè)都沒(méi)有出現(xiàn)泊交,2G內(nèi)存i3處理器的小黑也很給面子沒(méi)有任何卡頓,各種工具安裝柱查,編譯都異常的順利廓俭。工程開(kāi)展的異常順利~哎又說(shuō)早了
自己挖坑跳坑填坑
話音剛落隨著項(xiàng)目的往前推進(jìn),需要的知識(shí)面開(kāi)始變得復(fù)雜起來(lái)了唉工。為了保證項(xiàng)目可以順利按照預(yù)期完成上線研乒,我一邊對(duì)著教程完成工程的主體代碼。一邊學(xué)習(xí)其他的支線知識(shí):惡補(bǔ)了html淋硝,學(xué)會(huì)了用git有了自己的github倉(cāng)庫(kù)雹熬,掌握了Markdown語(yǔ)法(再也不用被word的排版破壞心情了),期間還用小爬蟲(chóng)爬了一些不可描述的資源(我這是正經(jīng)的科研學(xué)習(xí))
在不斷的自我挖坑填坑中谣膳,項(xiàng)目跌跌撞撞在11月下旬開(kāi)始成型了竿报,當(dāng)我通過(guò)admin賬號(hào)本地發(fā)出第一篇test時(shí),這感覺(jué)就像初戀般的感覺(jué)(有點(diǎn)過(guò)了继谚,飄了)烈菌。
沒(méi)被linux折磨個(gè)3天3夜是不完整的
啊,終于走到這步了,本地的開(kāi)發(fā)工作完成了芽世,終于可以開(kāi)始部署上線了侨嘀!但是這個(gè)喜悅之情僅僅停留了不到1分鐘,看完整個(gè)部署的教程之后我徹底蔫了捂襟。我對(duì)部署咬腕,服務(wù)器,linux是這個(gè)什么鬼我都沒(méi)有一點(diǎn)概念葬荷,就知道是個(gè)服務(wù)器系統(tǒng)涨共,對(duì)于是選Ubuntu還是其他鏡像我都是一臉懵逼。
就這樣我徹底蔫了一星期宠漩,沒(méi)有去動(dòng)項(xiàng)目代碼举反,反復(fù)看了好幾遍整個(gè)部署教程“怯酰看著距離項(xiàng)目上線的日期越來(lái)越近火鼻,整個(gè)人開(kāi)始感覺(jué)越來(lái)越慌,眼看這就要deadline了雕崩。難道我又一次打退堂鼓魁索?不存在的!還是拿起鍵盤(pán)就是干盼铁。(被自己帥到)
如果要讓網(wǎng)站可以讓人在外網(wǎng)訪問(wèn)到粗蔚,那就必須要有一臺(tái)正常運(yùn)行的服務(wù)器和一個(gè)域名。之前對(duì)服務(wù)器一點(diǎn)概念都沒(méi)有饶火,在不斷的看教程之中鹏控,我終于花了9.9元在阿里云順利買(mǎi)到了一個(gè)ECS半年的服務(wù)器,又花了15塊錢(qián)買(mǎi)了一個(gè)域名:isyd.fun肤寝。萬(wàn)事俱備当辐,就差最后一鼓作氣了。
按照教程的要求整個(gè)網(wǎng)站我使用了Ubuntu 14.04 64位,Nginx+Gunicorn來(lái)進(jìn)行部署鲤看。就當(dāng)我完成所有的準(zhǔn)備缘揪,信心滿滿的時(shí)候,前面已經(jīng)悄悄布好了許許多多的巨坑等我跳進(jìn)刨摩。部署最讓人抓狂的地方是寺晌,就算你跟著教程一步不差的來(lái)操作,也可能會(huì)導(dǎo)致失敗澡刹,其中的原因各有各的復(fù)雜呻征。
而我在整個(gè)部署中就是遇到了這個(gè)問(wèn)題, 根據(jù)教程我順利并且趕緊利落的完成了整個(gè)項(xiàng)目代碼的拉取和部署罢浇,并也成功的啟動(dòng)了nginx陆赋,gunicon沐祷。就當(dāng)我以為完美的上線時(shí),在這之后的3天3夜中攒岛,我經(jīng)歷了無(wú)數(shù)次的修改赖临,無(wú)數(shù)次的reload都無(wú)法成功完成部署,期間問(wèn)了無(wú)數(shù)的人灾锯,都沒(méi)有成功解決兢榨。就當(dāng)我以為要重裝系統(tǒng),從頭來(lái)過(guò)時(shí)顺饮,終于在修改了nginx配置文件的一行代碼之后吵聪,就順利的看到了我的網(wǎng)站成功上線了。是的兼雄,只是一行代碼我寫(xiě)錯(cuò)了吟逝,只錯(cuò)了3個(gè)字母和少了一個(gè)空格。
解決這個(gè)問(wèn)題我花了3天3夜赦肋。
但是當(dāng)網(wǎng)站上線的那一刻我就知道块攒,這個(gè)起碼夠我吹一段日子了。
那這一切都是值得的佃乘,在這一刻我終于體會(huì)到了“hello world”的快感囱井!
這只是一個(gè)開(kāi)始
這個(gè)還不夠好看的博客上線,只夠我吹一段日子而已恕稠,
這只是一個(gè)開(kāi)始琅绅。
回到本文開(kāi)頭,我學(xué)編程的目的不是要成為一個(gè)專(zhuān)職的程序員鹅巍,而只是在工作的這兩年中我個(gè)人發(fā)現(xiàn),對(duì)于互聯(lián)網(wǎng)從業(yè)人員來(lái)說(shuō)料祠,對(duì)數(shù)據(jù)的挖掘骆捧、處理、分析髓绽、輸出能力的要求已經(jīng)越來(lái)越高敛苇。而我也開(kāi)始習(xí)慣看數(shù)據(jù)說(shuō)話,所以我告訴自己掌握一門(mén)數(shù)據(jù)分析語(yǔ)言已經(jīng)變得越來(lái)越迫切顺呕,不然我可能會(huì)在未來(lái)的某一天被大潮拋棄枫攀。
當(dāng)然,學(xué)習(xí)編程這個(gè)興趣株茶,對(duì)于我來(lái)說(shuō)另一重要的影響是她可以讓我學(xué)會(huì)更多的思考方式来涨,在工作中處理問(wèn)題時(shí)可以更加的理性分析問(wèn)題。
致謝
也許你發(fā)現(xiàn)启盛,我在整個(gè)開(kāi)發(fā)的過(guò)程中都一直在強(qiáng)調(diào)說(shuō)“教程”這個(gè)詞蹦掐。是的技羔,沒(méi)錯(cuò)!在此我衷心的感謝寫(xiě)出這么優(yōu)秀教程的up主們卧抗。在寫(xiě)這個(gè)博客之前我已經(jīng)花了很長(zhǎng)的時(shí)間學(xué)習(xí)了Python的基礎(chǔ)語(yǔ)法藤滥,數(shù)據(jù)結(jié)構(gòu)了,而這些知識(shí)除了從書(shū)本中社裆,更多的是來(lái)自網(wǎng)上的資源拙绊,非常感謝這些up主們的分享。
此外泳秀,還要感謝Django學(xué)習(xí)互助QQ群里的各位小伙伴时呀,大家來(lái)自不同的城市,不同的身份晶默,因?yàn)橄嗤呐d趣遇到一起共同探討學(xué)習(xí)谨娜。這真是很棒的感覺(jué),感謝群里每位幫助過(guò)我的小伙伴磺陡。希望我有一天也可以寫(xiě)出能幫助到后來(lái)者的教程趴梢。
最后,要感謝寫(xiě)出網(wǎng)站前端模板的作者币他,整個(gè)網(wǎng)站的前端實(shí)現(xiàn)都是基于各類(lèi)模板改造而成坞靶。后面隨著我的知識(shí)點(diǎn)的深入,也許會(huì)慢慢的改掉升級(jí)蝴悉,但是你們貢獻(xiàn)的代碼我會(huì)一直記住的彰阴。
PS 網(wǎng)址:www.isyd.fun(正備案中只能通過(guò)ip訪問(wèn))
訪問(wèn)ip:120.78.149.82