总结

今天早上主要学习了Maven和Idea的Docker插件,遇到了一些坑,对于Idea的Docker插件,不能下载,然后我去访问Idea插件官网,发现被墙了,只要开个VPN就好。下午主要是张总经理给我们介绍了部门的项目,主要是猪齿鱼项目,对于这个项目主要是继承K8s容器,整合DevOps的平台。然后是软件工程开发的方法,介绍了敏捷编程和极限编程,主要讲了敏捷开发原则,尽早持续交付项目和沟通和合作等,敏捷编程的角色,Product Owner,Scrum Master,Scrum Team三大角色,敏捷编程的过程,冲刺规划会,Scrum站立会等内容,还推荐了Scrum敏捷软件开发,凤凰项目,看板实践,DevOps hand book等几本书籍。

Maven与SpingBootDocker化

Maven

  1. 统一Java工程目录结构
  2. 统一管理har包
  3. 保证本地与线上环境一致

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了,使用教程

  1. 新建项目
  2. view->tools windows->docker->使用

平台及开发方式

平台

技术平台要求:

DevOps:形成共同责任,激励,工具,过程,文化。

持续交付,微服务,容器(开发运维一体化)

容器方面k8s已经很成熟了,软件焦点转到应用级,例如Service Mesh(Istio)。

敏捷开发

传统瀑布式:需求不清晰;需求在变化;项目时间长;没有时间测试

敏捷项目,结构化项目,混乱项目

martin fowler

敏捷宣言:

  1. 个体和互动 高于 流程和工具
  2. 工作的软件 高于 详尽的文档
  3. 客户合作 高于 合同谈判
  4. 响应变化 高于 遵循计划

尽管右项右价值,但更重视左边价值

敏捷原则:

尽早持续交付项目

沟通和合作

Scrum:自组织和集体承诺

三要素:角色(Product Owner,Scrum Master,Scrum Team),形式,产出

产品所有者:

  1. 定义特性
  2. 特性优先级排序
  3. 挑选发布日期
  4. 提供反馈
  5. 管理利益相关者
  6. 接受和拒绝产出结果

开发团队:

  1. 定义任务
  2. 预估工作量
  3. 开发产品
  4. 确保质量
  5. 演化流程

Scrum Master:

  1. 服务型领导
  2. 团队保护者
  3. 障碍解决者
  4. Scrum指导

产品Backlog,细项是用户故事(作为一个[用户],想要什么[功能],有什么[好处])

sprint(冲刺)backlog

冲刺规划会1

  1. 面对面沟通
  2. 从用户观点出发
  3. 优先级排列,选择特性
  4. 讨论验收标准

0.5-1小时/冲刺/周

冲刺规划会2

  1. 估算冲刺backlog条目
  2. 使用以往速率

0.5-1小时/冲刺/周

Scrum站立会(每天举行15分钟以内)

  1. 昨天做了什么?
  2. 今天准备做什么?
  3. 有无障碍?

注意事项:

  1. 只有团队成员讲话
  2. 不是向Scrum Master汇报
  3. 不解决问题
  4. 站着开会

sprint burndown(冲刺燃尽图)

冲刺评审会

  1. 不需要ppt
  2. 可以邀请感兴趣的人

1-2小时/冲刺/周

冲刺回顾会

  1. 开始做什么
  2. 停止做什么
  3. 继续做什么

敏捷缺点

  1. 不断修改代码
  2. 不断引入新bug
  3. 代码库脆弱
  4. 软件不稳定

极限编程(XP)

1周一迭代

结对编程

持续集成,测试

测试驱动开发(TDD)

代码异味

  1. 拒绝继承
  2. 过度使用字面值
  3. 超长超短标志符

技术债

代码重构

持续集成(CI):尽早发现合并错误,(每天提交2-3代码)

持续部署(CD):自动化部署

DevOps:开发运维一体化

Scrum关注项目管理,极限编程关注软件开发

  1. Scrum敏捷软件开发
  2. 凤凰项目
  3. 看板实践
  4. 精益IT(Lean IT)

