代码管理

一个小时学会Git

我只是一个虾纸丫 提交于 2020-02-10 15:36:17
原文地址: https://www.cnblogs.com/best/p/7474442.html 目录 一、版本控制概要 工作区 暂存区 本地仓库 远程仓库 1.1、什么是版本控制 1.2、常用术语 1.3、常见的版本控制器 1.4、版本控制分类 1.4.1、本地版本控制 1.4.2、集中版本控制 1.4.3、分布式版本控制 1.5、Git与SVN最主要区别 二、Git安装与配置 2.1、什么是Git 2.2、搭建Git工作环境 2.2.1、下载Git 2.2.2、安装Git 2.2.3、启动Git 2.2.4、Linux与Mac OS安装Git 2.2.5、Bash基本操作命令 2.3、Git配置 - git config 2.3.1、查看配置 - git config -l 2.3.2、Git配置文件分类 2.3.3、设置用户名与邮箱(用户标识,必要) 2.3.4、添加或删除配置项 2.3.5、更多配置项 三、Git理论基础 3.1、工作区域 3.2、工作流程 3.3、图解教程 四、Git操作 4.1、创建工作目录与常用指令 4.2、获得GIT仓库 4.2.1、创建全新仓库 4.2.2、克隆远程仓库 4.3、GIT文件操作 4.3.1、文件4种状态 4.3.2、查看文件状态 4.3.3、添加文件与目录 4.3.4、移除文件与目录(撤销add) 4.3.5、查看文件修改后的差异

微服务架构复杂吗?看完这篇你就明白了!

混江龙づ霸主 提交于 2020-02-08 19:26:39
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。 一:最初的需求 几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简单,只需要一个网站挂在公网,用户能够在这个网站上浏览商品、购买商品;另外还需一个管理后台,可以管理商品、用户、以及订单数据。 我们整理一下功能清单: 网站 用户注册、登录功能 商品展示 下单 管理后台 用户管理 商品管理 订单管理 由于需求简单,小明左手右手一个慢动作,网站就做好了。管理后台出于安全考虑,不和网站做在一起,小明右手左手慢动作重播,管理网站也做好了。总体架构图如下: 小明挥一挥手,找了家云服务部署上去,网站就上线了。上线后好评如潮,深受各类肥宅喜爱。小明小皮美滋滋地开始躺着收钱。 二:随着业务发展…… 好景不长,没过几天,各类网上超市紧跟着拔地而起,对小明小皮造成了强烈的冲击。 在竞争的压力下

【巨杉数据库SequoiaDB】巨杉数据库无人值守智能自动化测试实践

让人想犯罪 __ 提交于 2020-02-04 11:55:33
刚刚过去的春节,新型冠状病毒疫情突如其来地横扫大江南北。为了响应国家号召,许多软件公司和互联网公司也将在较长一段时间内建议员工采取远程办公的方式,同时也存在骨干工程师无法及时返岗的问题,使得生产力大受影响。 对于软件企业来说,研发与测试是两大核心命脉。研发团队保障着产品新功能新特性的及时发布,而测试团队则如同马的缰绳,确保产品不会由于迭代速度过快、设计考虑角度不周,而导致软件缺陷的产生。 巨杉数据库在9年的自研和技术创新历程中,在研发体系构建、自动化测试、团队线上线下结合等方面积累了很多经验。从2011年团队成立之初开始,巨杉数据库的整个技术研发体系就以面向流程协作的方式进行构建。其核心思想是,任何员工可以在任何地点,只要遵循正确的流程,就可以与整个团队有机地衔接在一起。 在这个非常时刻,为了帮助在远程办公期间内保质保量完成新版本的迭代与测试工作,我们也将我们自己的一些经验分享给大家,主要介绍巨杉如何在无人值守的环境下,完成产品的自动化测试与研发协作。 基础体系 网络基础设施 我们的整个开发环境分为内外网两大网络,其中外部网络可以连接到广域网Internet,而内部网络则没有广域网连接。外网包括办公室中每个员工的台式机,以及可供员工进行远程连接的***服务器与防火墙。工程师们无论使用办公室的电脑,还是通过配发的笔记本电脑从远程通过***接入,均连入公司的外网网段。

Linux内存管理(上)

