自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 工作心得-2023.12.27

才慢慢的理解真正的提升可能和需求的内容无关,就算是个再简单的需求,如何写出个完美的设计方案,考虑到需求的影响点,风险点,对于prd内容是否满足要求有自己的理解,同时对于开发完后的测试内容也需补充到设计文档中给测试同学参考,能够保证这一系列操作后不出什么大问题,那也是真正的在成长了。对于我接手的需求,我都觉得很水,感觉谁都有能做的样子,越发觉得没有意思,但是对于别人的需求我就觉得很高大上。生活和工作中,不要养成眼高手低的坏习惯,从小事做起,注意每一个细节,查漏补缺也是一种成长。

2023-12-27 11:14:05 377 1

原创 DDD(领域驱动设计)架构分层

DDD(领域驱动设计)架构分层层次说明common层:主要存放一些全局通用的工具类,常量等信息,被其他有业务操作的模块所依赖facade层(接口层):主要存放RPC接口的定义,对于一些rpc接口只需要返回其他服务对象信息即可,无需再自己定义对象了,因此引入了其他服务的包 。application应用层:负责业务的流程编排,调用领域服务。依赖了domain层和domain领域层:包含领域服务的所有功能,领域层不可以直接依赖其他服务,尽可能的减少对外部的依赖,这里只依赖common层。adapte

2023-12-27 10:32:48 668 1

原创 设计模式之项目实践

项目中设计模式的实践1:策略模式实践1:前端发起一次保单的操作,根据操作类型等其他参数,进行路由地址匹配,通过反射解析出所有的操作类上的注解,根据注解值去匹配当前操作具体执行哪个类。实践2:对于保单模型的动态规则校验,当前端传入一个保单模型时,我们需要校验保单的所有属性的规则是否符合预期,如保单的结束日期是否在起始日期之后。如果采用普通的校验,新增规则或者变更规则的时候,就需要去修改具体的校验类。项目中主要采用了配置服务来存储保单元素的校验规则。如首先获取需要校验的参数在保单的具体位置,如polic

2023-12-26 17:17:59 36 1

原创 DDD(领域驱动设计)领域层设计规范

DDD(领域驱动设计)领域层设计规范1:传统OOP设计的缺陷在哪里?2:Entity-Component-System(ECS)架构分析3:基于DDD的解法

2023-12-26 15:28:14 38 1

原创 JAVA设计模式前篇-6大设计原则

一个类只负责一个功能领域的相应职责,即一个类的变更原因只会有一个。以上是一个普通的业务类,主要功能包含数据库查询更新,参数校验,调用外部服务雅虎的汇率转换功能以及发送审计消息等,那么就单一职责原则来看,当前类变化的原因有哪些?

2023-12-20 16:44:44 37 1

原创 DDD(领域驱动设计)初探 - Domain Primitive

核心思想:是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。是一种处理高度复杂领域的设计思想,它试图分离技术实现的复杂性,并围绕业务概念构建领域模型来控制业务的复杂性,以解决软件难以理解,难以演进的问题战略设计:主要从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。

2023-12-18 17:31:22 58 1

原创 使用TestNG框架搭建自动化测试框架

使用TestNG框架搭建一键执行自动化用例的demo

2023-08-25 17:35:36 224 1

原创 MySQL:一条SQL更新语句是如何执行的?

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?我们将以以下sql为例了解这个过程。前面我有跟你介绍过 SQL 语句基本的执行链路,这里我再把那张图拿过来,你也可以先简单看看这个图回顾下。首先,可以确定的说,查询语句的那一套流程,更新语句也是同样会走一遍。你执行语句前要先连接数据库,这是连接器的工作。

2023-05-06 09:44:16 129

原创 MySQL:一条SQL查询语句是如何执行的?

通常我们在使用MySQL时,我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。所以今天我想和你一起把 MySQL 拆解一下,看看里面都有哪些“零件”,希望借由这个拆解过程,让你对 MySQL 有更深入的理解。这样当我们碰到 MySQL 的一些异常或者问题时,就能够直戳本质,更为快速地定位并解决问题。

2023-05-04 14:41:08 212

原创 RocketMQ初探-4 消息存储

RocketMQ会创建一个%RETRY% + consumerGroup名称的TOPIC,根据设定的重试次数进行重试,默认16次。异步刷盘:Broker在接收到Producer发送的消息后,写入内存,直接响应Producer,再另起一个线程将内存中的数据写入磁盘。同步刷盘:Broker在接收到Producer发送的消息后,写入内存,再由内存写入磁盘成功后,再响应给Producer。通过订阅的方式做到的,先根据集群的整个状况,把这些MessageQueue绑定到不同的Consumer上。

2023-04-12 10:10:22 106

原创 RocketMQ初探-3 基础概念

RocketMQ主要由Producer,Broker,Consumer三部分组成,其中Producer负责生产消息,Consumer负责消费消息,Broker负责存储消息。名称服务充当路由消息的提供者,Broker Service会在启动时向所有的Name Service注册自己的服务信息,并且后续通过心跳请求的方式保证这服务信息的实时性。消息中转角色,负责存储消息,转发消息。表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。

2023-04-06 10:32:42 71

原创 RocketMQ初探-2不同消息种类的使用

背景:对于不同生产者以先后顺序发送的消息,到达broker消费的时候可能不会按照发送的顺序执行,比如第一个消息执行逻辑是num+1,第二个消息是num * 3,那么消息的顺序会影响最终的一个计算结果。背景:相比于集群模式,一个消息往集群消费者发送,会保证每个消息在一个消费者组里只会被消费一次。保证生产者将关联消息发送到同一条消息队列,同时保证消费者从同一条消息队列读取到关联消息。所以顺序消息是保证局部消息有序,而不是保证全局消息有序。生产者还是根据指定的tag发送消息。通过sql过滤 给消息设置指定属性。

2023-04-04 17:50:13 323 1

原创 RocketMQ初探-1

mq初探

2023-02-27 15:12:29 62

原创 JAVA动态代理详解

JAVA动态代理详解问题1:什么是静态代理,动态代理?2:动态代理的好处?什么是静态代理代理以生活中例子来看,比如我作为某某品牌面膜的北京区代理,我替厂家卖面膜,我属于代理,厂家属于委托方。联系到JAVA中就是,我作为一个代理类,我替委托类去调用方法,同时可以添加一些附加的功能。如果一个代理类在程序运行之前就已经存在了,那么这种代理方式被称为静态代理。父接口:public interface Person { /** * 吃饭 */ void eat(

2022-02-09 16:58:23 2784

原创 java开发中常用的Git命令详解

java开发中常用的Git命令详解(IDEA内如何操作)一:写这篇文章的目的是什么?二:使用场景在哪里?1:当我们要使用idea去git仓库拉代码时,首先我们的idea得配置git工具2:项目有了,我们该如何创建自己的分支呢3:代码的基本提交流程,生成远程分支4:本地分支合并master的流程5:图解将远程master分支合并到本地三:常用的命令区别与个人理解pull与fetch区别checkout和reset区别组长喊我写代码了。。。。。之后的再慢慢补充有问题的地方还望大家提出来,本人小菜鸡一:写这篇文

2020-12-10 16:58:46 1129

空空如也

空空如也

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

TA关注的人

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