程式設計師在週末應該學點什麼

edithfang發表於2014-10-16
下面列出的事情就是你以後在空閒時間可以去學習的。
 
1. 學習使用版本控制工具
       
如果你過去從沒有用過版本控制工具,你就可能會遇到這樣的問題:當你的程式無法正常執行時,你就要一切重來,回到它最開始的狀態。又或者,你想維護自己的備份時,你只能通過給檔名加個字尾來實現,比如index_17.html這樣。
       
版本控制意味著你可以將你的程式碼恢復到之前任意的版本——無論是幾個小時前的還是幾個月前的。如果你用過Google Drive,你肯定嘗試了還原舊版本的這一特徵性功能,這就是最基本的版本控制。
       
你現在肯定想知道要用哪個軟體實現它,這裡有一篇文章概述性的文章可以參考the status of version control software in 2014。個人來說,我傾向於分散式的版本控制系統(VCS),像Git或Mercurial,它們是免費的開源軟體。

2. 用好文字編輯工具
       
幾乎所有的程式設計師每天都會在電腦前使用著文字編輯器,根據你的需求和開發環境,你應該至少熟練使用一款文字編輯器,瞭解它的所有功能和技巧,讓自己的工作完成的更快。
       
如果你喜歡在終端上工作,那你可以嘗試VIM或Emacs;如果你喜歡使用本地文字編輯器,那麼可以使用Sublime Text;如果你用的是Mac,你可以試試TextMate。另外,僅僅用這些文字編輯器是不夠的,你要安裝一些外掛和擴充套件元件來輔助使用。這裡有一個Sublime Text的外掛列表a list of plugins for Sublime Text,幫助你更好地工作。

3. 感受強大的SQL
      
 任何一個應用軟體都需要檔案或資料庫來儲存使用者資料,因為資料庫查詢資料方便快捷,所以Web應用開發者很願意使用資料庫。SQL是一種結構化的資料庫查詢語言,對於程式設計師來說,僅僅知道基礎的SQL內容是遠遠不夠的,因為很多時候我們較為複雜的Web應用要用到多張表的查詢,甚至多資料庫的聯合查詢。關於SQL的學習,我建議讀Simply SQL by Rudy Limeback

4. 學習神祕的NoSQL
       
NoSQL,也叫Not Only SQL,它和傳統的表格形式的SQL資料庫有著不一樣的資料儲存形式。NoSQL資料庫有著更高的可用性和水平擴充套件性,它也有著類似SQL的資料查詢語言。NoSQL資料庫根據不同的資料組織方式可以劃分為幾種不同的分類,儘管像Quora這樣的大公司並不使用NoSQL,但是對於有非常龐大資料需要處理的創業型公司,NoSQL是非常適合的。

5. 習慣使用終端
       
確實有一些工作在終端上完成比在圖形使用者介面上更快,比如,在需要在幾秒鐘完成在上千個檔案中尋找一個字串,然後用另一個字串代替它的工作。關於終端在以Unix為基礎的作業系統上是那麼強大的原因,你可以閱讀this thread
       
如果你在遠端伺服器上工作,那麼你更需要擅長使用終端。儘管你也可以在遠端伺服器上使用圖形使用者介面來進行操作,但使用終端的確更快一些。更重要的是,使用終端將更加節省頻寬,它只需要在網路中互動文字資訊。
      
 對於初學者來說,開始你可以在終端上只做一些簡單的工作,像複製檔案。熟悉一段時間後,你就會習慣使用它了,並發現好多事情做起來,它的確比在圖形介面下進行一系列的點選操作要快。
       
為了更好地使用終端,你需要知道不同的終端命令並瞭解他們的使用方法。舉些典型的例子,你要知道 sed 用來替換檔案中的文字, grep 用來查詢......Here are 25 commands,這是對於系統管理員的命令。

6. 控制遠端伺服器
       
作為一名程式設計師,你應該不會將你的程式碼侷限在本地的,如果開發了一個產品,你肯定希望把它展示給全世界的人看。這時,你就需要登入遠端伺服器並進行相關的配置。

7. 寫出好的單元測試
      
 編寫程式的另一方面就是進行單元測試,當你在進行一項大型的專案開發時,寫完所有的程式碼後才去測試是絕對不可行的。最好把程式碼分成一個個部分,然後為每一部分寫測試程式。具體的單元測試的方法會因為不同的程式語言而有所區別,但它們的思想是一樣的,即寫一部分程式碼,測試一部分程式碼。單元測試或許有些枯燥乏味,但它確實很有用。

8. 學習使用Markdown
      
 我把Markdown放在最後講是因為它不會影響你程式設計的方式,但這對於那些要經常在網上發資訊的人們來說是很有用的。比如,你要寫一個README文件,要把它發到GitHub中的專案頁上,或你在一個部落格上寫文章,你將來有可能要把你的文章寫成Markdown格式。
      
 Markdown是一個將文字轉換成HTML的工具,特別適合於那些設計開發網站的人。它有著很簡潔的格式,讓你更好的完成內容,而不用太在更好法問題。有很多的線上Markdown編輯器,比如Markable,StackEdit。後者還整合了Google Drive和Dropbox,你還在等什麼呢?開始學習它吧。

上面就是我挑選的幾個適合在週末學習的內容,程式設計師們,知道這個週末可以做什麼了嗎?
來自:PHP100
相關閱讀
評論(1)

相關文章