XOR

为什么sleeping的会话会造成阻塞(2)

背景 客户反馈系统突然从11:10开始运行非常缓慢,在SQL专家云中看到大量的产生阻塞的活动会话,KILL掉阻塞的源头马上又出现新的源头,实在没有办法只能重启应用程序断开所有数据库连接才解决,请我们协助分析根本的原因。 现象 登录SQL专家云,进入趋势分析页面,下钻到11点钟内一个小时的数据,看到从 ......
sleeping

链接服务器查询导致的阻塞

背景 客户反馈数据库在上午10点时出现严重阻塞,阻塞源头会话在等待OLEDB,没有见过这个等待类型,请我们协助分析。 现象 登录SQL专家云,进入趋势分析,下钻到10点钟的活动会话,看到发生了两次严重的阻塞。 转到活动会话原始数据,看到阻塞的源头是会话331,正在执行UPDATE语句,阻塞了其它会话 ......
链接 服务器

一文看懂 Python 中的函数参数

函数定义中的参数也就是形式参数,规定了在调用函数时如何传递实际参数以及这些参数有无默认值。 实参传递方式 def f(a): print(a) 实参传递方式有两种,位置和关键字。对于上面定义的函数 f,形如 f(1) 这种调用是通过位置的方式传参,形如 f(a=1) 这种调用是通过关键字的方式传参, ......
函数 参数 Python

Maven依赖冲突解决总结

转载请注明出处: 1.Jar包冲突的通常表现 Jar包冲突往往是很诡异的事情,也很难排查,但也会有一些共性的表现。 抛出java.lang.ClassNotFoundException:典型异常,主要是依赖中没有该类。导致原因有两方面:第一,的确没有引入该类;第二,由于Jar包冲突,Maven仲裁机 ......
Maven

.Net Core中使用NEST简单操作Elasticsearch

C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elasticsearch.Net相比之下更为原始直接非常自由。 注意:ES的8.X以上的版本有新的包Ela ......
Elasticsearch Core NEST Net

C#后缀表达式解析计算字符串公式

