孤尽训练营打卡日记day14--第二周总结

前言

        光阴似箭,日月如梭!跟着孤尽老师学习的第二周也即将结束,训练营的日子也已经过去了一半。古人云,学而不思则罔,思而不学则殆。今天我们来对第二周的学习做个总结。

内容回顾

day08

        首先,孤尽老师对上一周的作业做了一个标准解答:

  • 用例图核心:用户 + 行为,有哪些用户角色,使用了系统什么功能
  • 类图核心:模型的抽象、模型之间的关系
  • 时序图核心:对象之间的协作、随着时间线,做了什么
  • 状态图核心:有哪些状态、什么条件触发状态变化
  • 活动图核心:有哪些系统参与了协助、每个流程的判断

        无尘老师介绍了应用分层,传统的MVC架构(Model模型,View视图,controller控制器),每层承担不同的职责,让专门的模块做专门的事。

        还学习了主流的构建工具maven

主要功能:依赖管理、规范目录结构、完整的项目构建阶段、支持多插件

依赖仲裁:DependencyManager进行声明仲裁,如果没有声明仲裁,则按照最短路径、如果路径也相同,按照第一声明优先原则

查找依赖:利用插件 maven helper

解决冲突:exclusion 排除依赖、option 可选依赖

        二方库的介绍,命名规范、引用规范、引用建议、发布原则

day09

网络协议 TCP/IP

ios 的七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

tcp五层模型:物理层、链路层、网络层、传输层、应用层

tcp 连接的三次握手 和 四次挥手

day 10

技术选型

为什么需要技术选型?降低开发成本、提高研发效率、系统可维护性

微服务架构三部曲:单体应用、SOA(面向服务架构)、微服务

        常见的数据库访问层技术

JDBC :java database connectivity 是sun公司指定的java数据库连接技术简称

JdbcTemplate:是spring 对jdbc的封装 JdbcTemplate处理了资源的建立和释放,比如数据库连接的创建和释放,statement 的建立和执行

Hibernate:全自动化持久层框架

Mybatis:优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)

Mybatis-plus:一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它封装了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA

        常见数据库连接池

Druid 提供了一个高效、功能强大、可扩展性好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池

HikariCP:是一个高性能的 JDBC 连接池组件

DBCP:数据库连接池是 apache 上的一个Java连接池项目

Tomcat-jdbc:是tomcat服务器比较可靠的 数据库连接池

C3P0:一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。

        常见的MQ消息中间件

Kafka:是由Apache软件基金会开发的一个开源流处理平台,一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据

RocketMQ:是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求

RabbitMQ:是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

        还有常见的远程通信框架:feign、dubbo、gRPC、Thrift

        网关常见技术:Spring Cloud Gateway、Nginx、Kong、Node.js、Zuul

day 11

        本次项目使用的配置中心是 nacos,之前没接触过,所以学习了nacos,并解决了nacos本地闪退的问题

day 12

代码规范

学习了为什么需要代码规范?减少代码维护成本、改善可读性、提高团队合作效率、锻炼出更严谨的思维、身心愉快

命名规范:命名提现代码元素特征,如 抽象类使用 Abstract开头,异常以Exception 结尾;命名望文知意

代码格式:垂直的空行,水平的空格等

常量设计:跨应用共享变量、应用内共享变量、子工程共享变量、包内共享变量、类共享变量

常量命名全大写,以下划线分割

注释规约:提高代码可读性、使程序条理清晰、方便后期代码维护、方便程序员之间交流、生成帮助文档、警示作用避免踩坑

前后端的接口设计规约:

  • 前后端交互的API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响应体,提供清晰的接口文档
  • Java 与 JS对数字类型变量处理方式不同,如果数字太大或者有精度要求,最好使用String类型

Java 中的浮点数学习:计算机采用二进制处理数据,但是很多小数,如0.1的二进制是一个无线循环小数,而这种数字在计算机中是无法精确表示的。所以,人们采用了一种通过近似值的方式在计算机中表示,于是就有了单精度浮点数和双精度浮点数等

day 13

        实现了mybatis-plus 的代码自动生成器

一寸光阴一寸金,寸金难买寸光阴!

你可能感兴趣的:(java)