• 项目开发git 腾讯云 redis


    项目开发 git操作

    基本流程

    """
    1、开发前,拉一次远程仓库
    2、工作区进行开发
    3、将开发结果提交到本地版本库 - git status查看时没有待处理的事件
    4、拉取远程仓库(每一次要提交远程仓库前必须先拉)
    5、如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3、4步
    6、没有冲突,提交到远程仓库
    """

    协同开发

    """
    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
    """

    短信

    开通腾讯云短信

    """
    1、官网注册实名账号:https://cloud.tencent.com
    2、选取短信服务创建短信应用
    3、申请签名与短信模板 - 通过微信公众号申请
    """

    腾讯云短信二次封装

    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

    """
    1、redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高
    2、在内存值配置数据库使用,而不直接使用内存,redis存储的数据是可以管理的
    3、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
    """
  • 相关阅读:
    Reverse Words in a String II -- LeetCode
    计算两点间的距离,hdu-2001
    A + B Problem,hdu-1000
    ASCII码排序,hdu-2000
    定义#define
    break语句的使用
    判断一个数是否为素数
    用下面公式求π:
    Sum Problem-hdu-1001
    正三角形的外接圆面积,nyoj-274
  • 原文地址:https://www.cnblogs.com/KrisYzy/p/11761982.html
Copyright © 2020-2023  润新知