7.10实习培训日志-Maven 敏捷编程
总结
今天早上主要学习了Maven和Idea的Docker插件,遇到了一些坑,对于Idea的Docker插件,不能下载,然后我去访问Idea插件官网,发现被墙了,只要开个VPN就好。下午主要是张总经理给我们介绍了部门的项目,主要是猪齿鱼项目,对于这个项目主要是继承K8s容器,整合DevOps的平台。然后是软件工程开发的方法,介绍了敏捷编程和极限编程,主要讲了敏捷开发原则,尽早持续交付项目和沟通和合作等,敏捷编程的角色,Product Owner,Scrum Master,Scrum Team三大角色,敏捷编程的过程,冲刺规划会,Scrum站立会等内容,还推荐了Scrum敏捷软件开发,凤凰项目,看板实践,DevOps hand book等几本书籍。
Maven与SpingBootDocker化
Maven
- 统一Java工程目录结构
- 统一管理har包
- 保证本地与线上环境一致
Maven Setting文件
localRepository #本地仓库的路径
servers #配置服务端(私库账号密码)
mirrors #下载镜像列表
profiles #覆盖任何其它定义在POM中或者profile.xml中的带有相同id的profile
Maven pom.xml文件
Idea Docker
mysql volumes配置
/var/lib/mysql:数据
/etc/mysql/conf.d:mysql配置文件
kafka
docker integration插件下载
Idea Docker插件无法下载
用vpn,Idea中的http proxy设置代理端口,成功下载
idea docker配置
idea Docker 部署image
invalid volume specification: 'C:\\Users\\DYQ\\tranning\\vagrant\\data\\mysql\\db:/var/lib/mysql:rw'"
报诸如此类的错误
把映射改成
/D/docker/data/mysql/db(不要用D:/之类的)
docker-toolbox-windows-invalid-volume-specification
Idea Docker使用
如果已经配置过Docker了,使用教程
- 新建项目
- view->tools windows->docker->使用
平台及开发方式
平台
技术平台要求:
DevOps:形成共同责任,激励,工具,过程,文化。
持续交付,微服务,容器(开发运维一体化)
容器方面k8s已经很成熟了,软件焦点转到应用级,例如Service Mesh(Istio)。
敏捷开发
传统瀑布式:需求不清晰;需求在变化;项目时间长;没有时间测试
敏捷项目,结构化项目,混乱项目
martin fowler
敏捷宣言:
- 个体和互动 高于 流程和工具
- 工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划
尽管右项右价值,但更重视左边价值
敏捷原则:
尽早持续交付项目
沟通和合作
Scrum:自组织和集体承诺
三要素:角色(Product Owner,Scrum Master,Scrum Team),形式,产出
产品所有者:
- 定义特性
- 特性优先级排序
- 挑选发布日期
- 提供反馈
- 管理利益相关者
- 接受和拒绝产出结果
开发团队:
- 定义任务
- 预估工作量
- 开发产品
- 确保质量
- 演化流程
Scrum Master:
- 服务型领导
- 团队保护者
- 障碍解决者
- Scrum指导
产品Backlog,细项是用户故事(作为一个[用户],想要什么[功能],有什么[好处])
sprint(冲刺)backlog
冲刺规划会1
- 面对面沟通
- 从用户观点出发
- 优先级排列,选择特性
- 讨论验收标准
0.5-1小时/冲刺/周
冲刺规划会2
- 估算冲刺backlog条目
- 使用以往速率
0.5-1小时/冲刺/周
Scrum站立会(每天举行15分钟以内)
- 昨天做了什么?
- 今天准备做什么?
- 有无障碍?
注意事项:
- 只有团队成员讲话
- 不是向Scrum Master汇报
- 不解决问题
- 站着开会
sprint burndown(冲刺燃尽图)
冲刺评审会
- 不需要ppt
- 可以邀请感兴趣的人
1-2小时/冲刺/周
冲刺回顾会
- 开始做什么
- 停止做什么
- 继续做什么
敏捷缺点
- 不断修改代码
- 不断引入新bug
- 代码库脆弱
- 软件不稳定
极限编程(XP)
1周一迭代
结对编程
持续集成,测试
测试驱动开发(TDD)
代码异味
- 拒绝继承
- 过度使用字面值
- 超长超短标志符
技术债
代码重构
持续集成(CI):尽早发现合并错误,(每天提交2-3代码)
持续部署(CD):自动化部署
DevOps:开发运维一体化
Scrum关注项目管理,极限编程关注软件开发
- Scrum敏捷软件开发
- 凤凰项目
- 看板实践
- 精益IT(Lean IT)
7.10实习培训日志-Maven 敏捷编程的更多相关文章
- 7.10实习培训日志-markdown Git
父模块github地址 一. markdown 1. markdown列表 html是一种发布的格式,markdown是一种书写的格式 区块引用 列表 图片 表格 html 标题 记笔记 写博客 2. ...
- 7.24实习培训日志-Docker-Compose
Docker-Compose 对于昨天的考试,需要 项目根目录下需要docker/mysql/Dockerfile 文件用于构建mysql镜像 项目根目录下需要docker/java/Dockerfi ...
- 7.27实习培训日志-Oracle SQL(三)
Oracle SQL(三) 视图 特性 简单视图 复杂视图 关联的表数量 1个 1个或多个 查询中包含函数 否 是 查询中包含分组数据 否 是 允许对视图进行DML操作 是 否 CREATE [OR ...
- 7.21实习培训日志-JDBC JSP Servlet
JDBC JSP Servlet 总结 今天早上的考试主要考Java的网络,HttpClient的get,post方法,Socket的文件传输和Xml和Json文件的解析,对于HttpCLient很简 ...
- 7.20实习培训日志-Java基础程序设计结构
Java基础程序设计结构 在 Math 类中,为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程,如果得到一个完全可预测的结果比运行速度更重要的话,那么就应该使用StrictMath类,它使用 ...
- 7.19实习培训日志- java进阶
java进阶 java集合 Collection List ArrayList jdk1.2,异步处理,性能高,线程不安全 Vector jdk1.0,同步处理,性能低,线程安全 Set HashSe ...
- 7.17实习培训日志-java基础
总结 今天主要是学习了java基础,java面向对象方面的知识,然后下午老师讲了软件的设计模式,今天看了一部分,印象深刻的是单例模式,用枚举实现单例模式.晚上主要讲了maven的一些基础知识和idea ...
- 7.30实习培训日志-SQL优化
总结 今天早上考试,下午主要是老师引导我们学习SQL优化,晚上主要是同学的技术分享,杨松柏同学主要给我们分享了java的io的一些东西,c10k问题,bio(同步阻塞IO),NIO(同步非阻塞IO), ...
- 7.29实习培训日志-Oracle题目
总结 这周主要学习了SQL,oracle中的SQL基础,以前学习的是SQLserver的SQL,和oracle的还是有略微不同,所以重新去学习了一段时间,然后对于oracle中的各种函数有了初步了解, ...
随机推荐
- spring事务和mysql的隔离级别
mysql事务.mysql隔离级别.mysql锁.mysql数据一致性.Spring事务.Spring事务传播性之间的关系 一直有些模糊,整理一下. mysql事务: 在mysql中,只有使用了I ...
- 我的Java开发学习之旅------>在Dos环境下Java内部类的编译和运行
习惯了在IDE工具上进行代码编写,连最基本的Javac命令和Java命令都忘记的差不多了,今天对一个Java内部类进行编译和运行的时候,就出糗了.IDE是把双刃剑,它可以什么都帮你做了,你只要敲几行代 ...
- Redis之java增删改查
jedis是java的redis客户端实现,要使用jedis须要加入jedis的maven依赖: <dependency> <groupId>redis.clients< ...
- MySql索引建立规则
为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引.本小节将向读者介绍一些索引的设计原则. 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确 ...
- Java for LeetCode 122 Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- Form表单插件
jQuery Form是一个优秀的表单插件,它可以非常容易地,无侵入地升级HTML表单以支持Ajax jQuery Form表单插件的下载地址为 http://jquery.malsup.com/fo ...
- python的上下文管理器-1
reference:https://zhuanlan.zhihu.com/p/26487659 来看看如何正确关闭一个文件. 普通版: def m1(): f = open("output. ...
- js(11)
style对象的相关案例 <!DOCTYPE html> <html> <head> <title>MyHtml.html</title> ...
- css(3)
行内元素和块内元素可以通过定义display的属性值进行相互转换. 想要叫ul中的li实现横向显示可以在li中加入布局"float:left": 如: /*这个用于控制单个图片区域 ...
- 从TS流到PAT和PMT
转自:https://blog.csdn.net/rongdeguoqian/article/details/18214627 一 从TS流开始 最近开始学习数字电视机顶盒的开发,从MPEG-2到DV ...