自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式 命令模式(Command Pattern)

每个命令对象都可以记录其执行前后的状态,这样在需要撤销操作时可以恢复到之前的状态。例如,当用户点击一个按钮或选择一个菜单项时,可以创建一个命令对象来表示这个请求,然后在适当的时候执行该命令。可以将多个简单的命令组合成一个复合命令,这样就可以一次执行一系列操作。命令模式(Command Pattern)是一种行为设计模式,它把请求封装成对象,从而让你可以用不同的请求、队列或者日志来参数化其他对象。这个示例展示了命令模式的基本应用,通过将请求封装成对象,使得发送请求的对象和执行请求的对象之间松耦合。

2024-09-25 09:25:14 1389 4

原创 设计模式 策略模式(Strategy Pattern)

策略模式(Strategy Pattern)是一种行为设计模式,它使你能在运行时改变对象的行为。该模式定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法独立于使用它的客户而变化。

2024-09-24 09:07:09 1257

原创 设计模式 享元模式(Flyweight Pattern)

享元模式(Flyweight Pattern)是一种结构型设计模式,它的目的是通过共享技术来有效地支持大量细粒度的对象。享元模式可以极大地减少内存的使用,从而提高程序的性能。它特别适用于需要创建大量相似对象的场景,通过共享不变的部分来减少对象的数量和内存消耗。具体享元模式实现FlyweightInterface接口, 查看内外部状态。通过 Map 存储之前对象,获取之前的对象无需重新创建。定义 flyweight 的接口。

2024-09-18 09:01:02 890 1

原创 设计模式 组合模式(Composite Pattern)

这种结构通常包含多个层次,每个层次上的对象可以是一个独立的实体(叶节点),也可以是一个包含其他对象的容器(组合节点)。组合模式提供了一种优雅的方式来组织和操作层次结构中的对象,使得客户端可以在不知道对象具体类型的情况下操作对象集合。当希望在不同类型的对象之间提供一致的接口时,组合模式可以确保所有的对象(无论是叶子还是组合节点)都遵循相同的接口定义。当客户端代码需要以一致的方式处理单个对象和组合对象时,组合模式可以让客户端无需关心处理的是单个对象还是组合对象。客户端可以一致地对待单个对象和组合对象。

2024-09-17 09:29:21 1398 1

原创 设计模式 桥接模式(Bridge Pattern)

这种模式的主要目的是解耦一个类的接口与其实现部分,从而可以更加灵活地给一个对象配置不同的功能实现。这提高了系统的可扩展性,因为你可以独立地增加新的实现类或抽象类。当调用Refined Abstraction的方法时,它将请求转发给它的Implementor对象。在创建时,将一个具体的Implementor实例传递给Refined Abstraction。Implementor执行具体的实现,并返回结果给Refined Abstraction。创建 支持的 接口 抽象实现 原有的 形状实现。

2024-09-13 08:40:24 901

原创 设计模式 装饰模式(Decorator Pattern)

目前手里两台手机,分别是小米跟魅族之前有两个功能可以运行跟停止软件,现在需要一个关机操作,但不想去修改那么多方法,通过装饰类去增强添加一个共有的方法,可以避免更多的改动。在实际开发中,装饰器模式可以应用于很多地方,比如在Web开发中,它可以用来动态地向HTTP响应添加额外的头部信息或者对内容进行编码/解码等。创建 meizu 实现 DecoratorComponent 实现类,并初始化两个接口, 这里用meizu。创建 DecoratorComponent 实现类信息,封装两个接口, 分别是执行跟停止。

2024-09-11 06:42:31 1175

原创 设计模式 解释器模式(Interpreter Pattern)

解释器模式(Interpreter Pattern)是一种软件设计模式,属于行为型模式之一。这种模式的主要目的是定义语言的语法表示,并且提供了一个解释器来处理这种表示。解释器模式可以用于解析语言或表达式等场合,特别是在编译器、解释器和自然语言处理中应用较多。解释器模式包含以下几个主要角色:Abstract Expression 创建接口方法Terminal Expression 对数据简单处理Terminal Expression 是解释器模式中的一种表达式类型,它表示文法中的最基本元素,这些元素不

2024-09-09 07:10:11 1643 1

原创 Spring boot 项目作为客户端调用 服务端websocket

