任務二. 認識開發工具
今天完成的事情
- IDE & 編輯器對比
- 版本管理工具學習
- Git基本操作
- 程式碼託管平臺對比
- 伺服器使用學習
明天計劃的事情
分析任務三, 完成規劃及部分開發
遇到的問題
暫無
收穫
-
IDE & 編輯器對比 參考:Atom、Sublime Text、VSCode 三者比較,各有哪些優勢和弱勢?
- Webstorm: 一款成熟的IDE,對網站開發者友好,外掛齊全功能強大,對於前端開發幫助極大;
-
VisualCode:
- 微軟開原始碼編輯器,可通過安裝外掛來應用在各種開發場景;
- Windows & Linux & Mac都有, 介面優雅效能穩定,簡單強大的外掛系統, Windows上最適用程式碼編輯器;
- Terminal 內建!
- Sublime: 老牌非開原始碼編輯器. 功能強大啟動速度快,各平臺表現都很好, 但是裝了外掛之後markdown支援也不好(嫌棄臉
- Atom:開源老牌編輯器,有活躍的開源社群支援,夠hack,對電腦頂配的前端開發者友好… 穩定性差,Windows上表現不好
-
版本管理工具學習
-
-
本地式(第一代):
- 特點: 實現了基礎的程式碼管理功能, 但是無法協作;
- 代表: SCCS(1972)、 PVCS(1985)
-
客戶端-伺服器式(第二代):
-
特點:
- 優點: 實現了中心伺服器端的程式碼版本管理, 允許多人對同一個程式碼庫進行同步&修改
-
缺點:
- 斷網受限: 斷網時無法檢視日誌, 也無法提交和比較版本;
- 分支管理困難: 不支援本地分支, 且建立的分支難以修改;
- 中心化: 中心化意味著需要時刻做好災備, 備份頻率需求與較高的備份成本相互掣肘;
- 慢: 程式碼備份&查詢&對比都需要與伺服器通訊, 伺服器負載大, 表現出來的結果就是慢;
- 代表:CVS(1986)、 ClearCase(1992)、Visual SourceSafe(1994)、Perforce(1995)、Subversion(2000,即SVN)
-
-
分散式(第三代):
-
特點:
-
優點: 結合前兩代優點,並且解決了前兩代的弊端
- 分散式: 斷網時可查本地庫中的日誌, 亦可提交程式碼、建立分支, 分塊管理;
- 快:負載分流管理,使用體驗為快速;
- 社群: Github社群的火爆推動Git的流行;
- 缺點: 有一定學習曲線, 不過基礎使用入門不難;
-
- 代表: Git(2005)、Mercurial(2005)
-
-
-
-
Git基本操作 參考: Git教程-廖雪峰的官方網站
-
提交操作
- 初始化:
git init
- 全部加入快取區:
git add .
- 提交快取區檔案:
git commit -m "本次提交描述"
- 新增遠端庫連結:
git remote add origin <遠端庫連結>
- 初次推送到新增的遠端庫:
git push -u origin master
- 再次推送到新增的遠側庫:
git push origin master
- 初始化:
-
分支操作
-
本地:
- 檢視分支:
git branch
- 建立分支:
git branch 新分支名
- 切換分支:
git checkout 已有分支名
- 刪除分支:
git branch -d 已有分支名
- 檢視分支:
-
遠端:
- 檢視分支(帶*號為本地分支):
git branch -a
- 刪除遠端分支:
git branch -r -d 遠端分支名 git push origin :遠端分支名
- 檢視分支(帶*號為本地分支):
-
-
-
程式碼託管平臺對比
-
Github: 世界最大同性交友社群(霧
- 優點: 開源專案豐富品種齊全, 適合自己做練手和公開專案用, 支援CI;
- 缺點: 國內有點慢, 私有倉庫要收費, 不支援演示;
-
- 優點: 適合中國國情, 速度快, 有免費私有庫用, 支援一鍵部署到演示平臺(有空試試), 支援專案點評, 支援程式碼質量分析;
- 缺點: 據說CI支援不夠完善, 待驗證
-
- 特點: 整合專案管理、整合WebIDE線上開發環境、標準化擴充介面
-
Gitlab: 公司內部程式碼管理
- 特點: 可根據需要整合其他工具, 參考: [gitlab+jira] (https://www.zhihu.com/questio…
-
-
伺服器使用學習
- 購買雲伺服器: 阿里雲、騰訊雲
-
購買之後:
- 遠端登入, 搭建Apache或者Nginx, 然後放置網站在指定路徑, 完成外網訪問支援;
- 買域名, 稽核後繫結伺服器, 完成域名訪問支援;
-
Apache & Nginx 對比 參考:Nginx和Apache各有什麼優缺點
-
Apache:
- 適合處理動態請求
- 模組支援好
- bug少,穩定
- rewrite功能強大
-
Nginx:
- 輕量級, 配置簡潔, 優勢在於處理靜態請求
- 併發支援好,資源使用少
- 高度模組化設計
- 社群活躍
- 結合: 前端用Nginx作為反向代理抗壓, apache作為後端處理動態請求
-
-
Nginx環境搭建(Centos): 參考How to install and configure NGINX on CentOS7
-
下載安裝: @官網照寫
- 編輯nginx.repo
- yum install epel-release
- yum install nginx
-
狀態操作
- 啟動: systemctl start nginx.service
- 查詢: systemctl status nginx.service
- 停止: systemctl stop nginx.service
- 開機啟動設定: systemctl enable nginx.service
-
目錄
- 網站檔案預設存放目錄:/usr/share/nginx/html
- 網站預設站點配置:/etc/nginx/conf.d/default.conf
- 自定義Nginx站點配置檔案目錄:/etc/nginx/conf.d
- Nginx全域性設定:/etc/nginx/nginx.conf
- Nginx啟動:nginx -c nginx.conf
-