0.安裝yumhtml
sudo apt-get install yum
複製代碼
1.查看當前環境shellvue
echo $SHELL
node
2.查看系統自帶哪些shelllinux
cat /etc/shells
git
3.安裝zsh程序員
yum install zsh # CentOS(須要root身份,su + 用戶名)
brew install zsh # mac安裝
複製代碼
4.將zsh設置爲默認shelles6
chsh -s /bin/zsh # CentOS
# Mac以下
# 在 /etc/shells 文件中加入以下一行
/usr/local/bin/zsh
# 接着運行
chsh -s /usr/local/bin/zsh
複製代碼
能夠經過echo $SHELL查看當前默認的shell,若是沒有改成/bin/zsh,那麼須要重啓shell。github
配置zsh是一件麻煩的事兒,愛折騰的程序猿怎麼可能忍受?!因而,oh-my-zsh出現了,有了這個東東,zsh配置起來就方便多了!shell
有若干安裝方式,介紹三種:npm
1.自動安裝
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
2.手動安裝
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
複製代碼
3.真-手動安裝(我選擇)
三選一便可,適合各類環境下的安裝,而後須要source ~/.zshrc
將配置生效。如下修改了.zshrc文件以後,都執行一下這個命令。
zsh+on-my-zsh配置教程指南(程序員必備)【已備份】
Ubuntu 下 Oh My Zsh 的最佳實踐「安裝及配置」
基於linux/unix的服務器出於穩定、性能的考量,大多使用命令行操做 諸多服務器命令並無圖形化版本,好比 node 命令
第一個關鍵詞爲命令 以空格分隔,第二個及之後的關鍵詞爲參數 使用 && 能夠在命令執行完畢後執行下一個 使用 \ 能夠換行 在 nix 系統中,/ 表示目錄分隔符,在windos中則爲 \ nix系統中,以 / 爲根目錄,即進入該目錄後,能夠向下抵達全部目錄 如下是一個可能的文件路徑 /var/usr/local/bin/a.sh / 分割的符號中每個字符串表明一個目錄
cd 進入某個目錄 ls/ll 列舉出目錄中的全部文件 mkdir 建立一個文件夾 touch 建立一個文件 cat 輸出某文件的內容 vi 打開vi編輯器 ssh 使用ssh連接到服務器 exit 關閉當前連接或者進程 ctrl + c 結束當前進程
參考:讓終端走代理的幾種方法
若是有藍色的燈,就能夠在設置-->高級設置-->http代理,複製這個地址,而後在命令行運行
export http_proxy=http://proxyAddress:port
複製代碼
或者:
npm config set proxy http://server:port
複製代碼
或者使用npm的淘寶鏡像
npm 命令 + --registry=https://npm.taobao.org/mirrors/npm/
複製代碼
1.安裝
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
複製代碼
2.配置
vim ~/.zshrc
// 內容爲(去掉#的註釋):
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
複製代碼
3.重啓配置文件
source ~/.zshrc
複製代碼
(注意是zsh的配置文件是zshrc不是bashrc,bashrc是bash的配置文件)
NVM是 Node.js 的版本管理器,用於安裝和切換不一樣的Node.js版本。
因爲在實際開發中咱們可能須要在不一樣的node版本之間切換,因此就須要使用NVM來管理node的版本
若是想要使用某個版本的node就使用:
nvm use + node的版本號
複製代碼
咱們可使用x下面的命令查看當前安裝過的node的版本,只要有的,均可以使用nvm use + node的版本號
來切換
nvm ls
複製代碼
NVM不是NPM,NVM(Node Version Manager)用來管理Node自己,NPM(Node Package Manager)則管理Node.js開發的包
與其餘命令行程序同樣,使用 node argv1 argv2 的方式便可運行命令,一般 argv1 爲文件名 如 node ./test.js 表示使用node運行當前目錄下的 test.js 文件
直接輸入 node 命令則會打開node 的 REPL 環境,即輸入一行代碼運行一行代碼,相似與在瀏覽器中的開發者工具中,輸入如:
var a = 1
console.log(a) // 輸出1
複製代碼
一樣的道理,咱們也能夠在node的環境中執行上面的代碼,也會輸出一樣的結果
man + 命令 或者 命令+ -- help // 這樣就能夠拿到命令的具體使用方法
複製代碼
安裝 Node.js 會同時安裝 NPM,一樣,使用 node版本也會切換npm版本,請注意 使用npm init 會在當前目錄下生成一個npm項目,並將填寫的信息寫到 package.json 中,這樣npm就能正確的識別當前的目錄爲npm的項目了,由於它找到了package.json這個文件了
運行 npm i/npm install 會根據當前目錄下的package.json文件安裝項目所須要的依賴,使用npm install安裝存儲node項目中的三方庫(包)都存放在新生成的node_modules文件夾下 package.json 更新後,手動運行npm i能夠更新項目中的依賴 相應的,npm uninstall 則能夠刪除安裝的依賴
package.json中的腳本放在scripts下,咱們能夠在它下面加一些自定義的運行的方法,若是加一個
"start": "node ./index.js"
複製代碼
在命令行運行npm start(或者npm run start是一個意思)的時候就會以node命令去執行index.js文件
> demo@0.0.1 start /home/lee/Desktop/demo // 是什麼項目跑的
> node ./index.js // 跑的命令是什麼
hello world // 跑的文件的最終運行結果
複製代碼
結果就輸出:‘hello world’(npm init的時候會初始化一個入口文件,默認爲index.js)
版本控制工具 由linux之父linus開發 當前世界上運用最普遍的版本控制工具
版本控制工具可使代碼更不容易丟失 版本控制工具能夠多人(甚至是超大團隊)協做開發更加容易 Git使用普遍(你最好也用) 同♂性♂交♂友網站 github.com
使用man git 查看完整操做列表 git clone 從遠端倉庫克隆倉庫 git checkout 切換分支 git branch 新生成分支 git commit 新建一個提交 git add 將文件添加到版本控制工具 git merge 合併分支
2.將JavaScript的語言版本設置爲兼容es6
3.搜索node.js and npm 設置node的安裝版本,開啓nodejs core library,代碼提示當前使用的框架或者庫
4.指定ESlint,主要做用是代碼提示規範代碼,它會支持不少標準,不過airbnb標準稍微嚴格一點
i. 安裝這個包airbnb:ESLint使用說明
(
export PKG=eslint-config-airbnb;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
複製代碼
或者:
# 首先 經過npm info命令查詢依賴
$ npm info "eslint-config-airbnb-base@latest" peerDependencies
{ eslint: '^4.9.0', 'eslint-plugin-import': '^2.7.0' }
# 根據查詢結果手動安裝指定版本的依賴包
npm install eslint@4.9.0 --save-dev
...
# Linux用戶能夠直接執行,自動完成依賴包安裝
export PKG=eslint-config-airbnb-base;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
# 安裝airbnb配置
npm install eslint-config-airbnb-base@latest
複製代碼
ii.安裝完以後就package.json就會多出幾個devDependencies依賴
iii.eslint的配置
首先會指定eslint的包
而後須要配置.eslintrc.js的文件,咱們能夠手動的建立,也能夠經過命令行的方式建立
npm install -g eslint
eslint --init
複製代碼
安裝完成以後項目目錄下就會自動生成一個.eslintrc.js的文件
npm install -g learnyounode
複製代碼
在命令行中執行 learnyounode, 若出現學習目錄,則表示安裝成功。
在命令行中執行 learnyounode 。選擇想學的課程,按回車鍵,開始學習。
完成任務後,能夠用以下兩種方式運行代碼:
方式1:
node 程序文件.js
複製代碼
方式2:
learnyounode run 程序文件.js
複製代碼
在肯定任務完成後,用以下命令驗證你的程序與任務的要求是否一致:
learnyounode verify 程序文件.js
複製代碼
上面命令運行完成後,會生成測試報告。若是驗證成功,該課程會被標記爲完成。若是失敗,能夠在測試報告中觀察程序的預期值和實際的值的差別,修改代碼後,執行 learnyounode run 程序文件.js 再進行驗證。
輸入 learnyounode 進入下一個課程的學習。
上文提到是 NodeSchool 中 Node.js 相關的教程,除此以外,NodeSchool 還包含: JavaScript,WebGL,函數式編程,Git, npm 等一堆課程。這些課程能夠在官網的首頁中找到。
你們會用學會 NodeSchool 了嗎~ 點擊NodeSchool官網報名,一塊兒學起來吧!
HTTP:超文本傳輸協議 超文本傳輸協議 超文本:像文本,但比文本更豐富,好比包含圖片和樣式 傳輸:爲了傳輸超文本而產生的協議 協議:一套規則,也即符合規則便可行
HTTP的格式:文本
HTTP的組成部分:頭部Header、請求體BODY,中間用空行分割
很是天然的地址屬性 定位某個惟一資源 構成 協議://主機:端口/路徑?查詢#錨
主機能夠是一個域名或者一個IP地址
主機即從哪一臺服務器上獲取資源,端口指哪臺服務器上的某一塊內存空間,路徑是想要到服務器上獲取的資源在服務器上的存放位置或路徑。截止到路徑爲止,對於http來講,文檔的具體位置或地址已經肯定了,比如是省/市/區下面的哪一個圖書館
查詢參數是想要從服務器上獲取的更加具體的資源內容(好比特指某個文檔),當須要查看文檔裏面的具體內容就用查詢參數,好比是找到了圖書館的具體的某某書
錨 本來指的是在頁面中的哪一個位置,後面單頁頁面的應用也能夠肯定是單頁頁面的哪個頁面或組件(好比vue實現的單頁頁面,比如是找到具體的某本書的哪一章節
例子:協議://主機:端口/路徑?查詢#錨(協議除了http還有ftp、ssh其餘自定義的協議)
Schema://Host:Port/Path?query http://localhost:8082/user?name=aslfkd& duang://a.b.c:7200/hahaha?lalal=true
第一行 方法、路徑、協議版本,使用空格分割 GET /user HTTP/1.1 (也就是說明使用什麼樣的協議對什麼樣的資源執行怎麼的操做)
第二行開始:內容
HTTP方法: GET POST PUT DELETE PATCH HEAD OPTIONS TRACE 協議版本 HTTP1.1 路徑,須要請求的資源的路徑,好比 /index.html /songs/lalala.mp3
HTTP頭中常見鍵值對:
Host 指明請求的地址
Server 服務器信息
Content-Type 請求體的格式,如 xxx/www-url-encoded-form-data application/json
Accept: 接受的返回格式
Accept-Encoding:接受的請求編碼
Accept-Language:接受的語言
Pragma:兼容http1.0的緩存
Cache-Control:緩存策略
Via:走過的服務器鏈路信息
Response頭第一行: 協議 狀態碼 狀態描述 如 HTTP/1.1 200 OK
返回碼:
2xx 請求成功 200成功 201建立 202接受 203代理 206部分處理
3XX 重定向 302找到,重定向 304未修改
4xx 客戶端錯誤 400請求內容錯誤 401無權限 403禁止訪問 404你懂的
5xx 服務器錯誤 500服務器炸了 502網關炸了 503炸幾分鐘 504超時
HTTP頭部和HTTP體中間:一個空行 HTTP體:真正傳輸的內容 內容隨意,格式由Content-Type指定
推薦書目:《圖解HTTP》 《HTTP權威指南》
[HTTP協議標準RFC 2616(www.w3.org/Protocols/r…)
HTTP就是規定客戶端和服務器之間對話、交流的協議