自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

转载 数字化转型的50本书

工业4.0”的必有之路是打造数字化企业,本书除了更新《工业4.0实战:装备制造业数字化之道》中的先进内容,作者还增加了MBE技术的最新进展,包括基于模型的电子电气解决方案、基于模型的产品型谱化和模块化管理方案、基于模型的软件全生命周期管理方案、基于模型的产品成本管理方案、基于模型的工艺与虚拟验证解决方案以及基于模型的闭环制造解决方案,同时增加了一系列典型案例,为中国大型装备制造业数字化的领导和技术专家提供有价值的、可落地实施的参考思路、方法和工具。34个锦囊,帮助企业跨越转型,同时提供了相关的技术概念。

2023-07-25 17:18:37 272

原创 DevOps利器之二(Git,Gitlab)

Git,Gitlab在DevOps中主要解决持续集成源码管控部分,本文主要从基本概念,实施部署两部分介绍。

2023-01-18 16:59:09 1659

原创 DevOps利器之一Docker

本篇文章主要阐述Docker在DevOps中的应用与价值,Docker部署与安装;因为搭建DevOps流程中所应用的工具及框架都部署到Docker,所以首先介绍Docker为后续做准备。

2023-01-17 11:28:57 734

原创 DevOps 实战概述

中小公司团队实施DevOps有两种途径,第一种购买大厂的产品,大厂教你如何使用,这样简单高效,但是费用比较高花个几百万也很正常,这几百万给团队发福利难道不香吗,还有就是喜欢专业技术的开发,你只是会用并不懂背后逻辑,跳槽到个不用该产品的公司怎么办呢;第二种就是自研,其实也是DevOps一种整合,弊端就是耗时耗力,好吃就是省钱、提升自我价值。总结这部分内容就是为了自己想搭建DevOps生态的同行给一种思路或是一个参考,之所以说是一种思路是因为实施DevOps有多种方案,结合自己项目实际情况最终目的是将两个团队整

2023-01-15 11:08:00 366

原创 spring cloud gateWay 集成 knife4j实现swagger文档聚合

微服务项目集成swagger文档

2022-10-03 17:35:51 2313

原创 RocketMQ架构体系

RocketMQ架构体系

2021-12-28 22:47:25 151

原创 RocketMQ概述

RocketMQ概述

2021-12-27 22:32:14 200

原创 RocketMQ 环境部署 (单机)

RocketMQ 单机环境部署

2021-12-27 22:06:12 1311

原创 Apache Log4j 漏洞 CVE-2021-45046

Apache Log4j 漏洞 CVE-2021-45046

2021-12-15 22:46:23 1092

原创 工作流基本概念

工作流基本概念

2021-12-13 22:59:12 411

原创 MYSQL 卸载

一、删除注册表信息快捷键win+r输入regedit进入注册表1HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹删除2HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹删除。3HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\E

2021-12-09 20:20:21 179

转载 DevOps

作者:UCloud云计算链接:https://www.zhihu.com/question/58702398/answer/1691681949来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。提到DevOps这个词,我相信很多人一定不会陌生。作为一个热门的概念,DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。那么,DevOps是什么呢?有人说它是一种方法,也有人说它是一种工具,还有人说它是一种.

2021-06-14 09:12:31 180

原创 设计模式之十六责任链模式

前言: 责任链模式亦称:职责链模式、命令链、CoR、Chain of Command、Chain of Responsibility,是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。 目录一、结构二、代码实现(敏感词汇过滤)三、责任链模式在开源框架中的应用3.1、Java Servlet中的应用3.2、Spring Inte...

2021-05-04 17:02:26 453

原创 设计模式之十五策略模式

前言: 策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。最常见的应用场景是,利用它来避免冗长的 if-else 或 switch 分支判断。不过,它的作用还不止如此。它也可以像模板模式那样,提供框架的扩展点等等。 在 GoF 的《设计模式》定义:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端。 目录一、结构...

2021-04-25 17:19:06 123

原创 设计模式之十四模板方法模式

前言: 模板方法模式是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。模板模式主要是用来解决复用和扩展两个问题。模板方法模式建议将算法分解为一系列步骤,然后将这些步骤改写为方法,最后在“模板方法”中依次调用这些方法。步骤可以是抽象的,也可以有一些默认的实现。为了能够使用算法,客户端需要自行提供子类并实现所有的抽象步骤。如有必要还需重写一些步骤(但这一步中不包括模板方法自身)。 GoF...

