31.apache和nginx的區別?(2018-4-16-lxy)
Nginx相對Apache的優點:
輕量級,同樣起web 服務,比apache 占用更少的內存及資源;
抗並發,nginx 處理請求是異步非阻塞的,支持更多的並發連接,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能; 配置簡潔; 高度模塊化的設計,編寫模塊相對簡單;
社區活躍。
Apache相對Nginx的優點:
rewrite ,比nginx 的rewrite 強大;
模塊超多,基本想到的都可以找到;
少bug ,nginx 的bug 相對較多; 超穩定。
32. git 常用命令? (2018-4-23-lxy)
- git clone 克隆指定倉庫
- git status 查看當前倉庫狀態
- git diff 比較版本的區別
- git log 查看 git 操作日志
- git reset 回溯歷史版本
- git add 將文件添加到暫存區
- git commit 將文件提交到服務器
- git checkout 切換到指定分支
- git rm 刪除指定文件
(命令好記,實際操作就相對較難,平時應有意識地去鍛煉使用git管理我們的代碼倉庫)
33. 什么是gitlab,github和gitlab的區別?
公司開始把代碼從GitHub上遷移到GitLab上,在使用一段時間過后,發現GitLab與GitHub還是有不少區別的。
先說一下相同點,二者都是基於web的Git倉庫,在很大程度上GitLab是仿照GitHub來做的,它們都提供了分享開源項目的平台,為開發團隊提供了存儲、分享、發布和合作開發項目的中心化雲存儲的場所。
GitHub作為開源代碼庫及版本控制系統,擁有超過900萬的開發者用戶,目前仍然是最火的開源項目托管系統。GitHub同時提供公共倉庫和私有倉庫,但如果要使用私有倉庫,是需要付費的。
而GitLab解決了這個問題,你可以在上面創建私人的免費倉庫。
GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比於GitHub,它有不少的特色:
允許免費設置倉庫權限;允許用戶選擇分享一個project的部分代碼;允許用戶設置project的獲取權限,進一步的提升安全性;可以設置獲取到團隊整體的改進進度;通過innersourcing讓不在權限范圍內的人訪問不到該資源。
從代碼私有性方面來看,有時公司並不希望員工獲取到全部的代碼,這個時候GitLab無疑是更好的選擇。但對於開源項目而言,GitHub依然是代碼托管的首選。
公司開始把代碼從GitHub上遷移到GitLab上,在使用一段時間過后,發現GitLab與GitHub還是有不少區別的。
先說一下相同點,二者都是基於web的Git倉庫,在很大程度上GitLab是仿照GitHub來做的,它們都提供了分享開源項目的平台,為開發團隊提供了存儲、分享、發布和合作開發項目的中心化雲存儲的場所。
GitHub作為開源代碼庫及版本控制系統,擁有超過900萬的開發者用戶,目前仍然是最火的開源項目托管系統。GitHub同時提供公共倉庫和私有倉庫,但如果要使用私有倉庫,是需要付費的。
而GitLab解決了這個問題,你可以在上面創建私人的免費倉庫。
GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比於GitHub,它有不少的特色:
允許免費設置倉庫權限;允許用戶選擇分享一個project的部分代碼;允許用戶設置project的獲取權限,進一步的提升安全性;可以設置獲取到團隊整體的改進進度;通過innersourcing讓不在權限范圍內的人訪問不到該資源。
從代碼私有性方面來看,有時公司並不希望員工獲取到全部的代碼,這個時候GitLab無疑是更好的選擇。但對於開源項目而言,GitHub依然是代碼托管的首選。
34. git中 .gitignore文件的作用?
在git中如果想忽略掉某個文件,不讓這個文件提交到版本庫中,可以使用修改根目錄中 .gitignore 文件的方法(如無,則需自己手工建立此文件)。這個文件每一行保存了一個匹配的規則例如:
# 此為注釋 – 將被 Git 忽略
*.a # 忽略所有 .a 結尾的文件
!lib.a # 但 lib.a 除外
/TODO # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目錄下的所有文件
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
35. HttpRequest和HttpResponse是什么?干嘛用的?
HttpRequest是django接受用戶發送多來的請求報文后,將報文封裝到HttpRequest對象中去。
HttpResponse 返回的是一個應答的數據報文。render內部已經封裝好了HttpResponse類。
視圖的第一個參數必須是HttpRequest對象,兩點原因:表面上說,他是處理web請求的,所以必須是請求對象,根本上說,他是基於請求的一種web框架,所以,必須是請求對象。 因為view處理的是一個request對象,請求的所有屬性我們都可以根據對象屬性的查看方法來獲取具體的信息:格式:request.屬性
request.path 請求頁面的路徑,不包含域名
request.get_full_path 獲取帶參數的路徑
request.method 頁面的請求方式
request.GET GET 請求方式的數據
request.POST POST請求方式的數據
request.COOKIES 獲取cookie
request.session 獲取session
request.FILES 上傳圖片(請求頁面有enctype="multipart/form-data"屬性時FILES才有數據)