版本控制

rest-framework框架——版本

不问归期 提交于 2019-12-06 12:17:30
一、DRF版本控制介绍   随着项目更新,版本会越来越多,不能新的版本出现,旧版本就不再使用维护了。因此不同的版本会有不同的处理,且接口会返回不同的信息。   API版本控制允许我们在不同的客户端之间更改行为(同一个接口的不同版本会返回不同的数据)。    DRF提供了许多不同的版本控制方案 。可能会有一些客户端因为某些原因不再维护了,但是我们后端的接口还要不断的更新迭代,这个时候通过版本控制返回不同的内容就是一种不错的解决方案。   rest_framework.versioning里提供了 五种版本控制方案 如下所示: from rest_framework import versioning # view中引入版本控制 # 查看 rest_framework/versioning.py文件: # 最基础的版本控制类,给其他版本控制类提供一些共用方法 class BaseVersioning:... # 在accept请求头中配置版本信息 # accept代表希望返回的数据类型,可以携带版本信息 # Accept: application/json; version=1.0 class AcceptHeaderVersioning(BaseVersioning): # 将版本信息放到请求头中 """ GET /something/ HTTP/1.1 Host: example

laravel .env文件的使用

梦想的初衷 提交于 2019-12-06 10:53:23
umen 是 laravel 的衍生品,核心功能的使用和 laravel 都是一致的,但配置文件这一方面,lumen 在 laravel 的基础上增加了更简便的配置方式; lumen 采用了 DotEnv 来读取 .env 文件,并将其作为默认的配置方式; .env 在简化配置的同时,自然也不会有 .php 配置文件那么自由,我初期没有找到完善的中文资料,踩了一些坑后,决定自己整理整理 .env 配置文件适用范围 .env 文件主要的作用是存储环境变量,也就是会随着环境变化的东西,比如数据库的用户名、密码、缓存驱动、时区,还有静态文件的存储路径之类的; 因为这些信息应该是和环境绑定的,不应该随代码的更新而变化,所以一般不会把 .env 文件放到版本控制中; 除了和环境绑定的环境变量,有时候一些安全系数比较高,不希望纳入版本控制的信息也会放进 .env 文件,比如第三方API的secret之类的; 不太适用的内容 严格来说,传统的配置信息,比如上传文件的尺寸限制,或者一些算法的阈值之类的,其实不适合放到 .env 文件中,因为这些配置项是要和代码一同更新,且所有环境下应该都是一致的; 所以这些配置项还是放到可以被版本控制工具管理的配置文件中更合适——说是这么说……但我们在使用 lumen 的时候也经常把这些配置项放进 .env (这大概不是什么好习惯),毕竟如果这些配置项很少的话

Git使用教程

帅比萌擦擦* 提交于 2019-12-06 06:42:35
本文转载自: https://www.cnblogs.com/tugenhua0707/p/4050072.html Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 三:在windows上如何安装Git? msysgit是 windows版的Git,如下: 需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 "Git --> Git Bash",如下: 会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下: 安装完成后,还需要最后一步设置

让SourceTree也能Export文件