2021-04-25 12:00:29 191

原创 设计模式之十三观察者模式

前言: 观察者模式亦称:事件订阅者、监听者、Event-Subscriber、Listener、Observer,是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。根据应用场景的不同,观察者模式会对应不同的代码实现方式:有同步阻塞的实现方式,也有异步非阻塞的实现方式;有进程内的实现方式,也有跨进程的实现方式。目的是将观察者和被观察者代码解耦。 GoF 的《设计模式》定义:在对象之间定义一个一对多的依赖,当...

2021-04-24 09:56:04 167

原创 结构型模式总结

前言: 结构型模式介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。共有7种模式,其中常用的结构型模式有:代理模式、装饰者模式、桥接模式、适配器模式,不常用的有:门面模式、组合模式、享元模式。 一、适配器模式 将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同 工作。其别名为包装器(Wrapper),主要分为二类:类适配器模式、对象适配器模式...

2021-04-23 09:47:41 388

原创 设计模式之十二享元模式(结构型)

前言: 享元模式亦称:缓存、Cache、Flyweight,是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象。具体来讲,当一个系统中存在大量重复对象的时候,如果这些重复的对象是不可变对象,我们就可以利用享元模式将对象设计成享元,在内存中只保留一份实例,供多处代码引用。这样可以减少内存中对象的数量,起到节省内存的目的。实际...

2021-04-22 17:40:51 143

原创 设计模式之十一组合模式(结构型)

前言: 组合模式亦称:对象树、Object Tree、Composite,是一种结构型设计模式,你可以使用它将对象组合成树状结构,并且能像使用独立对象一样使用它们。组合模式解决这样的问题,当我们的要处理的对象可以生成一颗树形结构,而 我们要对树上的节点和叶子进行操作时,它能够提供一致的方式,而不用考虑 它是节点还是叶子。 --GoF 的《设计模式》定义:将一组对象组织(Compose)成树形结构,以表示一种“部分 - 整体”的层次结构。组合让客户端可以...

2021-04-22 15:59:53 134

原创 设计模式之十外观模式(结构型)

前言: 外观模式(Facade Design Pattern)亦称:门面模式、Facade,是一种结构型设计模式,能为程序库、框架或其他复杂类提供一个简单的接口。外观类为包含许多活动部件的复杂子系统提供一个简单的接口。与直接调用子系统相比,外观提供的功能可能比较有限,但它却包含了客户端真正关心的功能。如果你的程序需要与包含几十种功能的复杂库整合,但只需使用其中非常少的功能,那么使用外观模式会非常方便, -- GoF 的《设计模式》定义: 提...

2021-04-22 11:06:53 141

原创 设计模式之九代理模式(结构型)

前言: 代理模式是一种结构型设计模式,让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问,并允许在将请求提交给对象前后进行一些处理。就是客户类不再直接和委托类打交道,而是通过一个中间层来访问,而这个中间层就是代理。比如当我们想给某个类中的方法加一些额外的操作处理,就可以给这个类创建一个代理类,这个类不仅包含了原来类的方法功能,而且还在原来的基础上增加了额外的处理功能。 为什么要这样做呢?可以隐藏委托类的实现。 可以实现客户端和委托类之...

2021-04-21 16:17:43 139

原创 设计模式之八装饰者模式(结构型)

前言: 装饰模式是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。为了满足这个应用场景,在设计的时候,装饰器类需要跟原始类继承相同的抽象类或者接口。 目录一、组织机构二、代码实现三、装饰...

2021-04-20 15:15:33 210 2

原创 设计模式之七桥接模式(结构型)

前言: 桥接模式也叫作桥梁模式,英文是 Bridge Design Pattern。是一种结构型设计模式,可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,从而能在开发时分别使用。在 GoF 的《设计模式》一书中,桥接模式是这么定义的:“Decouple an abstraction from its implementation so that the two can vary independently。”翻译成中文就是:“将抽象和实现解耦,让它们...

2021-04-19 15:41:38 309

原创 设计模式之六适配器模式(结构型)

前言: 适配器模式(Adapter Design Pattern)是一种结构型设计模式,它能使接口不兼容的对象能够相互合作。将某个类的接口转换成客户端期望的另一个接口表 示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同 工作。其别名为包装器(Wrapper),主要分为二类:类适配器模式、对象适配器模式,其中,类适配器使用继承关系来实现,对象适配器使用组合关系来实现。 目录一、结构1.1、对象适配器(组合)1.2、类适...

