总结

今天早上主要学习了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. XShell 连接 vm虚拟机中的redhat Linux系统

    选择的是nat链接,因为nat链接是没有网络的情况下,也是可以链接操作的,当然bridge也可以,那我就从第一步开始; 因为有的人可能改过电脑上的虚拟适配器的ip地址,导致和虚拟机默认的不一样了.如果 ...

  2. (1)Web 应用是一个状态机,视图与状态是一一对应的。 (2)所有的状态,保存在一个对象里面。

    Redux 入门教程(一):基本用法 - 阮一峰的网络日志 http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_u ...

  3. CentOS7的/tmp目录自动清理规则(转)

    CentOS7的/tmp目录自动清理规则 CentOS6以下系统(含)使用watchtmp + cron来实现定时清理临时文件的效果,这点在CentOS7发生了变化,在CentOS7下,系统使用sys ...

  4. 我的Java开发学习之旅------>Java String对象作为参数传递的问题解惑

    又是一道面试题,来测试你的Java基础是否牢固. 题目:以下代码的运行结果是? public class TestValue { public static void test(String str) ...

  5. ubuntu 更新软件命令

    安装软件最好加权限(sudo) --default-timeout=100 设置超时时间100秒 install -U setuptools 表示更新安装setuptools sudo pip3 -- ...

  6. xutils3基本使用

    根目录下新建一个类继承application,调用xUtils3初始化方法 public class AtguiguApplication extends Application { @Overrid ...

  7. Android Studio快速添加Gson Gsonformat

    一.Android Studio快速添加Gson 具体操作:       1.File->Project Structure: 2.app->Dependencies->" ...

  8. Android tab页制作

    全屏启动页 activity_launcher <?xml version="1.0" encoding="utf-8"?> <Relativ ...

  9. 编译debian内核

    玩腻了开发板,在pc上编译linux内核. debian 官方的内核文档见http://kernel-handbook.alioth.debian.org 我选择编译与当前内核版本对应的linux内核 ...

  10. Linux下查看端口占用情况

    用启动服务的账号登录,然后运行命令: lsof -i:<端口号> 也可使用命令: netstat -apn|grep <端口号> 找到进程号以后,再使用以下命令查看详细信息: ...