複習
"""
一、版本管理器:管理在編寫代碼時,各類代碼版本的工具 - 通常在一個需求或是一項功能代碼結束後,就稱之爲一個代碼版本
二、svn和git比較:git服務端與客戶端整合,每個倉庫均可以做爲客戶端也能夠做爲服務端(集羣部署、不怕服務器宕機)、git能夠多分支操做,分支管理很強大
三、git的工做流程:工做區 <=> 暫存區 <=> 版本庫 <=> 遠程倉庫 <=> 版本庫
增刪改查 | git checkout .
git add . | git reset HEAD . (git reset)
git commit -m '信息' | git reset --hard 版本號 (git reflog | gitlog)
四、基礎命令
git init
git status
五、remote
git remote | git remote -v
git remote add 源名 地址
git remote remove 源名
六、branch
git branch
git branch 新分支 | git checkout -b 新分支
git checkout 分支
git branch -d 分支
七、gitee遠程倉庫
本地倉庫提交代碼到本地版本庫
建立遠程倉庫,將本地主機添加至開發者
本地倉庫配置遠程倉庫remote源
提交代碼到遠程倉庫
八、提早配置 - 在第一次提交版本庫以前完成
本地倉庫的全局或局部用戶信息
本地主機要生成公鑰私鑰
配置倉庫的過濾條件
"""
今日內容
"""
項目開發git
登陸註冊頁面分析
騰訊雲短信接口
redis
"""
項目開發 git操做
基本流程
"""
一、開發前,拉一次遠程倉庫
二、工做區進行開發
三、將開發結果提交到本地版本庫 - git status查看時沒有待處理的事件
四、拉取遠程倉庫(每一次要提交遠程倉庫前必須先拉)
五、若是出現衝突,線下溝通(協商從新開發衝突文件),要從新走三、4步
六、沒有衝突,提交到遠程倉庫
"""
協同開發
"""
1)全部人在一個分支上進行開發 - 一般開發分支名爲dev
2)遵循git開發流程:先提交本地版本庫,再拉取服務器代碼,最後提交代碼
提交本地版本庫:git commit -m '版本信息'
拉取服務器代碼:git pull 源名 分支名
提交代碼:git push 源名 分支名
"""
衝突解決
"""
1)打開衝突文件
2)定位到衝突位置: >>>>>衝突開始 自身代碼 ==== 衝突代碼 <<<<<<版本號
3)刪除衝突提示信息:>>>>>衝突開始、====、<<<<<<版本號
4)線下溝通整合自身代碼與衝突代碼,造成最終代碼結果
5)從新提交本地版本庫,再拉取服務器代碼,最後提交代碼
"""
合併分支
"""
eg:將dev分支內容合併到prod分支上
1)切換到prod分支:git checkout prod
2)合併dev分支:git merge dev
"""
短信
開通騰訊雲短信
"""
一、官網註冊實名帳號:https://cloud.tencent.com
二、選取短信服務建立短信應用
三、申請簽名與短信模板 - 經過微信公衆號申請
"""
騰訊雲短信二次封裝
libs/txsms/settings.py
# 短信應用 SDK AppID - SDK AppID 以1400開頭
APP_ID = ...
# 短信應用 SDK AppKey
APP_KEY = "..."
# 短信模板ID,須要在短信控制檯中申請
TEMPLATE_ID = ...
# 簽名 - 是`簽名內容`,而不是`簽名ID`
SMS_SIGN= "..."
# 電話前綴
MOBILE_PREFIX = 86
libs/txsms/sms.py
# 經過MacOS ssl安全認證
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
# 獲取驗證碼的功能
import random
def get_code():
code = ''
for i in range(4):
code += str(random.randint(0, 9))
return code
# 短信發送者
from qcloudsms_py import SmsSingleSender
from .settings import *
sender = SmsSingleSender(APP_ID, APP_KEY)
# 發送驗證碼
from utils.logging import logger
def send_sms(mobile, code, exp):
try:
# 發送短信
response = sender.send_with_param(MOBILE_PREFIX, mobile, TEMPLATE_ID, (code, exp), sign=SMS_SIGN, extend="", ext="")
# 成功
if response and response['result'] == 0:
return True
# 失敗
logger.warning('%s - %s' % ('短信發送失敗', response['result']))
except Exception as e:
# 異常
logger.warning('%s - %s' % ('短信發送失敗', e))
return False
libs/txsms/__init__.py
# 包對外提供的功能方法
from .sms import get_code, send_sms
測試
from libs import txsms
code = txsms.get_code()
print(code)
print(txsms.send_sms('電話', code, 5))
redis數據庫
爲何要學習redis
"""
一、redis是內存 no-sql 數據庫,相比mysql等硬盤數據庫效率高
二、在內存中配置數據庫使用,而不直接使用內存,redis存儲的數據是能夠管理的
三、memcache也是內存數據庫,且django默認採用的就是memcache數據庫,用redis替換memcache的路由很簡單,後者更強大
redis支持更多的數據類型
redis自帶緩存機制,出現數據庫系統崩潰數據也是能夠有找回的功能
redis能夠主動完成數據持久化(自帶數據持久化功能)
redis的數據過時時間機制也能夠自身完成
"""
redis安裝
注:在官網安裝系統版本,下載對應安裝包安裝便可
redis數據類型
"""
支持的數據類型:String、Hash、List、Set、Sorted Set
String:存儲其餘類型不能存的全部數據
Hash:存儲 key-value 形式數據,相似於字典
List:存儲 一系列有序value 形式數據,列表(數組)
Set:存儲 一系列無序value 形式數據,集合
Sorted Set:存儲 有排列標號value 形式數據,排行
"""
字符串類型
""" 重要方法
set:key value
get:key
mset:k1 v1 k2 v2 ... kn vn
mget:k1 k2 ... kn
setex:key exp value
"""