冒泡排序与选择
elasticsearch实现简单的脚本排序(script sort)
1、背景 我有一堆学生数据,其中湖北省的学生需要排在所有数据的最前面。其余省正序排序,对于同一个省的数据,按照年龄倒序排序。 2、分析 对于上方的排序需求,湖北省的学生数据需要排在前端,但是湖北省并不是一个字段,那么这个时候改如何实现呢?对于这种场景我们很容易就想到需要脚本script sort来实 ......
算法学习笔记(2): 欧拉定理与逆元
逆元 定义 逆元素,是指一个可以取消另一给定元素运算的元素 具体来说,对于实际的一些应用,如: 当我们想要求(11 / 3) % 10时 明显可以看出,是没有办法直接算的,这时就需要引入逆元 $a$ 在模$p$意义下的逆元记作 $a^{-1}$,也可以用inv(a)表示 应当满足 $$ a * a^ ......
微服务架构学习与思考(12):从单体架构到微服务架构的演进历程
从单体架构到微服务架构的演进历程 一、单体架构 1.1 什么时候用单体架构 在创业初期或项目开始时,项目整体功能比较少,开发人员也少,且项目需要用最少时间开发出来,用 MVP 方式快速进行市场验证是否可行,这时候就可以用单体架构进行快速开发。 1.2 单体架构设计举例-电商应用 功能分析: 拿淘宝网 ......
Longhorn+K8S+KubeSphere云端数据管理,实战 Sentry PostgreSQL 数据卷增量快照/备份与还原
云端实验环境配置 VKE K8S Cluster Vultr 托管集群 https://vultr.com/ 3 个 worker 节点,kubectl get nodes。 k8s-paas-71a68ebbc45b Ready <none> 12d v1.23.14 k8s-paas-dbbd4 ......
Cocos Creator 打包原生 Android 包该如何选择 NDK 版本?
大家好,我是晓衡! 记得前段时间,在一些群里看到有小伙伴说 Cocos Creator 打包 Android 原生 APK 有问题:一种是构建失败,一种是运行起来报错。 晓衡也是有好长一段时间,没有碰过 Android 原生打包,我用的这台新电脑上环境都没有配置。 正好这两天,我将一个 2.0.10 ......
SpringMVC学习笔记 - 第一章 - 工作流程、Bean加载控制、请求与响应(参数接收与内容返回)、RESTful
【前置内容】Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入) Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 ......
对 Pulsar 集群的压测与优化
前言 这段时间在做 MQ(Pulsar)相关的治理工作,其中一个部分内容关于消息队列的升级,比如: 一键创建一个测试集群。 运行一批测试用例,覆盖我们线上使用到的功能,并输出测试报告。 模拟压测,输出测试结果。 本质目的就是想直到新版本升级过程中和升级后对现有业务是否存在影响。 一键创建集群和执行测 ......
WeetCode4 —— 二叉树遍历与树型DP
系列文章目录和关于我 一丶二叉树的遍历 1.二叉树遍历递归写法与递归序 了解过二叉树的朋友,最开始肯定是从二叉树的遍历开始的,二叉树遍历的递归写法想必大家都有所了解。 public static void process(TreeNode node) { if (node == null) { re ......
【高并发】AQS中的CountDownLatch、Semaphore与CyclicBarrier用法总结
CountDownLatch 概述 同步辅助类,通过它可以阻塞当前线程。也就是说,能够实现一个线程或者多个线程一直等待,直到其他线程执行的操作完成。使用一个给定的计数器进行初始化,该计数器的操作是原子操作,即同时只能有一个线程操作该计数器。 调用该类await()方法的线程会一直阻塞,直到其他线程调 ......
ONNX模型分析与使用
ONNX 的本质只是一套开放的 ML 模型标准,模型文件存储的只是网络的拓扑结构和权重(其实每个深度学习框架最后保存的模型都是类似的),脱离开框架是没办法对模型直接进行 inference的。 ......
分布式协议与算法-Paxos算法
本文总结自:极客时间韩健老师的分布式协议与算法实战课程。 为什么要学习Paxos算法?其实关于这个问题的答案,每个人有不同的看法。其实对我来说,我认为当前很多常用的共识算法都是基于它改进,我学习它的初衷也是为了更好的去理解Raft算法。如果你想深入理解RAFT算法,博主在这里推荐蚂蚁金服的SOFAJ ......
分布式协议与算法-Quorum NWR
1.强一致性与最终一致性 1.1强一致性 强一致性能保证写操作完成后,任何后续访问都能读到更新后的值;强一致性可以保证从库有与主库一致的数据。如果主库突然宕机,我们仍可以保证数据完整。但如果从库宕机或网络阻塞,主库就无法完成写入操作。 1.2最终一致性 最终一致性只能保证如果对某个对象没有新的写操作 ......
多项式 I:拉格朗日插值与快速傅里叶变换
1. 复数和单位根 前置知识:弧度制,三角函数。 1.1 复数的引入 跳出实数域 $\mathbb R$,我们定义 $i ^ 2 = -1$,即 $i = \sqrt {-1}$,并在此基础上定义 复数 $a + bi$,其中将 $b\neq 0$ 的称为 虚数。复数域记为 $\mathbb C$。 ......
微机原理与系统设计笔记1 | 绪论与数制表示
打算整理汇编语言与接口微机这方面的学习记录。 参考资料 西电《微机原理与系统设计》周佳社 西交《微机原理与接口技术》 课本《汇编语言与接口技术》王让定 小甲鱼《汇编语言》 1. 介绍 2022年春学习了MIPS视角下的计算机体系结构与组成原理,同年夏自学了操作系统(科普级别的了解),汇编语言是学习操 ......
02-Tcl输出、赋值与替换
2 Tcl输出、赋值与替换 2.1 puts Tcl的输出命令是puts,将字符串标准输出channelled。语法中两个问号之间的参数为可选参数。 # 例1 puts hello # 输出 hello # 例2 puts -nonewline "hello hello" # 输出 hello he ......
跳跃表数据结构与算法分析
目前市面上充斥着大量关于跳跃表结构与Redis的源码解析,但是经过长期观察后发现大都只是在停留在代码的表面,而没有系统性地介绍跳跃表的由来以及各种常量的由来。作为一种概率数据结构,理解各种常量的由来可以更好地进行变化并应用到高性能功能开发中。本文没有重复地以对现有优秀实现进行代码分析,而是通过对跳跃... ......
前端Linux部署命令与流程记录
以前写过一篇在Linux上从零开始部署前后端分离的Vue+Spring boot项目,但那时候是部署自己的个人项目,磕磕绊绊地把问题解决了,后来在公司有了几次应用到实际生产环境的经验,发现还有很多可以补充的地方,很多指令和下载地址每次用到的时候再找就相对麻烦,通过这篇文章可以做一个记录。 另外,之前 ......
OpenMP 原子指令设计与实现
在本篇文章当中主要是深入剖析了 OpenMP 当中各种原子指令的实现原理以及分析了他们对应的汇编程序,OpenMP 在处理 #pragma omp atomic 的时候如果能够使用原子指令完成需求那就直接使用原子指令,否则的话就使用 CAS cmpxchg 指令和 while 循环完成对应的需求。 ......
OpenMP Parallel Construct 实现原理与源码分析
在本篇文章当中我们将主要分析 OpenMP 当中的 parallel construct 具体时如何实现的,以及这个 construct 调用了哪些运行时库函数,并且详细分析这期间的参数传递! ......
python数据分析与可视化【思维导图】
python数据分析与可视化常用库 numpy+matplotlib+pandas 思维导图 图中难免有错误,后期随着学习与应用的深入,会不断修改更新。 当前版本号:1.0 numpy介绍 NumPy 是什么? NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括: 功能强大的N维 ......
Openmp Runtime 库函数汇总(下)——深入剖析锁🔒原理与实现
在本篇文章当中主要给大家分析了 OpenMP 当中两种主要的锁的实现,分别是 omp_lock_t 和 omp_nest_lock_t,一种是简单的锁实现,另外一种是可重入锁的实现。其实 critical 子句在 OpenMP 内部的也是利用上面的锁实现的。整个锁的实现还是非常复杂的,里面有很多耐人... ......
C++可执行文件绝对路径获取与屏蔽VS安全检查
前言 前几天写新项目需要用到程序所在绝对路径的时候,发现网上居然一点相关分享都没有。 > _pgmptr 翻箱倒柜找出了几本教程,发现了一个叫_pgmptr的东西。 进去看了一下,在stdlib.h里拓展到了函数__p__pgmptr(),函数原型: _CRT_INSECURE_DEPRECATE_ ......
vivo 低代码平台【后羿】的探索与实践
本文主要从前后端分离的低代码方案、自研高性能渲染引擎、高效的可视化配置方案、千亿级内容投放、低代码如何与传统开发共存等五个维度vivo在低代码平台方面的实践经验,其中也会涉及到动态交互如何运用低代码来编排和我们在提高配置效率方面的全面探索。 ......
第六节 FAF与GP不工作保护区的绘制
飞行程序设计软件实践 前一篇文章中,通过风标设计2023插件,我们在CAD中绘制了FAP方式下的精密进近保护区。 接着这个话题我们继续来看一下FAF方式下的保护区应该怎样绘制,以及OAS参数的其它用法。 一、采用FAF方式的精密进近保护区绘制 FAF与FAP的差别是一个老话题,简单来说,FAF方式指 ......
掌握webpack(一)一张图让你明白webpack中output的filename、path、publicPath与主流插件的关系
webpack的核心概念,放到2022年相信很多的小伙伴都已经非常清楚了。但是,对于webpack配置中的output.path、output.filename以及output.publicPath,还有很多小伙伴还不理解。本文讲围绕output.filename、output.path与outpu ......
周而复始,往复循环,递归、尾递归算法与无限极层级结构的探究和使用(Golang1.18)
所有人都听过这样一个歌谣:从前有座山,山里有座庙,庙里有个和尚在讲故事:从前有座山。。。。,虽然这个歌谣并没有一个递归边界条件跳出循环,但无疑地,这是递归算法最朴素的落地实现,本次我们使用Golang1.18回溯递归与迭代算法的落地场景应用。 递归思想与实现 递归思想并非是鲜为人知的高级概念,只不过 ......
【深入浅出 Yarn 架构与实现】4-3 RM 管理 NodeManager
本篇继续对 RM 中管理 NodeManager 的部分进行深入的讲解。主要有三个部分:检查 NM 是否存活;管理 NM 的黑白名单;响应 NM RPC 请求。 ......
【深入浅出 Yarn 架构与实现】4-2 RM 管理 Application Master
本篇将对 RM 中管理 Application Master 的部分进行深入的讲解。
下面将会介绍 RM 与 AM 整体通信执行流程,并对 RM 中涉及的对应服务进行具体讲解。
为了更好的学习本篇知识,建议先熟悉以下知识点,不了解的部分可翻到前面对应的文章进行学习: ......
解读JVM级别本地缓存Caffeine青出于蓝的要诀3 —— 讲透Caffeine的数据驱逐淘汰机制与用法
上一篇文章中我们聊了Caffeine的同步、异步的数据回源方式。本篇文章我们再一起研讨下经Caffeine改良过的异步数据驱逐处理实现,以及Caffeine支持的多种不同的数据淘汰驱逐机制和对应的实际使用。 ......
JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来2 —— Ehcache的各种项目集成与使用初体验
本篇一起实践下Ehcache的各种不同使用方式,来感受下Ehcache的强大与便利。比如独立集成使用,基于JCache方式使用,以及通过Springboot+JCache+Ehcache方式集成使用等。 ......