算法 模式 代码 方式
【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)
概念简介 Paxos是一种基于消息传递具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一。 发展历史 Paxos算法的发展历史追溯到古希腊,当时有一个名为“Paxos“的小岛, 岛上采用一会的形式通过法令, 议会中议员通过信使进行消息传递,议员与信使都是兼职的,他们随时都 ......
复杂度分析:如何分析、统计算法的执行效率和资源消耗
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。 ......
算法学习笔记(19): 树上启发式合并(DSU on tree)
树上启发式合并 DSU on tree,我也不知道DSU是啥意思 这是一种看似特别玄学的优化 可以把树上部分问题由 $O(n^2)$ 优化到 $O(n \log n)$。 例如 CodeForces 600E。 又例如一道神奇的题: 适用情况 可以离线的部分树上问题。 需要子树上的所有信息,但是信息 ......
一种异步延迟队列的实现方式
目前系统中有很多需要用到延时处理的功能:支付超时取消、排队超时、短信、微信等提醒延迟发送、token刷新、会员卡过期等等。通过延时处理,极大的节省系统的资源,不必轮询数据库处理任务。
目前大部分功能通过定时任务完成,定时任务还分使用quartz及xxljob两种类型轮询时间短,每秒执行一次,对数据... ......
fpm模式下读取到is_cli为何为true
php-fpm下读取到is_cli为true,不知道你们是否遇到过,我是遇到了。。。。
有人会说,即使为true又怎么了,你是没遇到有些根据is_cli来走不同逻辑判断的,如果读取的是错的就会引起很大的问题。。。。 ......
如何通过Java代码在Word中创建可填充表单
有时候,我们需要制作一个Word模板文档,然后发给用户填写,但我们希望用户只能在指定位置填写内容,其他内容不允许编辑和修改。这时候我们就可以通过表单控件来轻松实现这一功能。本文将为您介绍如何通过Java代码,以编程方式在Word中创建可填充表单。下面是我整理的步骤及方法,并附上Java代码供大家参考... ......
基于量子随机游走的图像加密算法
一、概述 量子随机游走是一种基于量子力学的随机游走模型,其具有良好的随机性和不可预测性,因此被广泛应用于密码学中。基于量子随机游走的图像加密算法是一种新兴的加密算法,其基本思路是将明文图像转换为量子态,通过量子随机游走对量子态进行加密,最后将加密后的量子态转换为密文图像。 二、算法流程 将明文图像转 ......
如何实现延迟任务,这11种方式才算优雅!
大家好,我是三友~~ 延迟任务在我们日常生活中比较常见,比如订单支付超时取消订单功能,又比如自动确定收货的功能等等。 所以本篇文章就来从实现到原理来盘点延迟任务的11种实现方式,这些方式并没有绝对的好坏之分,只是适用场景的不大相同。 微信公众号:三友的java日记 DelayQueue DelayQ ......
深度解析单例模式
饥汉模式 package com.cz.single; /** * @author 卓亦苇 * @version 1.0 * 2023/3/11 21:31 */ public class Hungry { private byte[] data1 = new byte[1024]; private ......
图论算法
图论算法 第一节 基本概念 一、什么是图? 很简单,点用边连起来就叫做图,严格意义上讲,图是一种数据结构,定义为:graph=(V,E)。V是一个非空有限集合,代表顶点(结点),E代表边的集合。 二、图的一些定义和概念 (a)有向图:图的边有方向,只能按箭头方向从一点到另一点。(a)就是一个有向图。 ......
Flink模式
Per-job Cluster 该模式下,一个作业一个集群,作业之间相互隔离。 在Per-Job模式下,集群管理器框架用于为每个提交的Job启动一个 Flink 集群。Job完成后,集群将关闭,所有残留的资源也将被清除。 此模式可以更好地隔离资源,因为行为异常的Job不会影响任何其他Job。另外,由 ......
设计模式(十五)----结构型模式之外观模式
1 概述 有些人可能炒过股票,但其实大部分人都不太懂,这种没有足够了解证券知识的情况下做股票是很容易亏钱的,刚开始炒股肯定都会想,如果有个懂行的帮帮手就好,其实基金就是个好帮手,支付宝里就有许多的基金,它将投资者分散的资金集中起来,交由专业的经理人进行管理,投资于股票、债券、外汇等领域,而基金投资的 ......
设计模式(十四)----结构型模式之组合模式
1 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对象也可以 ......
设计模式(十六)----结构型模式之代理享元模式
1 概述 定义: 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 2 结构 享元(Flyweight )模式中存在以下两种状态: 内部状态,即不会随着环境的改变而改变的可共享部分。 外部状态,指 ......
不会用“函数选项模式”的朋友看过来,这么写很优雅
由浅入深的讲解了下实例对象初始化一般写法和高阶写法。用好这个高阶写法(函数选项模式),让代码更优雅。还不会使用的Gopher,赶紧学起来,用起来。 ......
【Git】代码权限&分支管理
以Gitlab代码托管平台说明,也是目前应用最为广泛的企业搭建私服的选择。 1. 权限管理 [项目] 访问权限有3种::Private、Internal、Public Private:只有组成员才能看到 Internal:只要登录的用户就能看到 Public:所有人都能看到 [项目成员] 有五种权限 ......
浅析 SplitChunksPlugin 及代码分割的意义
起因 有同事分享webpack的代码分割,其中提到了SplitChunksPlugin,对于文档上的描述大家有着不一样的理解,所以打算探究一下。 Q:什么是 SplitChunksPlugin?SplitChunksPlugin 是用来干嘛的? A: 最初,chunks(以及内部导入的模块)是通过内 ......
低代码平台前端的设计与实现(四)组件大纲树的构建设计
在上篇文章,我们已经设计了一个简单的设计态的Canvas,能够显示经过BuildEngine生成的ReactNode进行渲染。本文,我们将继续上一篇文章的成果,设计并实现一个能够显示组件节点大纲树的组件。 什么是组件大纲树? 我们希望用户能通过一个地方比较明显的看到当前整个ComponentNode ......
ICSFUZZ:操纵I/O、二进制代码重用以及插桩,来Fuzzing工业控制应用程序
本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 源码:GitHub - momalab/ICSFuzz 原文:ICSFuzz: Manipulating I/Os and Repurposing B ......
顺应潮流,解放双手,让ChatGPT不废话直接帮忙编写可融入业务可运行的程序代码(Python3.10实现)
众所周知,ChatGPT可以帮助研发人员编写或者Debug程序代码,但是在执行过程中,ChatGPT会将程序代码的一些相关文字解释和代码段混合着返回,如此,研发人员还需要自己进行编辑和粘贴操作,效率上差强人意,本次我们试图将ChatGPT直接嵌入到代码业务中,让ChatGPT生成可以直接运行的代码。 ......
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
0.前言 「排序学习(Learning to Rank,LTR)」,也称「机器排序学习(Machine-learned Ranking,MLR)」 ,就是使用机器学习的技术解决排序问题。自从机器学习的思想逐步渗透到信息检索等领域之后,如何利用机器学习来提升信息检索的性能水平变成了近些年来非常热门的研 ......
Q-M(Quine-McCluskey)两级逻辑化简算法原理解析
转载请务必注明出处:https://www.cnblogs.com/the-wind/p/15764283.html,感谢合作。 1 背景介绍:两级逻辑 香农在他的硕士论文[1]中提出了开关电路的综合方法,其中提到香农展开定理,即任意n变量布尔函数$f(x_1,...,x_{n-1},x_n)$都可 ......
【数据结构与算法学习】线性表(顺序表、单链表、双向链表、循环链表)
实现语言:C++ 1. 线性表相关概念 线性表(Linear List) 是由n(n≥0)个具有相同特性(数据类型)的数据元素(结点)a1,a2,...,ai-1,ai,ai+1,...,an组成的有限序列。 其中,a1为线性起点(起始结点),an为线性终点(终端结点)。对于每一个数据元素ai,我们 ......
【数据结构与算法学习】散列表(Hash Table,哈希表)
实现语言:C++ 1. 散列表 散列表,英文名称为Hash Table,又称哈希表、杂凑表等。 线性表和树表的查找是通过比较关键字的方法,查找的效率取决于关键字的比较次数。 而散列表是根据关键字直接访问的数据结构。散列表通过散列函数将关键字映射到存储地址,建立了关键字和存储地址之间的一种直接映射关系 ......
局部异常因子(Local Outlier Factor, LOF)算法详解及实验
局部异常因子(Local Outlier Factor, LOF)通过计算样本点的局部相对密度来衡量这个样本点的异常情况,可以算是一类无监督学习算法。下面首先对算法的进行介绍,然后进行实验。 LOF算法 下面介绍LOF算法的每个概念,以样本点集合中的样本点$P$为例。下面的概念名称中都加了一个k-, ......
代码优化与程序加速指南——针对数值优化和深度学习领域
背景 当需要处理规模较大、任务较复杂的优化问题或训练神经网络时,我们经常会遇到程序运行时间长或无法完成的情况。然而,这不一定是由于问题规模大或计算机硬件能力的限制。即使尝试使用更高性能的服务器或计算机,也不能保证能够有效地加速代码运行。因为高性能的硬件通常需要与为高性能计算而设计的代码相匹配。 本文 ......
Qt开发技术:Q3D图表开发笔记(一):Q3DScatter三维散点图介绍、Demo以及代码详解
前言 qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的。 其中就包括华丽绚烂的三维图表,数据量不大的时候是可以使用的。 Demo:Q3DScatter散点图演示效果 Q3D提供的三维图表 依赖QtDataVisua ......
LeetCode 周赛 334,在算法的世界里反复横跳
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 今天是 LeetCode 第 334 场周赛,你参加了吗?这场周赛考察范围比较基础,整体难度比较平均,第一题难度偏高,第四题需要我们在算法里实现 “反复横跳”,非常有意思。 小彭的 And ......
.NET静态代码织入——肉夹馍(Rougamo) 发布1.4.0
肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应用启动的初始化时间让服务更快可用,同时还能对静态方法进行AOP。 距离上一次发文差不多过去半年了,在 ......
线性表的顺序存储C++代码
我学习顺序表时找不到相关的代码,以及我不清楚写一个线性表需要的知识,当我写出来可以使用的线性表我就把这些内容贴了出来。 前置知识点:结构体,常量指针,new和delete 顺序表的特点: 需要一片连续的存储空间 逻辑上相连的数据的存储位置也是相邻的。 所以如果我们想要创建一个顺序表我们需要做两件 ......