总结

今天早上主要学习了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. 我的Java开发学习之旅------>使用Working Setst将Eclipse中的项目分类使项目一目了然

    今天发现Eclipse中若有太多的项目,杂七杂八的,看起来会非常的痛苦.今天请教公司的前辈学会了一个方法,在Eclipse中,当项目比较多的时候,我们可以用WorkingSet将这些项目分类,把相关连 ...

  2. linux下 python源码包解压报错

    执行下面的命令 tar -zvxf Python.3.6.5.tgz 报错 gzip: stdin: not in gzip format tar: Child returned status 1 t ...

  3. JETSON TK1 ~ 控制GPIO

    首先建立个存放gpio代码的文件夹,CD到该文件夹. git clone git://github.com/derekmolloy/boneDeviceTree/ 解压后会出现几个文件 GPIO文件夹 ...

  4. PAT 甲级 1007. Maximum Subsequence Sum (25) 【最大子串和】

    题目链接 https://www.patest.cn/contests/pat-a-practise/1007 思路 最大子列和 就是 一直往后加 如果 sum < 0 就重置为 0 然后每次 ...

  5. ssh免密登陆服务器

    本文介绍的是以公钥认证的方式实现 ssh 免密码登陆远程服务器. 客户端生成RSA公钥和私钥 在用户更目录有一个 .ssh 的文件夹,如果没有就新建一个.在文件夹中通过命令 ssh-keygen -t ...

  6. python优缺点小结

    优点:  1.语言简洁优美 例如去除了大括号,写法简单,写法更接近于英语,其他语言几十上百行的代码,十来行就能解决,而且还好看 2.跨平台,window.linux.mac通用 3.排行高,社区完善 ...

  7. AiCloud 2.0 AT开发文档【转】

    本文转载自:http://wiki.ai-thinker.com/aicloud/docs/atdevelop AT指令一览表 AiCloud AT指令   指令 描述 AT+CLDSTART 启动云 ...

  8. 迁移博客到Github Pages

    由于种种原因,我的博客迁移到了 https://phuker.github.io/ .虽然没有多少人气,但是希望能继续见证一个技术渣的成长.

  9. python 3 - 写一个注册的程序,账号和密码都存在文件里面

    choice = input('请输入你的选择:1,注册2.删除用户3.登录') #注册 输入 账号 密码 密码确认 # #需要校验用户是否存在,两次输入的密码,是否一致,为空的情况 #账号和密码都存 ...

  10. Spring MVC文件上传下载工具类

    import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import ...