自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 T31训练营笔记(14)课程总结

1. 基础知识 1.1 提升点:学习能力、思维能力、专业能力 1.2 如何学习:记忆、理解、表达、融会贯通 1.3 快速学习:抓住关键信息、提升摄入质量、加快内化速度、形成知识网络 1.4 数据结构:指逻辑意义上的数据组织方式以及相应的处理方式 2. 代码规范 2.1 编码规约意义: 减少代码维护成本、改善可读性、提高团队开发的合作效率、锻炼出更加严谨的思维、身心愉快 2.2 代码注释作用 提高代码可读性、使程序条理清晰、方便后期代码维护、方便程序员间交流沟通、生成帮助文档、警示作用防止踩坑 3. Ja

2021-12-03 12:57:33 387

原创 T31训练营笔记(13)系统健壮性设计

1. 代码评审 1.1 代码评审作用 熵减的过程、团队成长、提升代码规范度、提升代码质量 1.2 如何做CR 统一的编码与设计规范 完整的技术架构说明与示例 不定期的Review会议 小项目10天/次,大项目15天/次,前期可以密集一些,后续考虑1月/次 2. 健壮性与鲁棒性 2.1 含义 异常情况、特殊环境、超限情况,依然能够稳定运行 2.2 健壮性度量 (1)架构:负载均衡、容灾能力 (2)代码:参数校验、异常处理、分支覆盖 (3)环境:混沌工程、异地多活 3. 如何构建健壮性的系统 3.1 负载均

2021-11-25 16:13:47 661

原创 T31训练营笔记(12)Redis 分布式锁

1. 分布式锁简介 1.1 简介 在分布式架构下,在 JVM 之间,使用分布式锁解决跨 JVM 进程的线程安全问题。 2. Redis 分布式锁分析 2.1 Redis 分布式锁原理 2.1.1 借助 setnx 和 expire 命令完成 2.1.2 原理解析 (1)key 不存在时创建,并设置 value 和过期时间,返回值为1;成功获取到锁 (2)key 存在时,直接返回0,获取锁失败 (3)持有锁的线程释放锁时,手动删除 key;或者过期时间到,key 自动删除,锁释放 2.1.3 加锁的问题 问

2021-11-23 14:07:15 1397

原创 T31训练营笔记(11)用户系统实现

1. JWT 1.1 定义 Json web token,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。定义了一种简洁的、自包含的方法用于通信双方之间以JSON对象的形式安全的传递信息。 1.2 组成 (1)Header 头部:包含了两部分,token 类型、采用的加密算法 (2)Payload 负载:存放信息的地方 (3)Signature 签名:使用编码后的 header 和 payload 以及我们提供的一个密钥,使用 header 中指定的签名算法进行签名。 1.3 为什么使用J

2021-11-20 16:57:57 458

原创 T31训练营笔记(10)单元测试与系统安全规约

1. 单元测试规约 1.1 是什么 对软件组成单元进行的测试。目的是检验软件基本组成单位的正确性。测试对象是软件设计的最小单元:模块,又称为模块测试。 1.2 AIR 原则 A:Automatic 自动化 I:Independent 独立性 R:Repeatable 可重复性 1.3 BCDE 原则 B:Border 边界值测试 C:Correct 正确的输入得到正确的结果 D:Design 与设计文档结合 E:Error 证明程序有错 1.4 常用框架 JUnit、Mockito、Spring-Test

2021-11-18 08:18:35 4366

原创 T31训练营笔记(9)OAuth2

1. OAuth2是什么 1.1 OAuth2是什么 OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。 1.2 OAuth2的角色 Resource Owner 资源拥有者 Client 客户端 Authorization Server 授权服务器 Resource Server资源服务器 User Agent 用户代理 1.3 OAuth2授权模式 authorization code implic.

2021-11-15 14:54:13 474

原创 T31训练营笔记(8)集合与并发编程

1. T31系统功能树 1.1 用例图与功能树 (1)用例图关注有哪些角色,角色能够干什么 (2)功能树关注有哪些大的功能模块,功能模块能够实现什么能力 1.2 部署图 关注部署元素:微服务、数据库 关注部署关联元素:注册中心、消息中间件2. 集合规约 2.1 数据结构与时间复杂度 (1)数据结构指逻辑意义上的数据组织方式及其相应的处理方式 (2)数据处理方式:增删改查 (3)时间复杂度从好到坏:常数级、对数级、线性级、线性对数级、平方级、指数级、阶乘级 (4)数据结构的优化与运算规模有关,也与调用频率有关

2021-11-13 17:45:27 716

原创 T31训练营笔记(7)Java代码避坑指南

1. 浮点数据的处理 1.1 任何货币金额均以最小货币单位且整型类型来进行存储 1.2 浮点类型存在精度丢失 1.3 浮点数据避坑 (1)浮点数据之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用equals来判断,可以指定一个误差范围 (2)BigDecimal的等值比较应使用compareTo()方法,而不是equals()方法 (3)禁止使用构造方法BigDecimal(double)的方式把double值转化为BigDecimal对象 2. 日期数据的处理 2.1 Java8新增日期