LinkedBlockingQueue使用链表结构来存储元素,并且提供了阻塞操作,可以在队列为空或满时自动阻塞生产者或消费者线程,直到队列变为非空或非满。当从WebSocket服务器接收到消息时,这个方法会被调用。它首先打印接收到的消息,然后尝试将消息放入WebSocketConfig.queue队列中。当WebSocket连接发生错误时,这个方法会被调用。当WebSocket连接成功建立时,这个方法会被调用。它打印出连接的状态码。当WebSocket连接关闭时,这个方法会被调用。它打印出关闭连接的原因。

2024-09-07 06:45:25 1714 11

原创 windows pg 数据库 配置远程链接

修改 PostgreSQL\14\data 安装目录的和。

2024-09-04 06:07:24 328 1

原创 spring boot 项目 跟 JavaScript 简单 websocket 使用

前端 JavaScript 代码创建WebSocket连接:在DOM加载完成后,创建一个WebSocket连接。发送握手消息:在连接建立后,发送一个包含固定ID的握手消息。处理接收到的消息:设置消息接收处理函数,用于接收后端发送的数据。后端 Java 代码配置WebSocket处理器:配置WebSocket处理器,注册WebSocket路径。处理握手消息:接收前端发送的握手消息,并根据消息内容保存客户端ID与WebSocket会话的映射。发送消息:提供方法根据客户端ID发送消息。

2024-09-04 06:04:14 2466

原创 Vue3组件通信方式 v-model 通信

而在父组件中,v-model会将message与modelValue prop和update:modelValue event绑定在一起,当父组件更新message时,会通过modelValue prop将message传递给子组件,在子组件中输入内容时,会通过update:modelValue event将新的内容传递给父组件更新message。这样就实现了父子组件之间的数据同步。使用v-model时需要定义一个名为modelValue的prop和一个update:modelValue的event。

2024-09-03 11:01:46 856

原创 前端去除 html 的标签 v-html 改为方法

在这个例子中,htmlContent是含有HTML标签的字符串,stripTags方法会将其转换为纯文本。在模板中,使用{{ stripTags(htmlContent) }}来显示处理后的文本。在Vue中,如果你想要去除HTML字符串中的标签,可以使用JavaScript的DOM解析器。你可以在Vue组件的方法中添加这个stripTags方法,然后在模板中使用它来显示去除标签后的文本。

2024-09-03 11:00:06 711 1

原创 获取 包 的类名信息以及 使用类名信息反向实例化类

在处理 Java 类加载器和资源定位时,URL 对象的 getProtocol() 方法返回的协议(protocol)指定了资源的来源类型。常见的协议有两种:file 和 jar。所有类实现 DeviceInterface 接口本处不做简绍。获取项目运行时 的class 文件信息获取类名。

2024-09-02 21:03:22 742

原创 Spring boot swagger 引入 以及后续使用 Knife4j 替换swagger

Tag 注解可以用来对 API 进行分组,并且为每个分组提供一个描述性的标签。这对于在生成的 API 文档中组织和导航是非常有用的。@Operation 注解用于描述单个 API 操作的详细信息,如它的摘要、描述、请求体等。Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案。pom.xml 添加 对应的 swagger 信息。添加对应的 swagger 配置类信息,注入 配置。

2024-09-02 11:05:55 510

原创 ubuntu 更新网卡丢失

设备 处于 description: Ethernet interface。碰到同样问题按这位大佬的方式处理的。

2024-08-29 20:25:41 335 1

原创 设计模式 代理模式(Proxy Pattern)

在大多数情况下,您可以使用类的 getClassLoader() 方法来获取类加载器,但是基本类型和 Object 类没有类加载器,它们是由特殊的 Bootstrap ClassLoader 加载的。CGLIB 是一种强大的工具,可以用于创建动态代理,尤其是在不支持 JDK 动态代理的场景下(即目标类没有实现接口)。JDK 动态代理是一种强大的工具,它允许您在不修改现有类的情况下为现有类添加新的行为。JDK 动态代理是一种在运行时生成代理类的技术,它允许您为任何实现了接口的类创建代理对象。

2024-08-29 06:08:48 1472

原创 Java Socket tcp udp 使用