7.10实习培训日志-Maven 敏捷编程的更多相关文章

  1. 7.10实习培训日志-markdown Git

    父模块github地址 一. markdown 1. markdown列表 html是一种发布的格式,markdown是一种书写的格式 区块引用 列表 图片 表格 html 标题 记笔记 写博客 2. ...

  2. 7.24实习培训日志-Docker-Compose

    Docker-Compose 对于昨天的考试,需要 项目根目录下需要docker/mysql/Dockerfile 文件用于构建mysql镜像 项目根目录下需要docker/java/Dockerfi ...

  3. 7.27实习培训日志-Oracle SQL(三)

    Oracle SQL(三) 视图 特性 简单视图 复杂视图 关联的表数量 1个 1个或多个 查询中包含函数 否 是 查询中包含分组数据 否 是 允许对视图进行DML操作 是 否 CREATE [OR ...

  4. 7.21实习培训日志-JDBC JSP Servlet

    JDBC JSP Servlet 总结 今天早上的考试主要考Java的网络,HttpClient的get,post方法,Socket的文件传输和Xml和Json文件的解析,对于HttpCLient很简 ...

  5. 7.20实习培训日志-Java基础程序设计结构

    Java基础程序设计结构 在 Math 类中,为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程,如果得到一个完全可预测的结果比运行速度更重要的话,那么就应该使用StrictMath类,它使用 ...

  6. 7.19实习培训日志- java进阶

    java进阶 java集合 Collection List ArrayList jdk1.2,异步处理,性能高,线程不安全 Vector jdk1.0,同步处理,性能低,线程安全 Set HashSe ...

  7. 7.17实习培训日志-java基础

    总结 今天主要是学习了java基础,java面向对象方面的知识,然后下午老师讲了软件的设计模式,今天看了一部分,印象深刻的是单例模式,用枚举实现单例模式.晚上主要讲了maven的一些基础知识和idea ...

  8. 7.30实习培训日志-SQL优化

    总结 今天早上考试,下午主要是老师引导我们学习SQL优化,晚上主要是同学的技术分享,杨松柏同学主要给我们分享了java的io的一些东西,c10k问题,bio(同步阻塞IO),NIO(同步非阻塞IO), ...

  9. 7.29实习培训日志-Oracle题目

    总结 这周主要学习了SQL,oracle中的SQL基础,以前学习的是SQLserver的SQL,和oracle的还是有略微不同,所以重新去学习了一段时间,然后对于oracle中的各种函数有了初步了解, ...

随机推荐

  1. windowsphone8.1学习笔记之应用数据(二)

    上一篇说了应用数据的应用设置,这篇说说应用文件,应用文件主要分为三种:本地应用文件.漫游应用文件和临时应用文件. 获取根目录方法如下,都是返回一个StorageFolder对象(稍后介绍这个). // ...

  2. (转)JavaScript中==和===的区别

    ==   用于比较   判断 两者相等      ==在比较的时候可以转自动换数据类型 ===用于严格比较   判断两者严格相等     ===严格比较,不会进行自动转换,要求进行比较的操作数必须类型 ...

  3. LeetCode:将有序数组转换为二叉搜索树【108】

    LeetCode:将有序数组转换为二叉搜索树[108] 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差 ...

  4. JS中继承方式总结

    说在前面:为了使代码更为简洁方便理解, 本文中的代码均将"非核心实现"部分的代码移出. 一.原型链方式关于原型链,可点击<深入浅出,JS原型链的工作原理>,本文不再重复 ...

  5. Android Studio第一次启动失败的解决办法

    Android Studio Android 开发环境 由于GFW的问题,安装后第一次启动会在显示Fetching android sdk component information对话框后,提示错误 ...

  6. IC卡、ID卡、M1卡、射频卡的区别是什么【转】

    本文转载自:https://www.cnblogs.com/najifu-jason/p/4122741.html IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC ...

  7. flash滑杆控制图片横向滚动

    flash滑杆控制图片横向滚动是一款FLASH动画图片左右滚动素材,滑杆控制滚动,效果很酷,带FLASH源文件. 下载:http://www.huiyi8.com/sc/9452.html

  8. sql中使用timestamp增量抽取数据

    网址:http://www.cnblogs.com/shuaifei/p/4469526.html 最近的项目中需要对上百万级的数据进行增量抽取操作,因此了解了一下TIMESTAMP的应用,特此记录 ...

  9. listen 56

    Kettles Stop Whistling in the Dark British physicist Lord Rayleigh is best known for his discovery o ...

  10. C/C++的四大内存分区和常量的存储位置

    原文:https://blog.csdn.net/k346k346/article/details/45592329 正确的理解C/C++程序的内存分区,是合格程序猿的基本要求. 网络上流形两大版本内 ...