2021-11-11 08:50:06 456

原创 T31训练营笔记(6)编码规约

1. 编码规约缘起 1.1 编码规约存在的意义 减少代码的维护成本 改善可读性 提高团队开发的合作效率 锻炼出更加严谨的思维 身心愉快2. 代码格式与命名风格 2.1 两个要求 (1)命名体现代码元素特征 抽象类命名使用Abstract或Base开头 异常类命名使用Exception结尾 测试类命名以它要测试的类名开始,以Test结尾 类型与中括号紧挨相连来定义数组 枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开 (2)命名最好望文知意 不规范的缩写会导致理解成本增加 望文知意指的是英

2021-11-09 08:20:13 363

原创 T31训练营笔记(5)技术架构选型

1. 关于技术选型 1.1 为什么要进行技术选型 降低开发成本、提高研发效率 1.2 微服务架构的产生 (1)第一代单体应用,所有模块打包到一起部署运行。 特点:不可靠、单维扩展、不可持续发展。 (2)SOA,面向服务架构,它是一种设计方法,自上而下,服务间松散耦合。 特点:ESB没有解决局势应用的一些问题、服务拆分力度很大。 (3)微服务,去中心化的SOA拓展,强调服务彻底的组件化,一个组件就是一个产品,服务切分力度更小,设计上更多的是自下而上的。 特点:业务隔离、并行开发、易于运维、单独部署。 1.3

2021-11-06 12:39:34 2024

原创 T31训练营笔记(4)工程结构规约

1. 应用分层 1.1 为什么要分层 可扩展性、可维护性 1.2 分层领域模型 DO、DTO、BO、Query、VO2. Maven 2.1 什么叫做构建 使用javac编译、根据环境读取资源文件、打包 2.2 Maven的主要功能 依赖管理、规范目录结构、完整的项目构建阶段、支持多种插件 2.3 GAV groupId、artifactId、version 2.4 Maven的依赖仲裁 (1)按照DependencyManager版本进行仲裁 (2)如无仲裁声明,则按照依赖最短路径确定版本 (3)若相同路

2021-11-04 11:53:49 1519

原创 T31 错误码设计

public enum ErrorCodeEnum { SUCCESS("00000", "成功","操作成功"), USER_ERROR_A0100("A0100", "用户注册错误","注册失败,请重新注册!"), USER_ERROR_A0101("A0101", "用户未同意隐私协议","注册失败,请重新注册!"), USER_ERROR_A0102("A0102", "用户名已存在","用户名已存在,请重新注册!"), USER_ERROR_A0103(.

2021-11-02 16:20:09 269

原创 T31训练营笔记(3)异常处理与日志

1. Java异常体系 1.1 Java异常处理机制 生成异常、捕获异常、抛出异常、声明异常 1.2 Java异常体系 Throwable、Error、Exception、非受查异常、受查异常2. 异常处理 2.1 异常抛出与捕获的原则 (1)非必要不使用异常 (2)使用描述性消息抛出异常 (3)力所能及的异常一定要处理 (4)异常忽略要有理有据 2.2 异常处理流程 (1)try...catch...finally (2)try with resource 2.3 foreach遍历集合的异常 (1)不要

2021-11-02 08:21:48 201

原创 T31训练营笔记(2)MySQL设计规约

1.建表规约 1.1 表、字段命名 (1)必须使用小写字母或数字 (2)禁止出现数字开头 (3)禁止两个下划线中间只出现数字 (4)不使用复数名词 (5)禁用保留字 (6)是与否概念的字段,必须使用 is_xxx 的方式命名 1.2 数据类型 (1)小数类型为decimal (2)货币数据使用最小货币单位,数据类型为bigint (3)字符串长度几乎相等使用char (4)varchar长度不要超过5000 1.3 表必备三字段 id、create_time、update_time 2.索引规

2021-10-30 17:33:00 211

原创 T31训练营笔记(1)架构设计

1. 需求分析 1.1 定义 理解和挖掘用户的诉求、以及背后的逻辑,转化成可行性的分析结果。从非结构化到结构化,确定系统的职责、模块的过程。 1.2 需求的三个注意点 边界、用户故事、用户路径 分析需求背后的人性:人性是提出需求的本源 1.3 伪需求、权力需求的应对 1.3.1 伪需求应对 (1)用数据化结果否定需求合理性 (2)用正反案例来说明需求需要改进的地方 (3)用户路径和触点推演需求合理性 1.3.2 权力需求应对 (1)先肯定需求价值再提出需求实现的成本 (2)给出更好的需求

2021-10-28 08:42:04 250

原创 第一篇优快云文章

第一篇优快云文章。

2021-10-28 06:33:09 76

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除