2021-04-16 16:04:51 263

原创 创建型模式总结

前言: 创建型设计模式包括:单例模式、抽象工厂模式、原型模式、建造者模式、工厂方法模式。它主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码和使用代码,能够提升已有代码的灵活性和可复用性。 目录 一、单例模式(常用) 二、工厂模式 2.1、简单工厂(常用) 2.2、工厂方法(常用) 2.3、抽象工厂(不常用) 三、建造者模式(常用) 四、原型模式(不常用) 一、...

2021-04-15 18:13:40 338

原创 设计模式之五生成器模式(创建型)

前言: 生成器模式,亦称设计者模式是一种创建型设计模式,使你能够分步骤创建复杂对象。该模式允许你使用相同的创建代码生成不同类型和形式的对象。 假设有这样一个复杂对象,在对其进行构造时需要对诸多成员变量和嵌套对象进行繁复的初始化工作。这些初始化代码通常深藏于一个包含众多参数且让人基本看不懂的构造函数中;甚至还有更糟糕的情况,那就是这些代码散落在客户端代码的多个位置。 生成器模式建议将对象构造代码从产品类中抽取出来,并将其放在一个...

2021-04-15 14:17:41 196

原创 设计模式之四原型(创建型)

前言: 原型是一种创建型设计模式,能够复制对象,甚至是复杂对象,而又无需使代码依赖它们所属的类。所有的原型类都必须有一个通用的接口,使得即使在对象所属的具体类未知的情况下也能复制对象。原型对象可以生成自身的完整副本,因为相同类的对象可以相互访问对方的私有成员变量。 目录一、结构二、代码实现2.1、克隆羊-浅拷贝2.2、克隆羊-深拷贝-重写克隆方法2.3、克隆学生-深拷贝-序列化(推荐)三、原型模式在Spring框架中源...

2021-04-06 16:56:45 184

原创 设计模式之三抽象工厂(创建型)

前言: 抽象工厂模式是一种创建型设计模式,它能创建一系列相关的对象,而无需指定其具体类。 一、结构

2021-04-06 10:54:19 80

原创 设计模式之二工厂方法模式(创建型)

前言: 工厂方法是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。工厂方法模式建议使用特殊的工厂方法代替对于对象构造函数的直接调用(即使用new运算符)。对象仍将通过new运算符创建,只是该运算符改在工厂方法中调用罢了。工厂方法返回的对象通常被称作“产品”。一、结构1.产品(Product)将会对接口进行声明。对于所有由创建者及其子类构建的对象,这些接口都是通用的。2.具体产品(Concrete Products)是产品接...

2021-04-05 21:12:25 215 1

原创 设计模式之一单例模式(创建型)

前言: Singleton是一种创建型的设计模式,可让您确保一个类只有一个实例,同时提供对该实例的全局访问点。目录一、单例模式的五种方式1.1、饿汉式(静态常量、静态代码块)1.2、懒汉式(线程不安全、线程安全)1.3、双重检查1.4、静态内部类1.5、枚举二、单例模式在JDK中的应用三、单例模式使用的场景四、单例模式的优缺点五、与其他模式的关系一、单例模式的五种方式饿汉式(静态常量、静态代码块) 懒汉式...

2021-04-03 22:02:30 97 1

原创 设计模式概述

前言: 当下会Java的人越来越多,但是一直徘徊在语言层次的程序员不在少数,真正掌握Java中接口或抽象类的应用不是很多,大家经常以那些技术只适合大型项目为由,避开或忽略它们,实际中,Java的接口或抽象类是真正体现Java思想的核心所在,这些你都将设计模式里领略到它们变幻无穷的魔力。看过很多简历上写着深刻理解面向对象,但是连基本的设计模式都描述不出来,或是说出来的也只是听说过,怎么应用大多数是说不上来的。如果说是初学者真没必要学,内力不足,没办法领略其中奥妙,如果是入行都...

2021-03-25 16:22:39 124

转载 Maven 仓库、镜像

Maven 仓库、镜像 在maven世界中任何一个依赖、插件或者项目构建的输出都可以称为构件,任何一个构件都有一个坐标作为唯一的标识。这个坐标就是:group、artifactId、version;根据这个坐标就可以定义其在仓库的唯一存储路径,那么就可以在项目中引用。<groupId>junit</groupId><artifactId>junit</artifactId><version&gt...

