自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

飞奔的小土豆@1024

浮海泛起爱恨,加油吧打工人

  • 博客(322)
  • 资源 (8)
  • 收藏
  • 关注

原创 2023年终总结

1:完成架构升级上线、会师与切流:生产流星切换100%,设计并主导白营、三方: MO监听 线下工作台、工作流批处理的流量切换,个团模型融合、回写mysq.z2:降本提效:下线proces员务做节省费用1年10W+;主的牵失业务反爆严重问题摸排关据肉位节点确认时效是升80%,重构渠道接入方式实现配置化平海接入,缩短开发工期.3:系统优化:优化朝蚁集道按口到1.55左右,支持积优开发,优化流程融的疑连点4.业务价值:支果前路H5娱构置构,在联单模型交互设计中整理12个前置沃保,31个退早减人交互场展,支探

2024-01-07 23:55:25 613

原创 GPT3年终总结

技术深度与架构设计: 强调在过去一年中深入参与的技术挑战,包括设计和实施复杂系统的能力,技术决策的成功实践,以及对新技术趋势的敏锐感知。通过更具体和详细的表述,中级架构师的年度总结可以更全面地展示其在技术和领导力方面的成就,并为未来的职业发展提供更有针对性的方向。技术愿景和趋势: 强调对技术领域趋势的洞察力,以及如何将这些趋势整合到组织的技术愿景中,确保技术架构的未来可持续性。风险管理和决策: 讨论中级架构师在技术决策中的角色,包括如何识别和管理技术风险,并做出符合组织利益的决策。

2023-12-04 13:04:14 801

原创 一个失败架构升级案例

失败的架构升级案例

2023-10-20 20:27:16 838

原创 ​一份关于DDD的FAQ #​

答:不变条件表示在聚合根中,那些具有业务互动性的业务逻辑,不变条件必须在同一个聚合根的公有方法中得到满足,否则容易导致业务逻辑的泄漏。答:应用服务和领域服务是很不一样的概念,应用服务是领域模型的门面,所有外部请求都由应用服务的调度编排后进入领域模型中,而领域服务是属于领域模型的一部分。答:架构师和程序员,请注意,这里的架构师是那些工作在前线,至少会参与软件模型设计的架构师,最好是依然参与代码编写工作。答:包含应用服务,聚合根,领域服务,实体,值对象,工厂,领域事件,资源库等。

2023-09-24 16:28:00 199

原创 DDD项目中使用Lombok的正确姿势

在本文中,我们对DDD中的各种对象使用Lombok进行了针对性的管控,从而减少了产生Bug的风险。当然,这些管控手段不见得适合于所有的项目,但是与这些实践手法本身相比,我们更希望传达的一个思想是:使用Lombok可以,但是要慎重。你得知道一个简单的Lombok注解可能给程序带来的风险,进而通过自己的手段进行规避,并形成一定的原则和套路,以让团队的所有成员通过一致的方式使用Lombok。

2023-09-24 16:27:27 144

原创 整洁架构能有多整洁?

整洁架构是一种非常值得采纳的编程思想,对于系统的解耦和维护有实实在在的指导价值,不过我们也没有必要教条式地追求100%的整洁架构,而是在这种思想的引导下,选择适合于自己的整洁架构方案。

2023-09-24 16:26:37 153

原创 11后端开发就是CRUD?没那么简单!

在文本中我们看到,哪怕是一个诸如“用户修改手机号”这样简单的需求,在整个实现过程中需要考虑的点也达到了将近30个,真实情况只会多不会少,比如我们可能还需要考虑性能、缓存和认证等众多非功能性需求等。因此,后端开发绝非CRUD这么简单,而是需要将诸多因素考虑在内的一个系统性工程,还是那句话,有讲究的编程并不是一件易事。

2023-09-24 16:25:39 390

原创 10CQRS

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:24:48 104

原创 9领域事件

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:24:15 109

原创 8应用服务与领域服务

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:23:39 168

原创 7实体与值对象 #

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:22:59 88

原创 6聚合根与资源库 #

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:22:19 150

原创 5请求处理流程

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:21:09 128

原创 4代码工程结构

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:20:26 99

原创 3战略设计

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:19:43 58

原创 ​2:DDD概念大白话

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:18:03 109

