偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么說每個(gè)程序員都應(yīng)該學(xué)習(xí)命令行

企業(yè)動(dòng)態(tài)
控制操作系統(tǒng),這可能是學(xué)習(xí)命令行最直接的一個(gè)原因了。即使你不是一個(gè)程序員,也可以通過學(xué)習(xí)命令行,使你的工作效率得到顯著的提升。

[[187800]]

大學(xué)畢業(yè)以后我就成了一名JAVA程序員,在之后的很長(zhǎng)一段時(shí)間里,我每天上班的流程基本都是一樣的:

早上來到公司 -> 打開電腦(啟動(dòng)Windows) -> 打開Eclipse(我是一名JAVA程序員) -> 寫一天代碼(期間我通過IDE集成的Tomcat服務(wù)器來調(diào)試我的應(yīng)用)-> 下班前通過Eclispe的插件把修改過的代碼提交到SVN代碼倉庫中 ->下班回家.

在我的印象中,很少需要用命令行去完成什么工作的。這種情況一直持續(xù)了很久,以至于我下意識(shí)地認(rèn)為任何軟件工具都是應(yīng)該有一個(gè)圖形界面的。但最近幾年這種情況發(fā)生了改變,幾乎所有的工具軟件都不約而同地變得更加簡(jiǎn)單而純粹,它們精簡(jiǎn)了那些不必要的功能,不再一味追求大而全,而是更加注重用戶的感受和使用效率。其中一些非常優(yōu)秀的軟件工具更是拋棄了圖形界面,要求用戶通過命令行直接進(jìn)行操作。這一改變當(dāng)然也對(duì)我的工作流程產(chǎn)生了影響,它變成了現(xiàn)在這個(gè)樣子:

打開電腦,啟動(dòng)Mac操作系統(tǒng) -> 打開Sublime和Eclipse -> 通過命令行輸入三條命令 mongod;redis-server;grunt serve啟動(dòng)我的本地調(diào)試環(huán)境 ->開發(fā)->通過命令行g(shù)it commit ;git push提交我一天的工作代碼 -> 結(jié)束工作。

通過上面的對(duì)比,你應(yīng)該已經(jīng)能夠發(fā)現(xiàn)命令行已經(jīng)成為了現(xiàn)代程序員所必須具備的一項(xiàng)基礎(chǔ)技能,而其原因最明顯地體現(xiàn)在以下三個(gè)方面:

你可以更有效地控制你的操作系統(tǒng)

控制操作系統(tǒng),這可能是學(xué)習(xí)命令行最直接的一個(gè)原因了。即使你不是一個(gè)程序員,也可以通過學(xué)習(xí)命令行,使你的工作效率得到顯著的提升。比如:一些簡(jiǎn)單的命令能夠幫助我們快速搜索或查看文件,而通過對(duì)那些簡(jiǎn)單命令進(jìn)行組合,就可以完成更加復(fù)雜的任務(wù)。

以前,我要啟動(dòng)一套本地的開發(fā)環(huán)境,我總是需要手工地一個(gè)個(gè)去點(diǎn)擊那些服務(wù)逐一啟動(dòng)Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、并打開IDE等等。這看起來每次只需要花2、3分鐘時(shí)間,但這是每天都需要進(jìn)行的操作,而且由于調(diào)試需要,一天里經(jīng)常需要重復(fù)啟動(dòng)好幾次。一個(gè)月下來我光花在啟動(dòng)環(huán)境上的時(shí)間就花去了2,3個(gè)小時(shí)。后來,我便學(xué)著寫了一個(gè)Shell腳本,其實(shí)非常簡(jiǎn)單,就是按順序去一個(gè)個(gè)掉用那些啟動(dòng)服務(wù)的命令,這樣我每次只要點(diǎn)一下執(zhí)行那個(gè)腳本,整個(gè)環(huán)境就自動(dòng)啟動(dòng)好了。之后,我又進(jìn)行了一些改進(jìn),讓它能夠根據(jù)我輸入的參數(shù)執(zhí)行不同的任務(wù),這又進(jìn)一步提升了我的工作效率,開發(fā)的心情也頓時(shí)好了許多。

有了這個(gè)小小的成功經(jīng)歷之后,我又寫了好幾個(gè)Shell腳本,將那些原來需要重復(fù)操作的工作都讓腳本去完成了。正因?yàn)榈玫搅诉@些好處,我也經(jīng)常鼓勵(lì)身邊的程序員們?nèi)ゾ帉懽詣?dòng)化腳本,讓他們從重復(fù)性的工作中解脫出來。

你需要用Git來做版本控制

Git已經(jīng)成為最被推薦的版本控制工具。幾乎所有的開源軟件都使用Git來做版本控制,即使是那些大型軟件企業(yè)也在越來越多地使用Git。因此,作為程序員,你必須掌握Git。