2021-03-11 14:10:12 1082

原创 MapStruct

前言: 在日常开发中,我们经常需要给对象进行赋值,通常会调用其set/get方法,但是有追求的开发很反感写这种代码,没什么技术含量,耗时,易错,代码丑陋;当然有些人用GenerateAllSetter一键生成,但是只是解决了开发效率与易错的问题;于是追求完毕的开发者通过反射写一些公共方法(mapToBean,beanToMap,beanToBean......)或是用开源的框架如Apache BeanUtils,这样开发效率提升与避免了错误同事代码也比较美观简洁,但是数据量较...

2021-03-06 16:46:54 1305 1

原创 IDEA 插件神器

1、JRebel for IntelliJ热部署插件,Java WEB 开发必备,节省生命。2、Lombok Plugin使用注解自动生成代码,码奴解放者。3、Translation翻译插件,很好用。使用方法很简单!选中你要翻译的单词或者句子,使用快捷键command+ctrl+u(mac)/shift+ctrl+y(win/linux)(如果你忘记了快捷的话,鼠标右键操作即可!)4、Grep Console高亮log不同级别日志,看日志的时候一目了然。参考:http...

2021-03-05 12:03:38 517 1

原创 Java Faker 测试数据神器

前言: 在日常的测试中,我们经常需要提前准备一大堆测试数据,用来验证业务逻辑。当然对于简单的数据类型完全可以通过 JDK 自带的Random类来或是用jmockdata。但是对于一个比较复杂的类,或者参数的格式有特殊要求的时候,Random或是jmockdata就不适用了,这个时候就可以借助java-faker生成测试数据。 源码地址:https://github.com/DiUS/java-faker/blob/master/README.md ...

2021-03-04 18:00:39 5162 2

原创 jacoco生成测试报告

一、Gradle配置信息apply plugin: "jacoco"jacoco { toolVersion = "0.8.4" reportsDir = file("$buildDir/customJacocoReportDir")}jacocoTestReport { reports { html.enabled true csv.enabled false xml.enabled true xml.de

2021-03-04 17:27:24 2553 3

原创 mock在单元测试中的应用

前言: 什么是mock 在面向对象的程序设计中,模拟对象(mock object)是以可控的方式模拟真实对象行为的假对象。在编程过程中,通常通过模拟一些输入数据,来验证程序是否达到预期结果。 为什么使用Mock对象 1、在某些非常复杂的业务逻辑,会准备大量的数据。 2、有的时候会依赖数据库,中间件、文件系统等外部环境,这个时候我们不能控制这些外部依赖的对象。 试想一下,如果我们依赖真实的数据库环境,那么每次的单元测试结果可能都是不一样的为了解决上...

2021-03-04 17:25:09 1299 3

原创 SpringBootTest单元测试应用

前言: 为什么需要使用单元测试??? 保证历史版本代码的正确性,减少重复测试:开发人员实现某个功能或者修补了某个bug,如果有相应的单元测试支持的话,开发人员可以马上通过运行单元测试来验证之前完成的代码是否正确; 提升测试效率:对于依赖多,业务流程复杂,可以通过mock去掉依赖,保证自己编写函数的正确性; 便于后期重构:保单元测试可以为代码的重构提供保障,只要重构代码之后单元测试全部运行通过,那么在很大程度上表示这次重构没有引入新的BUG,当然这是建立在完整、有效的...

2021-03-04 16:56:14 6646 2

原创 MySQL数据类型

前言: 每个数据库的数据类型从来都不是一个简单的数据结构,特别是使用不同的数据库,不同的引擎,其支持的数据类型也不一样,选择那种数据类型作为字段类型对数据库的性能也是天差地别,故对数据类型有个全面的认知,在数据库表设计的时候选择合适的数据类型就尤其重要。MySQL主要包括以下六大类:整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT 浮点数类型:FLOAT、DOUBLE、DECIMAL 字符串类型:...

2021-02-22 18:44:00 124

原创 MySQL架构

前言: 相比于其他关系型数据库,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 架构图:四层结构 一、连接层 最上层是一些客户端和连接服务。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端...

2021-02-22 15:07:08 155 1

项目管理十大模板.rar

项目管理

2021-01-28

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

TA关注的人

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