分布式 事务 模式saga
设计模式-组合模式在Java中的使用示例-杀毒软件针对文件和文件夹进行杀毒
场景 组合模式 组合模式(Composite Pattern): 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。 组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性, 组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 在组 ......
git学习一:版本控制软件基础功能以及集中式和分布式版本控制软件
虽然已经工作一段时间并且在工作中也经常用到git,但是还没系统学习过git,特此学习一下并且记录笔记。 功能: 1.保存和管理文件 2.提供客户端工具进行访问 3.提供不同版本的比对功能 集中式版本控制:每一行会记录谁修改的,但是多个人修改同一行还是需要人工操作 分布式版本控制:先上传到本地,再上传 ......
Qt 专门的宏Q_GLOBAL_STATIC,用来实现线程安全的单例模式
Qt本身就提供了专门的宏 Q_GLOBAL_STATIC。通过这个宏不但定义简单,还可以获得线程安全性。 1、先看官方文档 https://doc.qt.io/qt-5/qglobalstatic.html https://doc.qt.io/qt-5/threads-reentrancy.html ......
Qt 单例模式:本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性
单例模式 很多人洋洋洒洒写了一大堆 但是Qt本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性。 rule.h 1 #ifndef RULE_H 2 #define RULE_H 3 4 class Rule 5 { 6 public: 7 stati ......
代理模式和AOP
代理模式 静态代理模式 缺点:一个真实角色就会产生一个代理角色,类多了代码量大 在不改变原来的代码的情况下,实现了对原有功能的增强,是AOP中最核心的思想 AOP:纵向开发,横向开发(面向切面编程) 动态代理模式(基于反射) 一个动态代理 , 一般代理某一类业务 , 一个动态代理可以代理多个类,代理 ......
EasyPlayer流媒体视频播放器宽屏模式的开发与实现
EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。 ......
时间序列的季节性:3种模式及8种建模方法
分析和处理季节性是时间序列分析中的一个关键工作,在本文中我们将描述三种类型的季节性以及常见的8种建模方法。 什么是季节性? 季节性是构成时间序列的关键因素之一,是指在一段时间内以相似强度重复的系统运动。 季节变化可以由各种因素引起,例如天气、日历或经济条件。各种应用程序中都有这样的例子。由于假期和旅 ......
Go语言实现23种设计模式
## 摘要 设计模式是一套被广泛应用于软件开发中的解决问题的经验总结,它可以帮助开发人员设计出更加灵活、可维护和可扩展的代码。本文将探讨使用设计模式的好处,并对常见的设计模式进行分类和介绍。此外,我们还将提供设计模式的相关链接,以便读者深入了解各个设计模式的细节和实例。最后,我们将探讨如何学习设计模 ......
Hybrid App 开发模式的未来
引言 在移动 App 开发领域,主流的开发模式可分为 Native、Hybrid、WebApp 三种方式。然而 2013 年,纯 WebApp 开发模式的发展受到一定挫折,以 Facebook 为代表的独立 App 转投 Native 阵营。但是开发者对 WebApp 更新速度快,跨平台优势的渴望却 ......
设计模式--策略模式
## 概念 > **策略模式** 是一种 **行为设计模式**;当在处理一个业务时,有多种处理方式,并且需要在运行时决定使哪一种具体实现时,就会使用 **策略模式** ## 特点 策略模式体现了面向对象程序设计中非常重要的两个原则: 1. 封装变化的概念 2. 编程中使用接口,而不是使用具体的实现类 ......
享元模式
[toc] ### 1. 概述 **定义:** 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 ### 2. 结构 享元(Flyweight )模式中存在以下两种状态: 1. 内部状态,即不 ......
spring事务
Spring事务是Spring框架提供的一种用于管理数据库事务的机制。通过Spring事务管理,可以实现对数据库操作的事务性控制,保证数据的一致性和完整性。 #### Spring事务的特点和优势: - 声明式事务管理:Spring提供了声明式事务管理,可以通过配置简单的注解或XML配置来管理事务, ......
融入用户习惯:如何选择最适合用户的APP导航模式
今天我要分享的是APP常见的导航设计。我主要通过是什么?为什么?怎么做?这个思路来分享。 ⬇⬇⬇复制下方链接获取设计素材 https://js.design/community?category=detail&type=resource&id=63aea4e4fe0aa1960feb3348&sou ......
【NET】【SQLite】【EF】在Net中以CodeFirst模式使用SQLite
在Net程序中使用SQLite,以CodeFirst模式,使用EF,不手工拼接查询代码的方式。 需要改动三个部分,分别是**安装Nuget包**,**添加配置**,**编写代码**。 ##### 安装Nuget包 这部分比较简单,直接Nuget包中下载即可 1. System.Data.SQLite ......
Spring框架中的设计模式(重点学习!!!)
# Spring中的设计模式 Spring框架中用到的设计模式有很多,以下是一些常见的设计模式: 1. 依赖注入(DI)和控制反转(IoC):这是Spring框架最核心的设计模式,它允许开发人员将对象之间的依赖关系从代码中抽离出来,由Spring容器负责管理和注入对象之间的依赖关系。 2. 工厂模式 ......
Spring项目中策略模式使用
### 一、策略模式定义 策略模式(Strategy Pattern)是行为型策略模式当中的一种,定义一系列算法,将每个算法封装到具有公共接口的一系列策略类中,(可以是抽象类,也可以是接口),从而使他们可以相互替换,让算法可在不影响客户端的情况下发生变化, 作用: 将算法的责任和本身进行解耦,使得: ......
Spring Boot中借助Redis实现分布式系统全局共享线程安全的阻塞队列
背景问题 我们都知道Java里的LinkedBlockingQueue,采用先进先出(FIFO)的方式存储元素,并且支持同时进行并发的读和写操作。内部使用ReentrantLock锁来保证多线程环境下的线程安全性。 LinkedBlockingQueue提供了以下主要方法: put(E e):将元素 ......
事务
## 事务 ### 作用 保证了对数据操作的'数据安全性' ### 事务的四个属性 事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性(consist ......
事务的ACID
如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: - 原子性(Atomicty) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。 - 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行 ......
Scrapy-redis组件,实现分布式爬虫
安装包 ```Python pip install -U scrapy-redis ``` settings.py ```Python ##### Scrapy-Redis ##### ### Scrapy指定Redis 配置 ### # 其他默认配置在scrapy_redis.default.py ......
Selenium-无头模式headless
无头模式适合的场景: - 部署到没有gui界面的服务器,比如linux - 开发环境测试完全没问题后可以使用无头模式,提高selenium速度。 ```YAML # 使用headless无界面浏览器模式 chrome_options.add_argument('--headless') chrome ......
一些常用的软件设计模式
# 1 工厂模式 工厂模式(Factory Pattern):定义一个创建对象的接口,但是让子类决定要实例化的类是哪一个,将对象的创建和使用分离开来,降低代码的耦合度。 工厂模式(Factory Pattern)是一种创建型设计模式,用于创建对象而不会暴露创建逻辑。它允许在运行时确定创建哪个具体类的 ......
对于装饰器模式与代理模式的个人理解
对于这两个十分接近的设计模式,确实容易产生困惑,代理模式和装饰器模式看起来十分相似,都是由两个类实现相同的接口,然后一个类套另一个类。这件事足足困扰了我5分钟之久,在此总结一下它们的差别。 ## 目的不同 当你想要增强你的类,给你的类增加新功能的话,你就该使用装饰器模式了。 装饰器模式由于添加了功能 ......
mongodb副本集(PSA模式)修改节点信息
环境:OS:Centos7mongodb:4.4.22 我们在副本集扩容的情况下,新加入节点一般设置priority和votes都为0,待新节点数据同步完成后再进行修改:主库上执行新增新的节点:myrepl:PRIMARY>rs.add({ host: "192.168.1.107:29001", ......
分布式缓存
单点redis的问题 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据。解决:数据持久化 并发能力问题:单节点并发能力不足。解决:主从集群,读写分离。 故障恢复:需要自动的故障恢复手段。解决:Redis哨兵,实现健康检测和自动恢复。 存储能力问题:单节点Redis难以满足海量数据存储。解决 ......
读发布!设计与部署稳定的分布式系统(第2版)笔记24_互联层之负载均衡
![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230713141300146-1450511408.png) # 1. 水平扩展 ## 1.1. 有助于提高系统的整体容量和韧性 ## 1.2. 现阶段构建的几乎所有系统,都 ......
DDD设计思想整合Saga模式的简易框架
花了两天,写了个简陋的以领域驱动为思想的Saga模式事务管理框架,主要为了讲解:[领域驱动模型DDD(三)——使用Saga管理事务](https://www.cnblogs.com/linchenguang/p/16179193.html) 教学而设计的,只能在单体架构中使用,后续会更新分布式情况下 ......
策略模式
[toc] ### 1. 概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 ![](https://img2023.cnblogs.com/blog/1886066/202307/1886066-20230716225753173-218901 ......
MySQL 索引、事务与存储引擎
[toc] ## 一、索引 ### 1. 概念 是一个排序的列表,存储着索引值和这个值所对应的物理地址 无须对整个表进行扫描,通过物理地址就可以找到所需数据 是表中一列或者若干列值排序的方法 需要额外的磁盘空间 ### 2. 作用 数据库利用各种快速定位技术,能够大大加快查询速率 当表很大或查询涉及 ......