代码管理

【第一章】 Spring概述 —— 跟我学Spring3

若如初见. 提交于 2019-11-29 20:27:40
1.1 Spring概括 1.1.1 Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合、高内聚。业务逻辑开发是不可避免的,那如果有个框架出来帮我们来创建对象及管理这些对象之间的依赖关系。可能有人说了,比如“抽象工厂、工厂方法设计模式”不也可以帮我们创建对象,“生成器模式”帮我们处理对象间的依赖关系,不也能完成这些功能吗?可是这些又需要我们创建另一些工厂类、生成器类,我们又要而外管理这些类,增加了我们的负担,如果能有种通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们是不是减少了许多工作,加速了开发,能节省出很多时间来干其他事。Spring框架刚出来时主要就是来完成这个功能。 Spring框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还能帮我管理最头疼的数据库事务,本身提供了一套简单的JDBC访问实现,提供与第三方数据访问框架集成

Git工程开发实践(四)——Git分支管理策略

∥☆過路亽.° 提交于 2019-11-29 19:22:08
https://blog.51cto.com/9291927/2173509?source=dra 一、Git版本管理的挑战 Git是非常优秀的版本管理工具,但面对版本管理依然有非常大得挑战。工程开发中,开发者彼此的代码协作必然带来很多问题和挑战: A、如何开始一个Feature开发,而不影响其它Feature? B、由于很容易创建新分支,分支多了如何管理,时间久了,如何知道每个分支是干什么的? C、哪些分支已经合并回了主干? D、如何进行Release的管理?开始一个Release的时候如何冻结Feature, 如何在Prepare Release的时候,开发人员可以继续开发新的功能? E、生产线上代码出现Bug,如何快速修复?而且修复的代码要包含到开发人员的分支以及下一个Release? 大部分开发人员使用Git一般使用三个甚至两个分支,一个是Master,一个是Develop,还有一个基于Develop的各种分支。在项目规模小的时候勉强可以支撑,但如果开发人员较多,而且项目周期过长就会出现各种问题。 在Git进行源码管理实践中,诞生了Git Flow,用于进行Git分支管理。 二、主流分支策略简介 Git主流分支策略有三种:Git Flow、GitHub Flow、TBD。 Git Flow是应用最广的Git分支管理实践。 GitHub

git 移除版本控制转载

血红的双手。 提交于 2019-11-29 18:14:03
使用场景 我的是Android项目,已经提交到git版本控制器就行管理,但是gen目录是自动生成的不需要git进行管理的. [Shell] 纯文本查看 复制代码 ? 1 2 3 4 git rm -r -n --cached gen //-n 表示仅仅是预览能删除哪些文件,会在控制台显示出来,不是真正的删除. git rm -r --cached gen // 表示删除 gen目录的版本控制 git status // 当前哪些文件不受版本控制器控制 git commit -m "删除 gen 版本控制" // 提交 .gitignore文件语法 在项目根路径下新建.gitignore文件,配置gen目录不受版本控制 [Shell] 纯文本查看 复制代码 ? 1 2 3 4 5 *.b # 忽略所有 .b 结尾的文件 !lib.c # 但 lib.c 除外 /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 aa/TODO build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt 来源: oschina 链接: https://my.oschina.net/u/141149/blog/678555

git在项目中常用命令和项目流程中涉及到步骤分析

拥有回忆 提交于 2019-11-29 12:15:00
GIT git的组成:分布式,版本控制,软件 svn 是集中式版本控制,而 git 是分布式版本控制 问价拷贝 本地版本控制 集中式版本控制 分布式版本控制 第一阶段:生成版本,扩展功能,版本回滚 命令: 1.git init ----- 初始化生成.git文件进行管理 2.git status ------检测当前文件的文件状态,也显示当前文件夹内的文件名称,管理后的文件是绿色,未管理的是红色,也可以进行文件检测,检测文件是否被修改,如若修改则直接变成红色. 3.git add 文件名称 ---- 进行管理文件 4.git add . ----管理当前文件夹所有未管理的文件 5.git log -----查看版本记录 6.git --version ------检查版本号 7.git commit -m "描述信息"-----生成版本 git三大区域: 工作区: 1.已经管理的和修改/新增文件 暂存区:git add . 表示把工作区文件提交到暂存区 版本库:git commit 表示把暂存区文件提交到版本库 回滚: git reset --hard 版本号 git reflog ------用于查看的所有的操作及版本过程 工作区内调度: git checkout -- <file> 修改文件变成管理文件,剔除修改内容 git reset HEAD <file> --

