总结

今天早上主要学习了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. [转]Struts form传值

    Struts form传值 大约三四个月没用过struts框架,突然想拾起来,却发现好多都忘了.出现传值传不过来的问题.没办法,上网查了一下,看见了一位老师的帖子,总结的很好.特此转载与分享,文末附链 ...

  2. 淘宝(新浪)API获取IP地址位置信息

    package com.parse; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IO ...

  3. CALL FUNCTION 'BAPI_PO_CREATE1' 相关报错

    *&---------------------------------------------------------------------**& Report  ZQJ06*&am ...

  4. x86 寻址学习

    x86 寻址方式众多,什么直接寻址.间接寻址.基址寻址.基址变址寻址等等让人眼花缭乱,而 AT&T 语法对内存寻址方式做了一个很好的统一,其格式为 section:displacement(b ...

  5. flask的请求上下文源码解读

    一.flask请求上下文源码解读 通过上篇源码分析( ---Flask中的CBV和上下文管理--- ),我们知道了有请求发来的时候就执行了app(Flask的实例化对象)的__call__方法,而__ ...

  6. hashMap的线程不安全

    hashMap是非线程安全的,表现在两种情况下: 1 扩容: t1线程对map进行扩容,此时t2线程来读取数据,原本要读取位置为2的元素,扩容后此元素位置未必是2,则出现读取错误数据. 2 hash碰 ...

  7. C# 序列化反序列化 list<>

    public class XMLTest { [Test] public static void Test() { Name1 name = new Name1(); name.Id = " ...

  8. HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事——N骑士问题 Time Limit: 6000/3000 MS (Java/Ot ...

  9. 分享知识-快乐自己:Hibernate对象的三种状态

    图解: 1):瞬时状态(Transient) 对象与session没有关联,数据库中没有对应的数据. 一般new出来的对象便是瞬时对象. 对瞬时对象使用save()方法便使之成为持久对象. 由于数据库 ...

  10. idea创建maven-archetype-webapp项目无java目录

    使用idea创建一个maven-archetype-webapp项目 查看项目的目录结构,在main的目录下没有java目录 在main目录下创建java目录 使用快捷键 ctrl+alt+shift ...