外观 模式12
Spring Event 观察者模式, 业务解耦神器
观察者模式在实际开发过程中是非常常见的一种设计模式。 Spring Event的原理就是观察者模式,只不过有Spring的加持,让我们更加方便的使用这一设计模式。 一、什么是观察者模式 概念: 观察者模式又叫发布-订阅模式。 发布指的是当目标对象的状态改变时,它就向它所有的观察者对象发布状态更改的消 ......
设计模式八股
UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。 进行设计时经常使用这种方法进行建模 创建型模式: 单例模式: 局部静态变量懒汉式,在第一次调用函数时才对其进行初始化,因为局部静态变量只能被初始化一次,即便有多 ......
Zabbix调优不完全指南(共12个优化案例)
从学习搭建zabbix到完成各类监控、调优、二次开发已经过去了两年,期间通过QQ学习群、zabbix官方社区、各个技术博客整理学习了不少关于各种报错的处理方法,现在将常见的一些报错处理方法整理出来分享给大家。 现在开始介绍常见报错处理方法: 问题一、Zabbix server内存溢出,无法启动 问题 ......
C#设计模式19——装饰器模式的写法
装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地给一个对象添加一些额外的职责,而不需要修改这个对象的代码。 What(什么) 装饰器模式是一种结构型设计模式,它允许你动态地给一个对象添加一些额外的职责,而不需要修改这个对象的代码。 在装饰器模式中,你可以定义一个装 ......
redis 源码分析:Jedis 哨兵模式连接原理
1. 可以从单元测试开始入手 查看类JedisSentinelPool private static final String MASTER_NAME = "mymaster"; protected static final HostAndPort sentinel1 = HostAndPorts. ......
设计模式-策略模式
设计模式-策略模式 1. 涉及的角色1)Strategy(策略)Strategy角色负责决定实现策略所必需的接口(API)。在示例程序中,由strategy接口扮演此角色。2)ConcreteStrategy(具体的策略)ConcreteStrategy角色负责实现Strategy角色的接口(API ......
JAVA - instanceof 模式匹配
父类: package com.demo; import java.time.LocalDate; public class Employee { private String name; private double salary; private LocalDate hireDay; publi ......
软件设计模式系列之二十一——观察者模式
观察者模式(Observer Pattern)是一种行为型设计模式,它允许对象之间建立一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这个模式也被称为发布-订阅模式,因为它模拟了一个主题(发布者)与多个观察者(订阅者)之间的关系。观察者模式主要用于实现对象之间... ......
dpvs dnat模式
dnat模式发送报文 src/ipvs/ip_vs_core.c针对ipv4,INET_HOOK_PRE_ROUTING注册2个函数dp_vs_pre_routing和dp_vs_in,因为nat不做防止DDos攻击的syn_proxy,所以看dp_vs_in。 conn_sched新请求建立连接选 ......
单例模式
什么是单例模式 单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。 单例模式的类型 懒汉式:在真正需要使用对象时才去创建该单例类对象。 ......
【12.0】Fastapi中的数据库SQLAlchemy ORM 操作
【一】大型项目结构树 coronavirus ├─static # 静态文件 ├─templates # 前端页面 ├─__init__.py # 初始化文件 ├─database.py # 数据库操作 ├─models.py # 数据库表模型类 ├─schemas.py # 响应体模型类 ├─cu ......
【11.0】Fastapi的OAuth2.0的授权模式
【一】OAuth2.0的授权模式 授权码授权模式(Authorization Code Grant) 隐式授权模式(Implicit Grant) 密码授权模式(Resource Owner Password Credentials Grant) 客户端凭证授权模式(Client Credentia ......
访问者模式
访问者模式 案例引入 要求 1.将观众分为男生和女生,对歌手进行评价,当看完某个歌手表演后,对于歌手有不同的评价(评价的类别,有成功,失败等)。 传统方式实现思路 创建一个Person类,其有两个子类,分别是Man和WoMan,使用if else分支,去判断一个歌手的评价,成功对应成功分支,失败对应 ......
12.割地取田
先梳理这道题的过程:尝试这个矩阵的所有可行取法,然后选择其中sum最大的一种。 这道题应该属于回溯法的范畴,我使用了一个递归函数search,这个search本质上是一种dfs方法。 首先需要两个数组:vl[8][8](vl表示value,存放每个田地的预期产出)和av[8][8](av表示avai ......
保护模式下的存储管理
分段 段描述符 32位模式下,\(2^{32}bits=4GB\),起始地址用\(32bits\)表示,偏移用\(20bits\)表示,一页大小是\(4KB\),\(2^{20}\times 2^{12} = 2^{32}\),表示内存空间的某个位置最少用\(52bits\),实际上用\(64bit ......
软件设计模式系列之二十——备忘录模式
备忘录模式是一种行为型设计模式,它允许我们在不暴露对象内部细节的情况下捕获和恢复对象的内部状态。这个模式非常有用,因为它可以帮助我们实现撤销、恢复和历史记录等功能。在本文中,我们将深入探讨备忘录模式的各个方面,包括定义、示例、结构、实现步骤、代码实现、典型应用场景、优缺点、类似模式以及小结。 ......
Spring中涉及的设计模式总结
一、简单工厂(非23种设计模式中的一种) 1、实现方式: BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。 2、实质: 由一个工厂类根据传入的参数,动态决 ......
Win12不会取代Win11!真正目标是Google
Windows 11之后自然应该是Windows 12,但这一次不太一样。 据多个消息源确认,Windows的下一个重大版本将不会是Windows 11的直接升级版,而是更专注于云和Web,同时大力接入AI,目标直指Google ChromeOS。 这个所谓的Windows 12,将打造一个更加现代 ......
Ftp基础(二):被动模式与主动模式
Ftp即文件传输协议,说白了就是处理文件操作的。可能你还听说过Ftps、SFtp,简单说一下他们的区别吧 Ftps:可以理解为Ftp+Ssl,Ftp与Ftps的关系就类似Http和Https的关系 SFtp:可以理解为Ftp+SSH 总之,可以理解为Ftp就是明文传输,Ftps、SFtp采用了加密传 ......
vue:自定义validator/验证规则(element-plus@2.3.12)
一,官方文档地址: https://element-plus.gitee.io/zh-CN/component/form.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%A1%E9%AA%8C%E8%A7%84%E5%88%99 二,js代码: 1 2 3 4 5 6 ......
vue:el-table在resize时报错(element-plus@2.3.12)
一,报错信息: Uncaught runtime errors: × ERROR ResizeObserver loop completed with undelivered notifications. at handleError (webpack-internal:///./node_modu ......
citus 12.1 新特性
最近pg 16的发布了,citus 也比较快直接很快就支持16了,同时citus 也发布了12.1 版本以下是一些新特性 新特性 pg 16 支持以及比较多的pg 16 特新到citus 分布式表的支持 pg 16 load lalance 支持,实际上是从citus 合并到pg 的 pg json ......
责任链模式
将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 abstract class Handler { private Handler next; public void setNext(Handler next) { th ......
系统进入救援模式进行修复
现象: 解决方案: (1)# journalctl 查看原因 (2)可以看出是内存溢出导致进出救援模式,重启解决 # /sbin/reboot -f (3) 如果出现 mount failed 的现象,就需要进行 umount -l /dev/sdX 或者 umount -f /dev/sdX (4 ......
软件设计模式系列之十九——中介者模式
@目录1 模式的定义2 举例说明3 结构4 实现步骤5 代码实现6 典型应用场景7 优缺点8 类似模式9 小结 1 模式的定义 中介者模式是一种行为型设计模式,它用于降低对象之间的直接通信,通过引入一个中介者对象来管理对象之间的交互。这种模式有助于减少对象之间的耦合性,使系统更加可维护和扩展。中介者 ......
命令模式
命令模式 案例引入 要求 1.买了一套智能家电,有照明灯,风扇,冰箱,洗衣机,我们只要在手机上安装app就可以控制这些家电工作。 2.这些智能家电来自不同的厂家,不想针对每一种家电都安装一个app,分别控制,希望使用一个app就可以控制全部的智能家电。 3.要实现,一个app控制所有智能家电的需求, ......
编程基础与Python的开发模式
1.3.1程序设计的概念 1. 逻辑设计 (1)过程的起点是分析并确定需求。 (2)从现实中抽象。 (3)抽象过后是设计算法。 2. 程序设计 (1)选择编程语言。 (2)设计数据结构。 (3)设计业务逻辑。 (4)选择开发模式。 1.3.2程序的生命周期 (1)硬件部分。 (2)操作系统。 (3) ......
应该也算策略模式吧
调用方自主选择策略方式:如食堂打饭,有很多窗口供选择,用户只需要去想买的窗口刷卡打饭即可 三个关键角色: 上下文信息类(Context):用于存放和执行需要使用的具体策略类以及客户端调用的逻辑。 抽象策略类(Strategy):定义策略的共有方法。 具体策略类(StrategyA 等):实现抽象策略 ......
软件设计模式系列之十八——迭代器模式
迭代器模式是一种行为型设计模式,它允许客户端逐个访问一个聚合对象中的元素,而不暴露该对象的内部表示。迭代器模式提供了一种统一的方式来遍历不同类型的集合,使客户端代码更加简洁和可复用。 ......