Synchronized锁在Spring事务管理下,为啥还线程不安全?

淺唱寂寞╮ 提交于 2019-11-29 10:44:05
Synchronized锁在Spring事务管理下,为啥还线程不安全? 前言 转载 https://juejin.im/post/5c695b44e51d45164c759c36 该问题来源知乎(synchronized锁问题): www.zhihu.com/question/27… 开启10000个线程,每个线程给员工表的money字段【初始值是0】加1,没有使用悲观锁和乐观锁,但是在业务层方法上加了synchronized关键字,问题是代码执行完毕后数据库中的money 字段不是10000,而是小于10000 问题出在哪里? Service层代码: SQL代码(没有加悲观/乐观锁): 用1000个线程跑代码: 简单来说:多线程跑一个使用 synchronized 关键字修饰的方法,方法内操作的是数据库,按正常逻辑应该最终的值是1000,但经过多次测试,结果是 低于 1000。这是为什么呢? 一、我的思考 既然测试出来的结果是低于1000,那说明这段代码 不是线程安全 的。不是线程安全的,那问题出现在哪呢?众所周知,synchronized方法能够保证所修饰的 代码块、方法 保证 有序性、原子性、可见性 。 讲道理,以上的代码跑起来,问题中 Service 层的 increaseMoney() 是 有序的、原子的、可见的 ,所以 断定 跟synchronized应该没关系。

第一次作业

半腔热情 提交于 2019-11-29 08:33:51
一、计算机专业术语 软件=程序+软件工程 程序=数据结构+算法 静态数据:软件的图标、提示信息 动态数据:程序生成的随机数字、程序通过网络下载的数据、用户的文字或语音输入等 源代码管理:配置管理 用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率 可靠性:某个软件经常会崩溃 ,某个操作系统会时不时死机。 软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件 软件工程:软件需求分析、软件设计、软件构建、软件测试、软件维护 可维护性:某个软件太难维护了,按下葫芦起了瓢,修复了一个问题,另一个问题又出来了。 Bug:软件的行为和用户的期望值不一样。 软件开发过程中的难题:复杂性、不可见性、易变性、服从性、非连续性 系统软件:操作系统、设备驱动程序、工具软件等 应用软件:用户使用它们来完成工作,从管理核电厂到写文章,或者是通讯、游戏等 恶意软件:软件病毒 软件企业:软件+商业模式 国际化、本地化:处理不同语言、不同地区的用户对界面和功能的不同需求 软件维护:服务运营 人工智能:模式识别、机器学习、数据挖掘 计算机图形学、计算机视觉、多媒体 数据库和大规模数据处理 二、五个问题 1、怎样才算一个好的单元测试? 2、谁来做代码复审?为什么非得要进行代码复审? 3、团队模式和团队的开发模式有什么关系? 4、不同的团队模式如何影响团队绩效的评估?

版本控制工具