天大地大妈咪最大 提交于 2020-02-04 04:00:08
摘要 : 本章首先以应用程序开发者的角度审视 Linux 的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析 Linux 地内存管理与使用。在本章最后我们给出一个内存映射地实例,帮助网友们理解内核内存管理与用户内存管理之间地关系,希望大家最终能驾驭 Linux 内存管理。 前言 内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市面上或是网上都充斥着大量涉及内存管理的教材和资料。因此我们这里所要写的 Linux 内存管理采取必重就轻的策略,从理论层面就不去板门弄斧,贻笑大方了。我们最想做的和可能做到的是以开发者的角度谈谈对内存管理的理解,最终目的是把我们在内核开发中使用内存的经验和对 Linux 内存管理的认识与大家共享。 当然这其中我们也会设计一些诸如段页等内存管理的基本理论,但我们目的不是为了强调理论,而是为了指导理解开发中的实践,所以仅仅点到为止,不做深究。 遵循“理论来源于实践”的“教条”,我们先不必一下子就钻入内核里去看系统内存到底是如何管理,那样往往会让你陷入似懂非懂的窘境(我当年就犯了这个错误!)。所以最好的方式是先从外部(用户编程范畴)来观察进程如何使用内存,等到对大家内存使用有了较直观的认识后,再深入到内核中去学习内存如何被管理等理论知识。最后再通过一个实例编程将所讲内容融会贯通。

【巨杉数据库SequoiaDB】巨杉数据库无人值守智能自动化测试实践

五迷三道 提交于 2020-02-04 01:47:30
刚刚过去的春节,新型冠状病毒疫情突如其来地横扫大江南北。为了响应国家号召,许多软件公司和互联网公司也将在较长一段时间内建议员工采取远程办公的方式,同时也存在骨干工程师无法及时返岗的问题,使得生产力大受影响。 对于软件企业来说,研发与测试是两大核心命脉。研发团队保障着产品新功能新特性的及时发布,而测试团队则如同马的缰绳,确保产品不会由于迭代速度过快、设计考虑角度不周,而导致软件缺陷的产生。 巨杉数据库在9年的自研和技术创新历程中,在研发体系构建、自动化测试、团队线上线下结合等方面积累了很多经验。从2011年团队成立之初开始,巨杉数据库的整个技术研发体系就以面向流程协作的方式进行构建。其核心思想是,任何员工可以在任何地点,只要遵循正确的流程,就可以与整个团队有机地衔接在一起。 在这个非常时刻,为了帮助在远程办公期间内保质保量完成新版本的迭代与测试工作,我们也将我们自己的一些经验分享给大家,主要介绍巨杉如何在无人值守的环境下,完成产品的自动化测试与研发协作。 基础体系 网络基础设施 我们的整个开发环境分为内外网两大网络,其中外部网络可以连接到广域网Internet,而内部网络则没有广域网连接。外网包括办公室中每个员工的台式机,以及可供员工进行远程连接的VPN服务器与防火墙。工程师们无论使用办公室的电脑,还是通过配发的笔记本电脑从远程通过VPN接入,均连入公司的外网网段。

长文慎入,如何快速开发区块链游戏

爷,独闯天下 提交于 2020-02-03 05:14:18
长文慎入,如何快速开发区块链游戏 译者注: 原文: 初始发行 Enjin整合 初始整合 客户端SDK GUI 客户端SDK API Enjin的API是GraphQL Enjin推荐 使用服务器 排列你的物品并分批发送 存储返回的transactionId 高级发送很棒 确保你允许区块链拥堵 后端v1-PlayFab 供应有限 服务器脚本 后端v1.5 —临时Bandaid 后端v1.5日落—再见PlayFab 后端v2-自定义解决方案 管理小组 编辑项目 待创建区块链项目 Enjin区块链发送队列 Unity 3d游戏引擎 游戏引擎历史 Unity Asset Store的强大功能 Unity编辑器 有兴趣尝试区块链游戏吗? 遗失的宝藏 译者注: 该文章是独立游戏开发者克里夫·考利写的区块链游戏开发技术文章。没有投资没有团队,他自己一个人成功开发了以太坊区块链第一款真正意义上的ARPG游戏—— 遗失的宝藏 。目前游戏已稳定运营8个月,游戏玩家人数已经超过3700人,玩家道具周交易量在1万人民币左右,月营收在80000 ENJ(人民币50000元)左右。克里夫近期分享了自己从零开发搭建区块链游戏的技术路线。作为一名区块链游戏的粉丝,我见证了 遗失的宝藏 从无到有的过程。为克里夫喝彩之余,感慨为何国内没有游戏开发者能做出如此上等品质的区块链游戏。于是翻译这篇文章