原创 1:DDD入门

既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术,为此让我们先从业务上了解一下贯穿本文章系列的案例项目 ——码如云(不是马云,也不是码云)。如你已经在本系列的其他文章中了解过该案例,可跳过。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,并以该二维码为入口展开对“物品”的相关操作,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在使用码如云时,首先需要创建一个应用(App),一个应用包含了多个页面(Page),也可称为表单,一个页面又可以包含多个控件。

2023-09-24 16:16:27 64

原创 ddd扬帆

读取了一篇“”较为清晰了解了:领域驱动设计,整洁架构和事件驱动架构的架构思想落地实践,特做记录读后感,可以直接跳到正文阅读原文。

2023-09-24 16:13:48 53

转载 实战总结|复杂系统设计原则与案例

本文主要讲述了应对复杂性的一些原则和经验,通过实际案例解构设计思想,个人认为好的设计是体现在「职责分离」、「抽象分层」和「变化扩展」上,在类的结构设计上尤其要花心思去想,如「变与不变分离」、「配置域与执行域分离」、「查询与命令分离」。

2023-07-18 08:56:12 45

转载 ddd与微服务思考

在从业务模型向微服务落地的过程中,即从战略设计向战术设计的实施过程中,我们会将领域模型中的领域对象与代码模型中的代码对象建立映射关系,将业务架构和系统架构进行绑定。因此,通过领域驱动设计的战略设计和战术设计,我们可以清晰地划定领域边界,建立领域模型,帮助我们实现微服务的设计和拆分,同时也能够有效地响应业务变化,提高软件开发和落地的效率。在 DDD 中,我们关注的是业务领域的划分和领域模型的设计,以便更好地理解业务需求,并将其转化为可执行的代码。我们可以用三步来划定领域模型和微服务的边界。

2023-07-12 09:10:31 67

原创 架构师路思考1

https://mp.weixin.qq.com/s/AkNuuHjguqm9aT4U4IXDFA

2023-06-26 09:01:45 74

原创 技术与抽象能力模型

问题域的理解,领域模型的抽象认识到本质,才能让你的程序具备更大的灵活性和扩展性。在软件开发中,抽象能力体现为对问题域的理解能力,对的抽象。合理的抽象也是代码重构的前提,每一次重构,都是向更好的抽象迈进了一步。这是一个优秀高级程序员所应该具备的能力。抽象思维抽象思维就是在不同中找相同,在变化中找不变。把这些相同的和不变的东西理解为共性。而共性的东西是能够共用的。提高抽象思维的能力就是提高抽取不同事物的共性的能力,不同的事物不仅仅是包括现实中具体的事物。

2023-06-23 18:06:22 292

原创 性能优化模式