当我们拿到一个字符串比如:20+31*(100+1)的时候用口算就能算出结果为3151,因为这是中缀表达式对于人类的思维很简单,但是对于计算机就比较复杂了。相对的后缀表达式适合计算机进行计算。 我们就从简单到复杂,逐步实现对公式的解析(下述的代码没有经过严格验证,可能会存在极端情况的BUG,作为一种 ......
表达式 后缀 字符串 公式 字符

echarts使用dataset数据集创建单轴散点图

dataset创建单轴散点图 由于使用echarts作图时,我很喜欢用dataset作为数据源,但是官方案例中,又没有给出相关示例,于是,在翻阅官方文档相关案例之后,结合官方文档使用dataset的示例,成功使用dataset绘制单轴散点图! 配置项 //配置项 const option = { t ......
echarts dataset 数据

图解 paxos 论文《The Part-Time Parliament》

本文以图文并茂的方式重新演绎 Paxos 开山之作 《The Part-Time Parliament》[1],并尝试解释原论文中语焉不详的地方。 背景 在 Paxos 小岛上,施行着一种 Parliament(议会) 政治。小岛上执行的所有 decree(法令) 都需要先由 Parliament ......
Parliament Part-Time 论文 paxos Part

推荐一款.Net Core开发的后台管理系统YiShaAdmin

若依(RuoYi)是码云上一款精美的开源快速开发平台,作者毫无保留给个人及企业免费使用。RuoYi目前有三个版本:普通版本(RuoYi)、前后端分离版本(RuoYi-Vue)、微服务版本(RuoYi-Cloud)。.net的小伙伴们估计很羡慕JAVA的生态,现在.net core发展也很快,奈何生态 ......
YiShaAdmin 后台 管理系统 系统 Core

开源免费视频会议Jitsi-meet介绍

Jitsi Meet 是基于WebRTC技术的开源语音、视频会议和即时消息服务 Jitsi 集合的一部分。通过 Jitsi Meet,你可以即刻主持群组视频通话(即视频会议),你甚至都不需要建立帐户。支持在Web端、手机端、桌面端使用。你也可以在你的服务器上部署 Jitsi Meet,对于那些不想使 ......
视频会议 Jitsi-meet 会议 Jitsi 视频

【CTO变形记】有序定无序—为什么越努力,越无力

我们用自己构建的认知结构来理解和映射这个世界,通过外界的反馈来调整现有的认知。但面对的现实越来越复杂,以及面对更多的未知且陌生的情况时,我们常常试图去“修整”接受到的信息以便于适合处理。于是,很多的事情开始变得“不可捉摸”,结果变得不可预知! ......
变形记 CTO

【CTO变形记】高维视角,跳出“农场主与火鸡”

前言:看待人事物的角度决定了我们的思考方向和处理事情的方式。在这些认识人事物的过程中,导致了一些“事故”发生:就好比“以手指月”,原本要看“月亮”,“手指”只是指向“月亮(真相)”的工具,结果很多人开始关注“这个手指是否精巧,好看,是否做了美甲...”,或者“我认为半月好看,新月很萌”,根据自己的喜 ......
高维 农场主 变形记 火鸡 农场

【CTO变形记】整体系统思维-从现象到本质

前言:我们的⼤脑⾥的认知不是⼀块⽩板,⽽是写满着密密麻麻对这个世界形成的各种观念、信念。塞满了对事物的各个表象,我们脑中的表象世界,对应着外部世界的各种事物。 如果感觉本篇看起来有点不适应,可以看看之前的几篇,再回来这边: 【CTO变形记】驱动力的选择 【CTO变形记】有序定无序—为什么越努力,越无 ......
变形记 本质 思维 整体 现象

面向对象进阶第三天

面向对象进阶第三天 内部类 内部类是什么? 类的5大成分(成员变量、成员方法、构造器、代码块、内部类)之一 类中的类 使用场景 当一个事物的内部,还有一个部分需要一个完整的结构进行描述时。 内部类有几种 1、静态内部类 是什么?有static修饰,属于外部类本身。 特点:只是位置在类里面。类有的成分 ......
对象

阿里云物联网平台专用工具详细说明

阿里云物联网平台专用工具基本涵盖了阿里云物联网平台提供你主要管理功能,可以方便创建产品、设备、物模型,查看设备实时属性,事件,发送服务和查看服务日志等等 ......
专用工具 工具 平台

快速傅里叶变换及其实现

第1章 引言 傅里叶变换(Fourier Transform)是由数学家傅里叶提出的一套对函数进行变换的方法,其主要分为连续傅里叶变换(Continuous Fourier Transform,CFT)和离散傅里叶变换(Discrete Fourier Transform,DFT)两种,在本文中,我 ......

concurrent-map 和 sync.Map,我该选择哪个?

concurrent-map 和 sync.Map,我该选择哪个? 官方的map并不是线程安全的,如果我们在多线程中并发对一个map进行读写操作,是会引发panic的。解决方案除了使用锁来对map进行保护外,还有两种方式: 一,开源项目 concurrent-map 提供了可以用来做并发安全的map ......
concurrent-map concurrent sync Map map

浅显直白的Python深拷贝与浅拷贝区别说明

一、可变数据类型与不可变数据类型 在开始说深拷贝与浅拷贝前,我们先来弄清楚,可变对象与不可变对象 总的来说,Python数据类型可分为可变数据类型与不可变数据类型 可变数据类型:在不改变对象所指向的地址的前提下,地址中的值是可以改变的,例如列表[1, 2, 3],我们可以改为[2,3]并不需要变更它 ......
拷贝 Python

Vue3 企业级优雅实战 - 组件库框架 - 12 发布开源组件库

前面使用了 11 篇文章分享基于 vue3 、Monorepo 的组件库工程完整四件套(组件库、文档、example、cli)的开发、构建及组件库的发布。本文属于这 11 篇文章的扩展 —— 如何发布到 GitHub 上以及如何快速利用 GitHub 发布组件库文档。这样优雅哥的《组件库框架》系列便 ......
组件 实战 框架 企业 Vue3

网页js版音频数字信号处理:H5录音+特定频率信号的特征分析和识别提取

音频数字信号处理 Audio DSP (Digital Signal Processing) 是一个复杂又专业的话题,本文介绍的是如何从音频中实时分析和识别出特定频率信号的一种方法,对应的代码为可运行在浏览器中的html5网页版(可移植);可用于识别环境中特定频率的声音、或噪声、乐器弹奏的音调。 在 ......
信号 信号处理 频率 特征 音频

搭个ChatGPT算法模型,离Java程序员有多远?

这一篇文章先给我自己以及大家对 ChatGPT 开个门,让对此感兴趣的编程爱好者可以参与进去学习。在我感觉 ChatGPT 的出现会打破某些平衡,对一些事项进行秩序重置。因此也让更多的人获得了大量的机会。 ......
程序员 算法 模型 ChatGPT 程序

gitlabApi如何获取项目文件夹的commitId

在我们做配置管理系统和gitlab系统集成的时候,有一个常见的场景,就是要获取某个文件的commitId,来记录本次配置文件提交的版本。这个通过gitlabApi很容易实现: GET /projects/:id/repository/files/:file_path?ref=:ref 其中: id: ......
文件夹 gitlabApi commitId 文件 项目

立即执行函数在前端国际化方案中的应用

说起国际化,开发过跨区域网页的小伙伴应该都遇到过。我们的网页需要配置多套语言,方便用户进行切换。 本文就以 React 为例,介绍其中一种实现方案,并学习一下其中的知识点。 一种国际化方案 方案是这样的: 为多套语言创建对应的 object,并 export 出去 通过 js 立即执行函数,加载选定 ......
前端 函数 方案 国际

时间轮TimeWheel工作原理解析

时间轮工作原理解析 一.时间轮介绍 1.时间轮的简单介绍 时间轮(TimeWheel)作为一种高效率的计时器实现方案,在1987年发表的论文Hashed and Hierarchical Timing Wheels中被首次提出。 其被发明的主要目的在于解决当时操作系统的计时器功能实现中,维护一个定时 ......
TimeWheel 原理 时间

设计模式(十)----结构型模式之适配器模式

1、概述 如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机充电器(将220v转 ......

设计模式(十一)----结构型模式之装饰者模式

1、概述 我们先来看一个快餐店的例子。 快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加配菜需要额外加钱,每个配菜的价钱通常不太一样,那么计算总价就会显得比较麻烦。 使用继承的方式存在的问题: 扩展性不好 如果要再加一种配料(火腿肠),我们就会发现需要给FriedRice和F ......
模式 结构型 设计模式 结构

设计模式(十三)----结构型模式之桥接模式

1 概述 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系: 我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。 试想,在一个有多种可能会变化的维度的系统中,用继承方式会造成类爆炸,扩展起来不灵活。每次在一 ......
模式 结构型 设计模式 结构

一文详解 jitpack 多渠道maven库发布

Android应用开发过程中,开发者通常通过 gradle dependencies 导入第三方依赖库,那么当开发者的SDK或中间件被其他项目依赖时,该如何发布自己的maven依赖库呢? 这里推荐一个Github的构建工具 https://jitpack.io/ 。 ......
多渠道 jitpack maven

如何让程序更健壮「GitHub 热点速览」

对于 ML 模型训练而言,好的数据集能让结果更健壮,cleanlab 是一个降低数据噪音,及时帮你修正数据集错误的工具。好的工具能让你的结果更完美。同样的,RedTeam-Tools 提高了渗透测试的能力,也间接地让你的安全系统更牢固。DocsGPT 一看便知它是个 Docs + GPT 的结合体, ......
热点 程序 GitHub

真·生产力「GitHub 热点速览」

这些工具真的能极大提高生产力,节约你的时间来自(摸)我(鱼)增(划)值(水)。先别提 style2paints,你给它随意画个草图,就能给你一个能交付给甲方爸爸的成品插画。如果提升 30%-40% 传输速度的 kcp 不够惊艳,还有想象力匮乏程序员的福音——rerun,直接让你带入计算机视角看待那些 ......
生产力 热点 GitHub 183