ぃ、小莉子 提交于 2019-12-06 03:29:04
从SVN转到SourceTree,在想导出几个提交版本所牵涉到的文件时, 一定会怀念SVN的Export功能。 怎么让SourceTree也有这个功能呢? 看看在TortoiseSVN里面怎么做的: Show Log 选择想导出的那些个Revision 选择想导出的那些个文件 在文件上右键, Export... 到了SourceTree里面, 我可怎么也找不到Export的命令。 好在最新版本的SourceTree支持Custom Action。 这样我们就能自己编写Export命令了。 以下是windows的bat命令, 储存为export.bat。 linux下的请按图索骥 @set export_php="E:\projects\sia\tools\export.php" @set export_dir="E:\projects\sia\export" @set source_files=%* @rmdir %export_dir% /s/q @mkdir %export_dir% @php %export_php% %source_files% @explorer %export_dir% 以下是E:\projects\sia\tools\export.php <?php date_default_timezone_set('Asia/Shanghai'); if(

Jenkins之配置GitHub-Webhook2

ぃ、小莉子 提交于 2019-12-05 22:36:50
什么是持续集成( Continuous integration ) 提出者Martin Fowler本人对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是敏捷开发(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。 持续集成正是针对这一类问题的一种软件开发实践。 持续集成的核心价值在于: 减少风险,减少重复过程 任何时间、任何地点生成可部署的软件 增强项目的可见性 建立团队对开发产品的信心 持续集成的原则 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。 开发人员每天至少向版本控制库中提交一次代码。 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。 每次构建都要100%通过。 每次构建都可以生成可发布的产品。

看完这篇还不会用Git,那我就哭了!

↘锁芯ラ 提交于 2019-12-05 22:15:55
你使用过 Git 吗?也许你已经使用了一段时间,但它的许多奥秘仍然令人困惑。 Git 是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。你可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度! 常见的问题是 Git 很难使用。有时版本和分支不同步,你会花很长时间试图推送代码!更糟糕的是,不知道某些命令的确切工作方式很容易导致意外删除或覆盖部分代码! 这就是我写本文的原因,从而学习到如何正确使用 Git,以便在开发中共同进行编码! 安装和配置 Git 安装 首先,我们必须安装 Git 才能使用它!这里分 Linux 和 Windows 来演示: 在 Linux 上安装 Git 我们可以使用 yum 轻松快速地做到这一点: sudo yum install git 在 Windows 上安装 Git 直接在 https://git-scm.com/downloads 里面,下载最新版的 Git,默认安装就可以了。 安装完成后,在开始菜单里找到 Git->Git Bash ,点击后出现一个类似命令行窗口的东西,就说明 Git 安装成功。 Git 配置 可以保存 Git 用户名和电子邮件,这样就不必在以后的 Git 命令中再次输入它们。 在命令行中配置本地仓库的账号和邮箱: $ git config --global user

04 drf源码剖析之版本

强颜欢笑 提交于 2019-12-05 18:53:27
目录 04 drf源码剖析之版本 1. 版本简述 2. 版本使用 3.源码剖析 4. 总结 04 drf源码剖析之版本 1. 版本简述 API版本控制使您可以更改不同客户端之间的行为。REST框架提供了许多不同的版本控制方案。 版本控制由传入的客户端请求确定,并且可以基于请求URL或基于请求标头。 启用API版本控制后,该 request.version 属性将包含一个字符串,该字符串与传入客户端请求中请求的版本相对应。 默认情况下,版本控制未启用,并且 request.version 将始终返回 None 。 2. 版本使用 settings配置文件 REST_FRAMEWORK = { 'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning', 'ALLOWED_VERSIONS':['v1','v2'], } 路由 # 路由分发 urlpatterns = [ url(r'^api/(?P<version>\w+)/', include('api.urls')), ] # 子路由 urlpatterns = [ url(r'^order/$', views.OrderView.as_view()), ] 通过request.version可以取值 from rest_framework

100 个 PyCharm For Mac 快捷键

∥☆過路亽.° 提交于 2019-12-05 18:13:23
作为真正生产力工具的 Mac, 在 Python 开发中配合 PyCharm 快捷键, 可以让生产力倍增, 本文用 按键位分类 和 按功能分类 两种方式整理 PyCharm 的快捷键. 对于笔者认为 很有用, 但初学者可能未使用过的快捷键, 做加粗处理 按键位分类 Command + ? command + 1 展开收回 Project command + . 展开收回代码块 command + 7 文件结构窗口 command + Click 进入源码 command + R Replace, 替换 command + F Find, 查找 command + K Commit, 提交代码 command + / 注释 command + E Recent Files command + W 快速选择 command + S Save all, 保存所有 command + C Copy, 复制 command + V 粘贴 command + T 从版本控制 (VCS) 更新代码 command + < / > 跳转到行首 / 行尾 command + G Go to Line 跳转到某行 command + Y 删除整行 command + Home / End 跳转至文件首 / 尾 command + PageUp / PageDown 跳转至当前屏幕页首 / 页尾

阿里云基于OSS的云上统一数据保护方案2.0技术解析

感情迁移 提交于 2019-12-05 17:12:01
近年来,随着越来越多的企业从传统经济向数字经济转型,云已经渐渐成为数据经济IT新常态。核心业务系统上云,云上的业务创新,这些都产生了大量的业务数据,这些数据也成为了企业最重要的资产、资源。 阿里云基于OSS的云上统一数据保护方案2.0,针对业务上云后数据保护所面临的挑战,提供多层次、全方位的数据保护解决方案,让您业务上云,数据无忧。 阿里云基于OSS的云上统一数据保护方案2.0,能够应对数据在使用、存储的过程中遇到的风险,通过其云原生的基础能力,为企业提供了多元化、多维度的数据保护解决方案。 业界领先的分布式存储系统,建立稳健的数据底座 阿里云OSS基于业界领先的分布式存储系统构建强健的底座,在设计时充分考虑了存储介质失效、故障的可能性,采用碎片化分布式离散存储技术存储用户的数据,每一份在云端的数据都会被分块,每个分块文件会存多副本,分布于不同机架上,不同交换机下的服务器上,并引入分钟级别的自动维护机制。当某块硬盘发生异常时,对象存储系统将根据风险均衡策略,自动选择合适的硬盘重建数据,从而有效保证对象存储系统级的数据安全。某个服务器,甚至整个机柜出现故障,数据均不会丢失。 同城冗余存储有效抵御机房级故障,满足关键业务数据的同城高可用的要求 对于关键业务数据的同城高可用的要求,阿里云通过OSS同城冗余存储将冗余数据分布于同城的多个可用区上,其采用的是跨可用区分布式纠删码技术

阿里云基于OSS的云上统一数据保护方案2.0技术解析

为君一笑 提交于 2019-12-05 14:33:49
近年来,随着越来越多的企业从传统经济向数字经济转型,云已经渐渐成为数据经济IT新常态。核心业务系统上云,云上的业务创新,这些都产生了大量的业务数据,这些数据也成为了企业最重要的资产、资源。 阿里云基于OSS的云上统一数据保护方案2.0,针对业务上云后数据保护所面临的挑战,提供多层次、全方位的数据保护解决方案,让您业务上云,数据无忧。 阿里云基于OSS的云上统一数据保护方案2.0,能够应对数据在使用、存储的过程中遇到的风险,通过其云原生的基础能力,为企业提供了多元化、多维度的数据保护解决方案。 业界领先的分布式存储系统,建立稳健的数据底座 阿里云OSS基于业界领先的分布式存储系统构建强健的底座,在设计时充分考虑了存储介质失效、故障的可能性,采用碎片化分布式离散存储技术存储用户的数据,每一份在云端的数据都会被分块,每个分块文件会存多副本,分布于不同机架上,不同交换机下的服务器上,并引入分钟级别的自动维护机制。当某块硬盘发生异常时,对象存储系统将根据风险均衡策略,自动选择合适的硬盘重建数据,从而有效保证对象存储系统级的数据安全。某个服务器,甚至整个机柜出现故障,数据均不会丢失。 同城冗余存储有效抵御机房级故障,满足关键业务数据的同城高可用的要求 对于关键业务数据的同城高可用的要求,阿里云通过OSS同城冗余存储将冗余数据分布于同城的多个可用区上,其采用的是跨可用区分布式纠删码技术