江枫思渺然 提交于 2019-11-29 06:37:44
版本控制工具 -VSS : 锁机制 来管理文件 -CVS : 给项目添加 版本号,通过版本号进行项目的管理 -SVN : 集中式管理项目、支持代码的冲突、合并以及历史的回退的常见的版本操作 甚至 SVN支持 分支的合并(SVN分支合并是一个重量级的、所以分支合并用来非常难用) -GIT : 分布式项目管理工具,分支合并是一个轻量级的 版本控制工具的作用 主要用来管理项目的源代码 企业项目团队开发 Git 客户端工具 Git 和 Github的关系 git 和 github 没有关系, github是一个代码托管平台,管理项目用的技术是 GIT Git 和 Pycharm 的集成 File -> settings -> Version Control -> git -> execute path (D:/Program Files/git/bin/git.exe) Git 服务器的安装 (gitblit 私服) gitblit 采用的 Java语言开发的GIT服务端,所以安装 gitblit 需要先安装 Java环境 1、安装 Java 2、配置环境变量 JAVA_HOME: C:\Program Files\Java\jdk1.8.0_91 PATH %JAVA_HOME%\bin CLASSPATH . 验证是否安装成功 WIN + R => cmd => java

云效平台代码管理使用总结

杀马特。学长 韩版系。学妹 提交于 2019-11-29 06:05:38
##创建企业云效平台 1.登录阿里云平台 https://my.rdc.aliyun.com/welcome 使用钉钉扫码登录 2.创建企业 3.创建项目 4.在机器管理中添加企业购买的阿里云服务器并对机器分组(根据页面提示在购买的阿里云服务器中执行添加命令) 5.购买企业私有maven仓库 ##添加企业用户 1.管理员可发送邀请链接,收到邀请的用户可以加入公司的云效管理平台 2.管理员可分配用户的权限。 ##搭建阿里云服务器运行环境 1.安装jdk 2.安装git 3.安装tomcat ##使用云效管理项目 1.创建代码仓库 新建git组,新建git库,将项目代码交给git库管理 2.创建项目 3.创建应用 4.创建应用的流水线 ##流水线的配置 1.maven测试配置 若使用自己的settings.xml文件,需把setting.xml放在代码根目录,并且在脚本命令中添加 -s settings.xml 2.构建配置 选择要部署的项目target路径 3.部署配置 需配置部署的机器,可配置war包放置的路径,以及 打包成功后,需执行的脚本文件名及内容。 默认部署配置 服务器脚本示例: [root@iZ2vceqkxo71cjuiti7roxZ application]# more deploy.sh cp -r /home/admin/application/malian01

python面试题之你如何管理不同版本的代码?

荒凉一梦 提交于 2019-11-29 03:09:55
答案 : 版本管理!被问到这个问题的时候,你应该要表现得很兴奋,甚至告诉他们你是如何使用Git(或是其他你最喜欢的工具)追踪自己和奶奶的书信往来。我偏向于使用Git作为版本控制系统(VCS),但还有其他的选择,比如subversion(SVN)。 为什么提这个问题 : 因为没有版本控制的代码,就像没有杯子的咖啡。有时候我们需要写一些一次性的、可以随手扔掉的脚本,这种情况下不作版本控制没关系。但是如果你面对的是大量的代码,使用版本控制系统是有利的。版本控制能够帮你追踪谁对代码库做了什么操作;发现新引入了什么bug;管理你的软件的不同版本和发行版;在团队成员中分享源代码;部署及其他自动化处理。它能让你回滚到出现问题之前的版本,单凭这点就特别棒了。还有其他的好功能。怎么一个棒字了得! 本文首发于 Python黑洞网 ,博客园同步跟新 来源: https://www.cnblogs.com/pythonzhichan/p/11441337.html

DAY12

99封情书 提交于 2019-11-29 00:43:42
今天是第二阶段的答辩日。 虽然目前我们的进度在所有人中并不算快,但是今天的答辩已经让我更有信心了。 我们代码的主体部分已经完成的差不多了,我们决定再对框架进行一些简单的修改。 在与老师的交流中,我们主要谈到的问题是送餐员到底怎么分配。 最终我们决定先由管理方指派,这样可以解决前期的问题。 但是后面还需要添加功能可以让学生自己注册成为送餐员。 另外在支付这方面我也有些许的疑问,但在老师看来我们可以现不在项目中考虑这部分。 相信在之后的一周我们可以完善好自己的代码,最终做出成果。 来源: https://www.cnblogs.com/rvainy/p/11436910.html