性能优化模式是一个模型对模型的方式,我们把性能问题想象(抽象)成模型,再把解决它的办法也抽象成模型,这样一来就成了恶化模型对应优化模型,而这种组合拳就是性能优化模式,也可以说是解决方案。性能优化模式(https://tech.meituan.com/2015/12/10/performance-tuning-pattern.html)Linux。《图解性能优化》--- 小田圭二 榑松谷仁 平山毅 冈田宪昌(https://book.douban.com/subject/26941642//)

2023-05-06 11:47:10 116 1

原创 人生发展,遵循复利原则

复利效应的公式来:(1+r)的n次方;r代表你正在做的事,n代表时间

2023-05-03 12:23:50 898

原创 chat-gpt问xxx原理一

Q:spring springmvc springboot关系本质,springboot怎么实现自动装配原理是什么。Q:面试需要背netty哪些知识。

2023-04-11 00:11:20 378

原创 读《企业IT架构转型之道》

典型的雪崩效应:达到访问峰值时,每个ESB的负载水位会达到80%,这时如果某个ESB实例出现异常,其余服务器的负载水位就会上涨,高水位运行的服务器出现问题的概率大增,陆续有一些服务器不堪重负,之后,剩余的服务器可能不是一台一台地出问题,而是瞬间被访问洪流冲垮,全军覆没。核心是能过秒级获取服务器系统运行指标以及业务指标,通过流量调度平台设置的决策算法以及规则,当发现满足规则条件的指标状态发生时,对线上环境的服务器进行下线等操作,以屏蔽这些单点或局部出现故障的应用实例对整体平台产生扩展式的影响。

2023-03-07 00:07:15 371

原创 面向对象的设计模式有七大基本原则

第⼆个阶段是 中间件和框架要点整理 :主要是项到的框架和中间件,⽐如Dubbo、Netty、第⼀阶段是 基础知识 :扎实的基础知识才能获得⾯试官的⻘睐,因为我是后台开发,主要复习的内。第三个阶段是 项⽬整理 :项⽬是⾯试中⽐重最⼤的部分,所以⼀定要花时间去整理和理解透彻每⼀。个模块,并花时间去做总结,项⽬开始时间和截⽌时间、开发团队⼈数、⾃⼰承担的⻆⾊、业绩产。容是计算机⽹络、操作系统、数据结构、基础算法、java基础、jvm。MySQL、kafka、zookeeper、redis等等。

2023-02-17 00:22:40 261

原创 并行编程-disruptor与Future(CompletableFuture 和 guava)场景比较

Disruptor 是 LMAX 公司开发的高性能队列,用于解决内存队列的延迟问题。LMAX 基于 Disruptor 打造的系统单线程能支撑每秒 600 万订单,许多著名的开源项目也使用 Disruptor 获取高性能,比如 log4j2 使用 Disruptor 加速异步日志输出,canal 使用 Disruptor 处理数据库 binlog 的解析分发。内存队列性能LMAX 在性能测试中发现,内存队列中数据的延迟竟然和 I/O 操作处于同样的数量级,其中最大的性能损耗在于缓存行

2022-12-08 09:16:56 1197

转载 代码块线程安全

实现线程安全无外乎围绕线程私有资源和线程共享资源来进行,你需要识别出哪些是线程私有,哪些是共享的,然后对症下药就可以了。

2022-10-23 23:22:07 210

原创 java.lang.IllegalArgumentException: Last encoded character (before the paddings if any)

目录base64解码:开发报错误分析原因解决方案延申:Google guava和Apache commonsGuava记录: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value. Expected the discarded bits to be zero

2022-07-10 12:07:14 5785

转载 OSI图解

OSI7层模型物理层传输层会话层表示层应用层7层模型的小结TCP/IP四层模型第一层:网络接口层  第二层:网间层  第三层:传输层  第四层:应用层TCP/IP分层模型小结去年看到一张图关于OSI详图,找回来记录下 以下内容来自https://blog.csdn.net/yaopeng_2005/article/details/7064869OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通...

2022-04-23 22:35:20 538

转载 计算机网络概念索引

遇到相关概念时,能够大致理解其意思;以下文章来源于程序员cxuan,作者cxuan计算机网络基础概念 主机:计算机网络上任何一种能够连接网络的设备都被称为主机或者说是端系统,比如手机、平板电脑、电视、游戏机、汽车等,随着 5G 的到来,将会有越来越多的终端设备接入网络。 通信链路:通信链路是由物理链路(同轴电缆、双绞线、光纤灯)连接到一起组成的一种物理通路。 传输速率:单位是 bit/s ,用来度量不同链路从一个端系统到另一个端系统传输数据的速率。 分组:当...

2022-04-23 22:14:50 194

转载 记2kw数据迁移:一

引言oracle历史附件记录表有两千八万记录,存储文件信息记路径:需要迁移值类似ali oss文件存储服务上。2000W数据对于oracle来说无压力,由于架构调整需要读取文件路径,nas挂载访问本地,调用sdk进行文件上传,成功后写入oss新表,。所以我需要创建一张新表,把旧表中的数据一条一条取出来 upload oss 赋值后放回新表;自己方案设计还未实践,待完善以下参考:https://cloud.tencent.com/developer/article/1486169?from=154..

2022-01-20 00:35:46 207

原创 spring start之三:自定义注解配合@Component使用解析

elasticSearch官网教程蛮丰富,这边就结合实践常用的做个记录学习1:

2021-10-17 13:28:58 1398

转载 什么样的男生注定单身?究竟是性格,长相还是身高

作者:适可而止链接:https://www.zhihu.com/question/313121547/answer/2003348601来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。别把爱情看得太重,实际一切的底层逻辑都是X欲,与动物没有什么不同。要脱单很简单,先把自己整理得像个人吧!女人极度厌恶不爱干净的男人,要想投其所好就得勤快点。衣服一天一套,洗澡一天一个,头发留短点,多对自己花点银子打扮下,别舍不得。可以适当买点男士香水,女人闻到就会感觉.

2021-10-07 00:31:36 154

原创 spring start之二:封装start client提供sdk后置事件通知

背景:按之初workflow-engine的设计寻找下一个节点 在处理完成之后,会广播出此节点消息并附带透传参数,今天就以spring start方式以sdk提供第三业务方引用,并实现IEventHandle接口,完成业务参数的接收;spring-workflow-start-sdk 工作原理:1:新建workflow.protperies:声明mq消费信息,用于监听workflow-engine分发消息;2:实现IEventHandle接口,并加入@workflo...

2021-10-06 13:55:44 358

原创 CentOS8 failed to start docker.service: Unit docker.service not found,podman问题

目录1: CentOS 8 新机器首次安装 Docker 出现和 Podman 冲突的问题(已解决)2:部署Docker命令安装Docker存储驱动的依赖包。运行以下命令,添加稳定的Docker软件源。运行以下命令,查看已添加的Docker软件源。运行以下命令安装Docker。运行以下命令启动Docker。1: CentOS 8 新机器首次安装 Docker 出现和 Podman 冲突的问题(已解决)想想上一次搞环境还是一年前,这半年来一直crud,linux指令都.

2021-09-28 23:51:56 2096 2

转载 我,一个4年老程序员,最近才开始用 Java8 新特性

<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=447939805&auto=1&height=66"></iframe>

2021-08-29 21:59:47 275

原创 毕业四年后的程序员继续租房子

有在想换房子找着麻烦,索性问了下房东续租,说是要涨300,东源名都同款的确涨了些,不过300还是(四室一卫)没了太大续租念头,今天下午预设了要和三个中介看谈好意向房间,不过呢:去的第一个就还行了,是个次卧带阳台的,二房东是福建宁德整租两室陪读的,本提2.2k,我感觉超预算(一个单身还住次卧阳台就浪费),想着预算1.7k~1.9k节省下来的monkey攒着给女友买喜欢的色号(不知道现在的她依偎靠在哪个肩膀下呢),交流下来房东蛮真诚,说2k包水电网煤,还给合同日期延长到我这边房子到期日(7天后)再搬...

2021-08-29 18:35:58 159

原创 初识AsyncEventBus

背景:今天review代码,看到这个“AsyncEventBus”时,脑海里翻译了下“异步事件总线”,猜也就是往Bus总线那就是调用喽,自觉看到是import Google.Guava包的,这就不清晰了,好奇心驱动仔细多看了两眼发现是自己盲区的无疑了,那就找补一下吧概念:首先就google guava干啥用的,https://ifeve.com/google-guava/Google guava 和 Apache commons类似,都是对java语言和类库...

2021-08-25 00:40:05 628

mry-backend-main.zip

mry-backend-main.zip

2023-09-24

ExportOrderInfoUitl

ExecutorService并发写入easyexcel(3百万记录,十八字段,文件size: >100M)

2021-07-07

ScriptUtils.java

java表达式引擎fel/groovy/expression4j/java脚本引擎的性能对比

2021-07-07

libcrypto.so.10

EMQ X 依赖的 Erlang/OTP 中的 crypto 应用启动失败。

2021-06-12

JT1078DelimiterDecoder.java

为了苏标开发苏标主动安全附件服务器 由于存在基于808信令 和码流 ;因此单独信令808采用分隔符解码器,而码流附件服务这边采用手动校验 * 附件服务器 因即存在808信令又存在码流 所以 自定义解码器(补充码流协议消息体中7E不做转义) * ,基础 TCP 数据帧解码器, 只对基本结构进行解析, 具体需要转换为什么类型,交由子类进行处理

2020-08-02

ZipUtils.java

ZipOutputStream,Zip

2020-04-30

boostrap 城市选择器

boostrap 省市县城市选择器

2017-03-27

file上传预览

file上传预览

2017-01-11

split添加传action接收json

js传多个值,join(,)

2016-10-28

空空如也

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

TA关注的人

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