UDP (User Datagram Protocol) 是一种无连接的、不可靠的传输层协议,与 TCP (Transmission Control Protocol) 不同,它不提供数据包的排序、流量控制和确认机制。TCP (Transmission Control Protocol) 是一种面向连接的、可靠的传输层协议,它提供了数据包的排序、流量控制和错误检测机制。如果你的应用需要保证数据包的顺序或完整性,可能需要自己实现一些机制,例如序列号、重传机制等。对每个连接创建一个新的线程来处理客户端的请求。

2024-08-29 06:05:33 966

原创 firewalld防火墙端口开放

它是Red Hat公司推出的一款用于替代iptables的新型防火墙软件,是CentOS 7和Fedora 18及以上版本的默认防火墙。使用firewalld可以轻松地管理网络通信的安全性,包括端口的开放和关闭。–zone=public指定了这个规则所适用的区域(区域也可以被指定为其他的区域,例如"work","home"等),–add-port=8080/tcp指定了要开放的端口和协议,–permanent则是将这个规则添加到永久存储中,以便于开机后恢复。

2024-08-26 08:38:19 345

原创 @ConfigurationProperties Spring Boot配置文件取数据

EnableConfigurationProperties 是一个 Spring Boot 提供的注解,用于启用特定的 @ConfigurationProperties 类。这个注解通常用在 Spring 的配置类上,以显式地声明哪些 @ConfigurationProperties 类应该被 Spring 容器管理。使用 @Autowired 去进行注入, 如果是在配置类中使用 @EnableConfigurationProperties,则需要在配置类上添加该注解,并指定要启用的配置类。

2024-08-26 06:05:47 1410

原创 Spring cloud 网关信息

GatewayFilter:路由过滤器,作用于任意指定的路由;默认不生效,要配置到路由后生效。GlobalFilter:全局过滤器,作用范围是所有路由;声明后自动生效。

2024-08-25 14:13:07 742

原创 vue3 集成 Sass

配置scss 全局变量 @import “./src/styles/variable.scss”;冒号不能少不然会报错。在src 文件夹下 创建 styles 并创建 index.scss 引入到项目。清除全局样式 reset.scss。

2024-08-22 09:11:14 608

原创 Vue3通信方式 插槽

插槽就是子组件中的提供给父组件使用的一个占位符,用 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的标签,父组件填充的内容称为插槽内容。父级模板里的所有内容都是在父级作用域中编译的,子模板里的所有内容都是在子作用域中编译的,互不影响。//作用域插槽:就是可以传递数据的插槽,子组件可以讲数据回传给父组件,父组件可以决定这些回传的。//数据是以何种结构或者外观在子组件内部去展示!//插槽:默认插槽、具名插槽、作用域插槽。子组件不提供插槽时,父组件填充失效。

2024-08-22 09:10:14 455

原创 Vue3通信方式 provide与inject

父子组件传参可以通过props和emit来实现,但是当组件的层次结构比较深时,props和emit就没什么作用了。vue为了解决这个提出了Provide / Inject。

2024-08-20 12:33:05 621

原创 SVG 图标配置

安装 SVG 依赖插件使用vite-plugin-svg-icons插件。

2024-08-20 12:32:23 173

原创 设计模式 适配器模式

适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。我们通过 实现我们期望的接口 并 继承原有的 接口信息 并 重新 处理,现在支持新款 xiaomi6。适配器类 Adapter 实现了 Target 接口,并持有 Adaptee 类的一个实例。适配器类 Adapter 继承了 Adaptee 类,并实现了 Target 接口。适配器类通过继承适配者类和目标接口来实现。适配器类通过组合适配者对象来实现适配。

2024-08-19 08:57:27 759

原创 设计模式 单例模式

单例模式是指确保一个类在任何情况下都只有一个实例,并且提供一个访问该单例的全局访问点。

2024-08-19 08:54:03 484

原创 设计模式 原型模式

定义: 原型模式(Prototype Design Pattern)用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。

2024-08-18 07:41:12 554

原创 设计模式 建造者模式

建造者模式 (builder pattern), 也被称为生成器模式 , 是一种创建型设计模式.定义: 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。

2024-08-18 07:36:12 557

原创 设计模式 抽象工厂方法模式

工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。工厂方法使一个类的实例化延迟到其子类。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”(可以通过反射克服该缺点)。工厂方法模式核心组件工厂方法模式是在简单工厂模式上的改进,主要包含如下几个角色及组件。

2024-08-17 06:33:23 446

原创 设计模式 门面模式