实现文件上下文管理(\\_\\_enter\\_\\_和\\_\\_exit\\_\\_)

谁说我不能喝 提交于 2020-02-02 19:40:00
实现文件上下文管理(__enter__和__exit__) 我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明__enter__和__exit__方法 一、上下文管理协议 class Open: def __init__(self, name): self.name = name def __enter__(self): print('出现with语句,对象的__enter__被触发,有返回值则赋值给as声明的变量') # return self def __exit__(self, exc_type, exc_val, exc_tb): print('with中代码块执行完毕时执行我啊') with Open('a.txt') as f: print('=====>执行代码块') # print(f,f.name) 出现with语句,对象的__enter__被触发,有返回值则赋值给as声明的变量 ====>执行代码块 with中代码块执行完毕时执行我啊 __exit__()中的三个参数分别代表异常类型,异常值和追溯信息,with语句中代码块出现异常, 则with后的代码都无法执行 class Open: def __init__

Spring中事务管理的两种方式

若如初见. 提交于 2020-02-01 08:33:16
spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。 显然声明式事务管理要优于编程式事务管理,这正是spring倡导的非侵入式的开发方式。声明式事务管理使业务代码不受污染,一个普通的POJO对象,只要加上注解就可以获得完全的事务支持。和编程式事务相比,声明式事务唯一不足地方是,后者的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法等等。 spring支持编程式事务管理和声明式事务管理两种方式。

版本控制 - Git

依然范特西╮ 提交于 2020-01-31 18:55:43
Git的使用 Git的历史:Linux 开源社区(特别是 Linux的缔造者 Linus Torvalds )需要使用一种进行版本控制的软件而进行开发的Git Git 和 Svn的使用区别: Svn:是一种集中式的版本控制系统,版本库是集中放置在中央服务器的,在需要使用的时候需要先进行版本的更新(Update)这样集中式的控制系统需要在联网的环境下进行工作,这样的方式使用的是局域网的形式或者是网络的带宽比较高的时候,比较方便,但是网速较慢的情况下就非常的郁闷。另一点缺点就是,集中式的版本控制工具存在着服务器单点故障和容错性查的缺点。 GIt:GIt是一种分布式的版本控制系统,这样的话就是没有中央的服务器的,每个使用Git的电脑就是一个完整的版本库,这样的话就不需要使用联网的环境,而进行多人协作的形式,只需要将各自的文件推送给对方,进行修改就行;或者使用远程仓库进行统一的管理。 GIt使用的流程: 使用的步骤: 从远程仓库中克隆 Git 资源作为本地仓库。(clone) 从本地仓库中checkout代码然后进行代码修改(checkout) 在提交前先将代码提交到暂存区。(add) 提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本(commit) 在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库(push) GIt的安装: GIt工具的安装步骤:

[php]laravel框架容器管理的一些要点

时光毁灭记忆、已成空白 提交于 2020-01-30 06:27:04
原文地址: https://www.cnblogs.com/lyzg/p/6181055.html 阅读目录 1. laravel容器基本认识 2. 如何在代码中获取到容器实例 3. 直观的认识laravel容器 4. 如何理解服务绑定与解析 5. 服务提供者的作用与使用 6. 服务绑定名称的别名 7. 依赖注入的机制 8. 其它 本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点。文章很长,但是内容应该很有用,希望有需要的朋友能看到。php经验有限,不到位的地方,欢迎帮忙指正。 1. laravel容器基本认识 laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化: 这个文件在每一次请求到达laravel框架都会执行,所创建的$app即是laravel框架的应用程序实例,它在整个请求生命周期都是唯一的。laravel提供了很多服务,包括认证,数据库,缓存,消息队列等等,$app作为一个容器管理工具,负责几乎所有服务组件的实例化以及实例的生命周期管理。这种方式能够很好地对代码进行解耦,使得应用程序的业务代码不必操心服务组件的对象从何而来,当需要一个服务类来完成某个功能的时候,仅需要通过容器解析出该类型的一个实例即可。从最终的使用方式来看