程序員在周末學(xué)習(xí)的8個(gè)實(shí)用技術(shù)
無(wú)論你是剛開(kāi)始接觸軟件項(xiàng)目開(kāi)發(fā)的新手程序員,還是一個(gè)正在尋找拓展技能的經(jīng)驗(yàn)級(jí)軟件工程師,都有許多學(xué)不完的新技術(shù)等待著你去拓展。當(dāng)然如果你可以在周末學(xué)習(xí)下面這些實(shí)用技術(shù),那就更棒了。學(xué)會(huì)一下8個(gè)技術(shù)或許會(huì)讓你以后有更多的周末休息時(shí)間。
熟練掌握版本控制

如果你從來(lái)沒(méi)有使用版本控制的經(jīng)歷,那么也許你現(xiàn)在會(huì)處于一種很艱難的境地:無(wú)法將代碼恢復(fù)到上一個(gè)版本,或許你只能將你的代碼以文件命名的方式進(jìn)行備份,比如index_17.html,這是多么痛苦的一件事情。
版本控制意味著你可以將你的代碼恢復(fù)到任意的版本——甚至精確到小時(shí)或者分鐘。如果你使用過(guò)Google Drive,也許會(huì)對(duì)恢復(fù)到上一個(gè)版本的功能比較熟悉,對(duì),這就是簡(jiǎn)單的版本控制原理。
靈活運(yùn)用文本編輯器
程序員每天都會(huì)將大量的時(shí)間花在各種文本編輯器上面,你應(yīng)該根據(jù)自身習(xí)慣和開(kāi)發(fā)環(huán)境的需要,選擇一款可以提高工作效率的文本編輯器,并且不斷地深入學(xué)習(xí)它的使用方法。

如果你更喜歡在終端上工作,那么這里推薦使用VIM和Emacs;如果你喜歡使用本地文本編輯器,那么可以嘗試一下Sublime Text;如果你喜歡在Mac環(huán)境中工作,也可以試試TextMate。
僅僅在文本編輯器上工作是不夠的——你應(yīng)該嘗試安裝一些插件和擴(kuò)展,讓自己的工作可以更加舒心。
強(qiáng)大的SQL

一個(gè)應(yīng)用軟件必須使用文件或者數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)用戶的數(shù)據(jù),正因?yàn)閿?shù)據(jù)庫(kù)查詢快速,并且提供更優(yōu)的查詢結(jié)果,我們的應(yīng)用便更親睞于數(shù)據(jù)庫(kù)。
SQL是一種數(shù)據(jù)庫(kù)查詢語(yǔ)言,但是僅僅是學(xué)習(xí)基礎(chǔ)的SQL對(duì)我們構(gòu)建大型復(fù)雜的應(yīng)用系統(tǒng)是遠(yuǎn)遠(yuǎn)不夠的,很多時(shí)候我們需要進(jìn)行多表,甚至是多庫(kù)的聯(lián)合查詢。
所以,我建議程序員在周末的時(shí)候可以加強(qiáng)SQL方面的練習(xí)。
神秘的NoSQL
NoSQL或者也叫Not Only SQL,它有著和傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)不同的數(shù)據(jù)存儲(chǔ)格式,NoSQL數(shù)據(jù)庫(kù)更加關(guān)注數(shù)據(jù)庫(kù)的可用性和水平擴(kuò)展能力,它也有類似SQL的數(shù)據(jù)庫(kù)查詢語(yǔ)言。
NoSQL根據(jù)不同的數(shù)據(jù)組織結(jié)構(gòu)有幾種不同的類型,盡管像Quora這樣的大公司并不使用NoSQL,但是如果你有非常龐大的數(shù)據(jù)需要處理,那么NoSQL是一種非常棒的選擇。
愛(ài)上終端

對(duì)于一些特定的工作任務(wù)來(lái)說(shuō),使用終端會(huì)比使用可視化界面來(lái)的方便。舉個(gè)例子,你需要從成千上萬(wàn)個(gè)字符串中查找并替換相應(yīng)的字符串——想象一下這需要在幾秒內(nèi)完成。
如果你在遠(yuǎn)程服務(wù)器上工作,那么你更加需要擅長(zhǎng)使用終端。盡管你可以在遠(yuǎn)程服務(wù)器上使用可視化界面來(lái)進(jìn)行操作,但是使用終端會(huì)更快一些。還有更重要的一點(diǎn)原因是——使用終端將更加節(jié)省帶寬,因?yàn)檫@樣僅僅需要傳輸一些文本信息而已。
對(duì)于終端初學(xué)者來(lái)說(shuō),周末有空了可以從簡(jiǎn)單的文本拷貝開(kāi)始學(xué)習(xí),過(guò)一段時(shí)間,你會(huì)發(fā)現(xiàn)自己會(huì)愛(ài)上終端了。
控制遠(yuǎn)程服務(wù)器
作為一名程序員,你肯定不會(huì)將代碼局限在本地的,如果開(kāi)發(fā)了一款應(yīng)用,你肯定會(huì)將它展示給全世界的人看。這樣你就需要登錄遠(yuǎn)程服務(wù)器,并且設(shè)置相關(guān)信息,以便自己的應(yīng)用可以在服務(wù)器上正確運(yùn)行。
學(xué)會(huì)單元測(cè)試
另外一個(gè)重要的技能就是單元測(cè)試,當(dāng)你在開(kāi)發(fā)一個(gè)龐大的項(xiàng)目時(shí),是不可能寫完所有的代碼后才去測(cè)試應(yīng)用的正確性的。我們***將代碼分割成幾個(gè)部分,然后對(duì)每一個(gè)部分進(jìn)行單元測(cè)試。
具體的單元測(cè)試方法根據(jù)不同編程語(yǔ)言有所區(qū)別,但是核心理念是一致的——寫一部分代碼,測(cè)試一部分代碼。
學(xué)會(huì)使用Markdown
我將Markdown放到***是因?yàn)樗鼘?duì)你寫代碼并沒(méi)有多大關(guān)系,但是這對(duì)那些習(xí)慣在網(wǎng)絡(luò)上發(fā)布信息的同學(xué)來(lái)說(shuō)就非常重要。比如說(shuō)編寫README文件,并將其添加到Github項(xiàng)目中。
Markdown是一個(gè)將文本轉(zhuǎn)換成HTML的工具,它有自己的語(yǔ)法和標(biāo)簽,這些語(yǔ)法標(biāo)簽經(jīng)過(guò)轉(zhuǎn)換后成為標(biāo)準(zhǔn)的HTML結(jié)構(gòu),這對(duì)有些Web開(kāi)發(fā)者來(lái)說(shuō)有一定的實(shí)用價(jià)值。
各位程序員,這個(gè)周末你準(zhǔn)備好了嗎?
譯文鏈接:http://www.codeceo.com/article/8-tech-programmer-learn-weekend.html
英文原文:8 Essential Skills Developers Can Learn in a Weekend
翻譯作者:小峰


