子系统角色(SubSystem): 可以同时有一个或者多个的SubSystem.每个SubSystem都不是一个类,而是一个类的集合.SubSystem并不知道FacadeService的存在.对于FacadeService相当于是一个客户端而已.门面模式又称外观模式.提供了一个统一的接口用来访问子系统的一群接口.主要特征是提供了一个高层接口,让子系统更容易使用,属于结构型模式.外观角色(FacadeService):又称门面角色.系统对外的统一接口.

2024-08-17 06:32:52 283

原创 vue 子父组件互相改值

【代码】vue 子父组件互相改值。

2024-08-16 08:55:41 261

原创 mysql 数据表区分大小写问题

修改 /etc/mysql/mysql.conf.d/mysqlId.cnf。

2024-08-16 08:54:50 96

原创 Vue3组件通信方式 自定义事件

我是子组件2点击我触发自定义事件xxx</button><button @click="$emit('click','AK47','J20')">点击我触发自定义事件click

2024-08-15 08:49:26 170

原创 Vue 添加 dayjs 方便日期操作

Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。具体方法 参考 dayjs 中文网站: https://dayjs.fenxianglu.cn/Day.js 可以运行在浏览器和 Node.js 中。先用 cmd 在vue 项目中添加 dayjs。

2024-08-15 08:48:15 368

原创 Spring Cloud OpenFeign 客户端

当定义的FeignClient不在SpringBootApplication的扫描包范围时,这些FeignClient无法使用。OpenFeign对Http请求做了优雅的伪装,不过其底层发起http请求,依赖于其它的框架。OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息。FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。BASIC:仅记录请求的方法,URL以及响应状态码和执行时间。

2024-08-15 08:46:05 369

原创 Spring boot 中使用 Redis 信息

要在 Spring Boot 项目中配置 Redis 的序列化,你需要自定义 RedisTemplate 的序列化策略。RedisTemplate 是 Spring Data Redis 提供的一个高级抽象层,用于简化 Redis 的操作。它封装了对 Redis 的基本操作,如设置和获取值、执行列表操作等,并且可以很容易地扩展到更复杂的功能。Spring boot 集成 redis 的使用, 无需版本号即可直接使用,还有相关配置信息可以直接通过 yml 文件去配置。

2024-08-14 06:14:39 566

原创 Spring boot 使用 jSerialComm 对串口使用发送信息并接收

jSerialComm 是一个 Java 库,旨在提供一种独立于平台的方式来访问标准串行端口,而无需外部库、本机代码或任何其他工具。它旨在替代 RxTx 和(已弃用的)Java Communications API,具有更高的易用性、对超时的增强支持以及同时打开多个端口的能力。

2024-08-14 06:11:14 1415

原创 网页端按钮对 esp 8266 led 灯控制

esp 8266 学习

2024-08-13 06:15:21 219

原创 Spring boot 在启动时加载数据

当 Spring 容器实例化了一个实现了 InitializingBean 接口的 Bean 时,它会在所有依赖注入完成后调用该接口的 afterPropertiesSet() 方法。@PostConstruct 是一个由 Java EE 规范定义的注解,用于标记一个非私有的 void 方法,该方法将在依赖注入完成后由容器调用。注意: 由于 该线程 是 main 线程是主线程 如果数据获取有问题是会导致项目无法启动, 可以通过 Thread 方法去新建一个线程 去启动。

2024-08-13 06:12:20 1391

原创 uniapp 目录结构

配置跳转目录, pages 第一项就是启动页。app 项目配置中心。

2024-08-12 08:42:55 373

onvif server

onvif server pc 可用于 win10, win11 模拟 onvif 设备协议调试

2024-09-26

Bios Acer 掠夺者2023款

Bios Acer 掠夺者2023款

2024-09-24

sqllite3 exe 软件信息 ,可以创建 sqlite 数据库

sqllite3 exe 软件信息 ,可以创建 sqlite 数据库

2024-08-13

jSerialComm-2.11.0.jar 可以 java 获取串口信息的

jSerialComm-2.11.0.jar 可以 java 获取串口信息的

2024-08-13

rxtx项目资源 x86 jar 包

rxtx项目资源 x86 jar 包

2024-08-08

rxtx项目运行资源 x64 jar 包

rxtx项目运行资源 x64 jar 包

2024-08-08

空空如也

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

TA关注的人

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