光阴似箭,日月如梭!跟着孤尽老师学习的第二周也即将结束,训练营的日子也已经过去了一半。古人云,学而不思则罔,思而不学则殆。今天我们来对第二周的学习做个总结。
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 结尾;命名望文知意
代码格式:垂直的空行,水平的空格等
常量设计:跨应用共享变量、应用内共享变量、子工程共享变量、包内共享变量、类共享变量
常量命名全大写,以下划线分割
注释规约:提高代码可读性、使程序条理清晰、方便后期代码维护、方便程序员之间交流、生成帮助文档、警示作用避免踩坑
前后端的接口设计规约:
Java 中的浮点数学习:计算机采用二进制处理数据,但是很多小数,如0.1的二进制是一个无线循环小数,而这种数字在计算机中是无法精确表示的。所以,人们采用了一种通过近似值的方式在计算机中表示,于是就有了单精度浮点数和双精度浮点数等
day 13
实现了mybatis-plus 的代码自动生成器
一寸光阴一寸金,寸金难买寸光阴!