但Git最早是用來維護(hù)Linux內(nèi)核代碼的,它的所有操作也都是基于命令行的。雖然GitHub也提供了Mac和Windows上的客戶端,但它們的使用效率完全無法跟直接用命令行相比。而且,我想告訴你,如果你參與過開源項(xiàng)目的話,你會(huì)發(fā)現(xiàn)幾乎沒有程序員喜歡使用客戶端,他們都能夠非常熟練地使用命令行進(jìn)行操作。

不過,Git確實(shí)有些難于掌握,特別是它獨(dú)特的分支操作。你可以通過一些在線教程來進(jìn)行學(xué)習(xí)。

另一個(gè)好的辦法是通過實(shí)踐掌握這些命令,這里我推薦Try Git這個(gè)網(wǎng)站,你能在這里根據(jù)它的教程練習(xí)Git命令,15分鐘內(nèi),你就能夠掌握那些最常用的基本命令了。

前端開發(fā)依賴于命令行工具

前端因?yàn)樗钯N近用戶,因此在這個(gè)比以往任何時(shí)候都更重視用戶體驗(yàn)的時(shí)代,正變得越來越重要。而針對(duì)前端的優(yōu)秀工具也如雨后春筍般層出不窮。以前我們做前端時(shí),如果需要用到依賴的第三方庫,總是需要到相應(yīng)的網(wǎng)站上去下載,然后引入到自己的工程里。而現(xiàn)在這一切都有相應(yīng)的工具或庫幫你完成。

  • 你可以使用NPM (Node Package Manager) 來安裝幾乎所有的前端第三方工具或開源庫
  • 你可以使用SASS,LESS這樣的預(yù)處理工具,來大大減輕CSS編寫的難度,并使代碼更加易于維護(hù)
  • 你還可以使用GRUNT,GULP這樣基于任務(wù)的處理工具,來進(jìn)行從代碼、測(cè)試到部署的整套自動(dòng)化流程。
  • 還有其他很多優(yōu)秀的工具或庫如Jade,CoffeeScript,Express.js,它們都能在某個(gè)領(lǐng)域?yàn)槟闾峁O大的幫助。

但以上這些工具,都需要通過命令行來進(jìn)行安裝,因此,如果你想成為一名前端工程師的話,你也必須學(xué)習(xí)命令行。

既然學(xué)習(xí)命令行對(duì)于程序員來說那么重要,我們又應(yīng)該如何學(xué)習(xí)呢?

其實(shí),我們大多數(shù)人排斥使用命令行是因?yàn)槲覀儗?duì)使用命令行沒有信心,認(rèn)為很難像電影里那些黑客那樣非常熟練地使用命令行。而當(dāng)我們嘗試去學(xué)習(xí)時(shí),也總是會(huì)看到包含大量命令說明的書籍或教程,一下子我們可能就畏懼了。其實(shí),對(duì)于初學(xué)者來說,你根本不需要去看那些書,因?yàn)樗鼈兇蟛糠质菫橄到y(tǒng)管理員寫的。而對(duì)于一個(gè)普通程序員,你只需要從熟悉那些最常用的基本命令開始,比如 ls,cd,pwd,cp等(我在網(wǎng)上找到一篇不錯(cuò)的博客:linux常用基本命令),并嘗試反復(fù)使用它,當(dāng)你習(xí)慣并適應(yīng)使用這些命令以后,便可以更進(jìn)一步,嘗試寫一些自動(dòng)化腳本來幫助你完成一些工作。相信我,到那個(gè)時(shí)候,你一定會(huì)喜歡上命令行,而且會(huì)并被大家認(rèn)為是一個(gè)高手的。

【本文是51CTO專欄作者“陳逸鶴”的原創(chuàng)文章,如需轉(zhuǎn)載請(qǐng)聯(lián)系作者本人(微信公眾號(hào):techmask)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2014-12-26 10:19:14

程序員

2011-07-25 10:09:57

Python

2018-03-07 12:57:53

2012-02-28 10:52:13

2015-04-16 10:26:51

程序員 Python Ruby

2012-10-11 10:32:48

Linux命令程序員

2022-09-11 15:20:05

程序員命令開發(fā)

2024-04-10 12:36:41

硬件代碼

2014-01-09 14:43:40

Linux用戶命令行

2011-06-16 08:58:57

軟考程序員

2023-01-31 15:43:47

2014-07-16 09:34:44

2013-03-20 17:58:41

虛擬內(nèi)存程序員

2021-10-20 06:05:01

編程語言開發(fā)

2021-10-18 10:21:28

程序員技能優(yōu)化

2020-07-10 13:59:52

Kaggle代碼數(shù)據(jù)

2023-12-27 09:00:00

Python魔術(shù)方法開發(fā)

2024-04-24 14:52:26

JavaScriptWeb 開發(fā)

2021-12-23 11:16:06

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)技術(shù)

2022-02-21 00:11:24

Java工具開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)