- 博客(157)
- 收藏
- 关注
原创 C#异步编程是怎么回事
理论上,C#中的异步/等待(async/await)语法并不是直接编译成协程的,而是由编译器生成状态机(state machine)来管理异步操作。站在代码编写者的角度,不特意去看线程的话,就不会注意到异步方法的上下文从一个线程跑到另一个线程上去了。代码阻塞时,线程不一定阻塞,原线程没有阻塞,去执行别的代码了,而由新线程接手当前上下文和调用栈阻塞在这里,比如这里的。是没有返回值的,假如我们需要一个返回值呢,比如一个bool,用于判断接下来的执行流程。既然有两个线程的联动,其中就出现了一些熟悉的东西。
2024-06-09 07:44:46
1184
原创 python判断一组数趋势
阈值,又称临界值,是指一个效应能够产生的最低值或最高值。在多个领域如建筑学、生物学、电信、图像处理等中都有应用。(2)
2024-06-09 07:43:02
518
原创 Linux上OcenBase单机版部署及基本信息查询
下载“OceanBase All in One”离线安装包下载官方地址:https://www.oceanbase.com/softwarecenter?OceanBase单机版部署可以通过在线和离线两种方式部署。在线部署可以通过yum源或者apt源部署,直接拉取官方源码即可。实际使用中,大部分环境连不了外网,本文介绍离线方式安装。4. 查询数据库版本、字符集等基本信息。2. 一键部署并添加到系统环境变量。#通过2881端口直连数据库。#通过ODP代理访问数据库。
2024-05-04 21:53:27
437
原创 vCLS 和 FSVM代理虚拟机的默认用户名和密码。
默认情况下,当集群内主机大于等于三台时,vCLS 虚拟机为三个,若集群内主机数小于三台时,vCLS 虚拟机等于主机的数量。默认情况下,配置vSAN文件服务的时候,会在每台主机上都放置一个FSVM代理虚拟机。获取PWD后面的密码后,登录虚拟机WEB控制台,查看vCLS 代理虚拟机的系统版本。,默认密码可以通过登录vCenter Shell,使用下面命令进行查看。登录虚拟机WEB控制台,查看FSVM 代理虚拟机的系统版本。vCLS 代理虚拟机的默认用户名是。FSVM 代理虚拟机的默认用户名是。
2024-05-04 21:50:48
548
1
原创 MySQL全面瓦解备份与恢复
恢复非常简单可以通过网络来备份和恢复备份的结果为ASCII文件,可以编辑与存储引擎无关非常灵活,可以使用mysqldump的工具提供很多可选项。必须由数据库服务器来完成备份和恢复过程备份结果占据更多的空间:逻辑备份在某些场景下比数据库文件本身还要大精度问题,无法保证还原出来的数据强一致还原时间长:还原之后,加载注释语句,转换存储格式,重建索引都需要消耗一定时间使用方式实现数据的备份和还原# 选择对应的数据库# 查询需要备份的数据。
2024-03-24 22:35:41
1029
原创 超高并发下Redis热点数据风险破解
作者是互联网一线研发负责人,所在业务也是业内核心流量来源,经常参与业务预定、积分竞拍、商品秒杀等工作。近期参与多场新员工的面试工作,经常就『超高并发场景下热点数据』可用性保障与候选人进行讨论。本文聚焦一些关键点技术进行讨论,并总结一些热点场景的处理经验。
2024-03-24 22:32:27
866
原创 如何判断Anybus网关子网侧是否存在内部故障
引脚短接,这样网关发送的数据就能自动接收回来。此时,两个字节所在位置的值都依次加1。了,而接收字节所在位置的值没有任何变化,因为网关子网侧没有接任何设备,所以网关只能向外发送数据,而不能接收数据。,使能发送和接收计数的功能,当网关进行一次正确的收发数据,对应的字节计数就加。短接插头只能让网关发送的数据原封不动的再被网关接收回去,而网关本身除了。以外没有其他形式的数据,所以节点监视器中才会出现数据为。,此时发送字节所在位置的值已经在依次加。的值,以确定计数字节所占的位置。字节所在的位置,如图所示。
2024-03-18 13:34:30
394
原创 Qt开发QHostInfo主机地址查询组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用。这些函数提供了对主机信息的查询、获取和处理的操作。需要注意,很多函数都是通过异步查询的方式获取主机信息的,因此在使用时需要通过信号-槽机制来获取查询结果。则可以实现查询特定主机的地址信息,该函数需要传入一个回调,如下所示我们在回调函数内查询主机所有的IP地址并输出,其实现原理与上述方法相同。
2024-03-09 11:06:25
398
原创 Asp .Net Core 集成 Newtonsoft.Json
Newtonsoft.Json是一个在.NET环境下开源的JSON格式序列化和反序列化的类库。它可以将.NET对象转换为JSON格式的字符串,也可以将JSON格式的字符串转换为.NET对象。这个类库在.NET开发中被广泛使用,因为它功能强大、易于使用,并且有良好的性能。序列化:将.NET对象转换为JSON字符串。这通常用于将数据发送到Web服务或保存到文件。反序列化:将JSON字符串转换为.NET对象。这通常用于从Web服务接收数据或从文件中读取数据。
2024-03-06 22:46:19
1278
原创 Nodejs运行vue项目时,报错:Error: error:0308010C:digital envelope routines::unsupported
找到 package.json 文件右键,在集成终端中打开,直接输入 set NODE_OPTIONS=--openssl-legacy-provider 回车,然后 npm run serve 重新运行项目即可。经过探索,发现问题所在,主要是nodeJs V17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,导致了nodeJs V17之前版本不受影刺而nodeJs V17和之后的版本会出现这个错误。系统安装的nodeJs版本正好是V18,因此出现了这个错误系统。// linux系统。
2024-03-03 21:01:05
591
原创 Linux服务器文件实时同步
通过软件或者协议实现实时同步,以上两种方法各有优劣.采用NFS网络共享协议,必须指定一个网络主节点.采用inotify+unison方式,有点分布式的感觉,无需指定主节点,但同步效果方面和稳定性方面会差一些文件监听同步软件inotify和unison安装需要编译环境,安装时比较麻烦.我这里提供了rpm安装包以及对应依赖包(安装命令。
2024-03-02 09:45:00
449
原创 Redis如何保证高可用
Redis 高可用(High Availability,HA)是指 Redis 通过一系列技术手段确保在面临故障的情况下也能持续提供服务的能力。但持久化和多机部署又有很多种实现方式,接下来一起来看。
2024-02-28 11:44:00
532
原创 所不知道的端口耗尽
端口耗尽(Port Exhaustion)是指当系统中可用的TCP/IP端口号被全部占用,而无法建立新的网络连接时产生的一种情况。例如,在进行大量的网络连接,如客户端与服务器之间频繁地建立和断开连接时,可能会发生端口耗尽。如果客户端在短时间内打开了大量的短暂连接,并且由于TCP协议的TIME_WAIT状态,这些端口不能立即被重用,就可能出现端口耗尽的现象。此时,新的出站连接可能会失败,因为找不到可用的源端口号。在TCP/IP网络中,TIME_WAIT状态是TCP连接结束过程的一部分。
2024-02-28 11:42:36
844
原创 巧用示波器快速判断6SE70装置报F026故障点
AC 端),与客 户描述的故障现象相符,继续进行弱电检测发现正常,更换手边的出线端子后强电测试带电机运行均正常。电话联系客户表示:“目前只检测到端子烧糊,无其他故障” 客户也没说有其他故障,5.继续加载测试,对拖加载加到了大概60 多A 进行trace 发现波形正常,但是仍旧无报警,此时 已接近其额定功率,咱们除了电抗器也无法再加大负载的办法,也找到了故障点就给客户发走了。2.怀疑是传感器损坏,但是也是先换了个CUVC 进行测试,发现U 相波形仍旧异常(波形翻转 了?发现波形对调,确定是传感器损坏。
2024-02-21 21:24:32
455
原创 spring声明式事务(@Transactional)开发常犯的几个错误及解决办法
目前JAVA的微服务项目基本都是SSM结构(即:springCloud +springMVC+Mybatis),而其中Mybatis事务的管理也是交由spring来管理,大部份都是使用声明式事务(@Transactional)来进行事务一致性的管理,然后在实际日常开发过程中,发现很多开发同学都用错了spring声明式事务(@Transactional)或者说使用非常不规范,导致出现各种事务问题。
2024-02-04 08:39:55
907
原创 RocketMQ发送同步、异步、单向、延迟、批量、顺序、批量消息、带标签消息
如果我们有衣服订单的消息、手机订单的消息,如果我们只使用topic进行区分,就要使用两个topic;比如下订单业务,提交了一个订单就可以发送一个延时消息,30min后去检查这个订单的状态,如果还是未付款就取消订单释放库存。这种方式主要用在不关心发送结果的场景,这种方式吞吐量很大,但是存在消息丢失的风险,例如日志信息的发送。可以想象一个场景,我们在网上购物时,需要先完成下订单操作,然后再去发短信,再进行发货,需要保证顺序的。如果是顺序模式,如果重试失败,会无限重试,是int的最大值。
2024-02-04 08:37:58
927
原创 SpringBoot统一结果返回、异常处理
当实现统一结果返回时,需要创建一个通用的响应对象,定义成功和失败的返回情况,并确保在接口中使用这个通用返回对象。@Setter@Getter/*** 接口响应状态码*//*** 接口响应信息*//*** 接口响应的数据*/统一结果返回的关键之一是规定一套通用的状态码。这有助于客户端更容易地理解和处理 API 的响应,同时也为开发者提供了一致的标准。200 OK:表示成功处理请求。:表示成功创建资源。:表示成功处理请求,但没有返回任何内容。:客户端请求错误。
2024-01-30 09:43:39
1055
原创 离线生成双语字幕基于AI大模型ModelScope
制作双语字幕的方案网上有很多,林林总总,不一而足。制作双语字幕的原理也极其简单,无非就是人声背景音分离、语音转文字、文字翻译,最后就是字幕文件的合并,但美中不足之处这些环节中需要接口api的参与,比如翻译字幕,那么有没有一种彻底离线的解决方案?让普通人也能一键制作双语字幕,成就一个人的字幕组?
2024-01-29 12:50:20
754
原创 Spring WebSocket实现实时通信
WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。我们常用的HTTP是客户端通过「请求-响应」的方式与服务器建立通信的,必须是客户端主动触发的行为,服务端只是做好接口被动等待请求。而在某些场景下的动作,是需要服务端主动触发的,比如向客户端发送消息、实时通讯、远程控制等。
2024-01-29 12:48:10
1100
原创 Doris为什么国内大厂都会使用它
Apache Doris源于百度2008年启动的产品Palo在2018年捐献给Apache基金会,是一个基于 MPP 架构的高性能、实时的分析型数据库,他非常简单易用,而且性能还不错,仅需亚秒级响应时间即可获得查询结果,不仅支持高并发的查询场景,也可以支持高吞吐的复杂分析场景,比如你可以基于它做用户行为分析、日志检索平台、用户画像分析、订单分析等应用。Doris的架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。
2024-01-24 10:00:42
894
原创 SpringBoot3集成Zookeeper
ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步、提供组服务。分布式应用程序以某种形式使用所有这些类型的服务。
2024-01-24 09:54:13
1316
原创 Zookeeper源码分析ZooKeeperServer
/ 通过zkDb从dataTree中删除Watcher监听器// 创建zkDb(为null时)并loadData加载数据// 加载数据、清理session、生成快照// 保存zkDb当前快照// 从指定的输入流解析数据,生成新的zkDb和SessionTrack// 使用zkDb.truncateLog(zxid)删除快照数据// 通过zkDb获取dataTree.lastProcessedZxid的值// 提交closeSession类型的Request来关闭会话。
2024-01-22 14:08:47
531
原创 数学建模竞赛实战-Latex公式、表格、图文排版
公式排版Latex公式排版 行内公式:使用$$包围:整行公式:使用$$$$包围:公式编号:使用$$不能自动编号:公式编号使用equation表格排版。
2024-01-22 14:05:20
492
原创 .NET MES桌面程序卡死分析
这次程序卡死还是挺有意思的,表象是主线程被GC卡住,实则是大SQL导致虚拟地址不足,分享出来让大家少踩坑吧!
2024-01-21 11:13:18
634
1
原创 String、StringBuilder、StringBuffer三者区别
StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在 AbstractStringBuilder 中也是使用字符数组保存字符串,不过没有使用 final 和 private 关键字修饰,所以可以解决在字符串拼接时的性能问题,最关键的是这个 AbstractStringBuilder 类还提供了很多修改字符串的方法,比如 append 方法。:“String类设置为不可变对象的话,岂不是每次创建或者字符串拼接的时候都会创建对象,增加开销?
2024-01-21 10:37:57
372
原创 Threejs实现立体3D园区解决方案及代码
-- 优点:(1). 有了路口后,可以解决车辆在路口移动时实时计算和其他路口的位置关系,可能会导致路口转弯混乱,通过在路口中心点生成一个外接圆,如果进入路口,则锁死移动方向,如果移出路口则解除锁定。--- 添加停车场,车辆只需要和停车场的位置计算即可,不需要和每个停车位计算位置,减少冗余计算,而且车辆如果和单个停车位计算位置,可能存在从停车位A使出,途径相邻的停车位B,又会进入。1)创建一个道路类Road.js,道路点信息传入的是图中红色点信息(图中菱形点),需要标记出从哪个点开始道路非直线,
2024-01-20 08:14:43
3375
1
原创 代码里下毒了,支付下单居然没加幂等
比较专业的术语:其任意多次执行所产生的影响均与第一次执行的影响相同。大白话:多次调用的情况下,接口最终得到的结果是一致的。
2024-01-20 08:05:50
851
原创 k8s探针详解
现象:就绪探针和存活探针分别等待各自的initialDelaySeconds后开始探测,就绪探针探测成功pod进入就绪状态即endpoints中加入pod的地址即可接收流量,探测失败failureThreshold后将从endpoints中去掉pod的地址即停止接收流量。启动探针在Kubernetes 1.16版本以后引入,其配置参数与存活探针和就绪探针基本相同,但主要作用是在容器启动阶段确定应用程序是否已经准备就绪,一旦启动探针确认应用程序启动成功,就会停止执行并切换到其他探针继续进行监控。
2024-01-19 10:08:59
809
原创 分布式事务最终一致性方案之可靠消息
4.同一事务中,先操作库,再发送消息。但是如果事务执行成功,消息发送成功,由于网络原因,导致发送消息相应超时,抛出异常回滚了事务,这个时候消息可能已经被事务参与方消费了,并执行了业务。这里涉及到消息发送与确认机制,消息发送的不可靠性,如何保证消息发送的一致性。1.消息表耦合在业务库中,需要额外的处理发送消息的操作,不利于消息的扩展,同事如果消息表堆积了大量消息数据,会对业务操作产生一定的性能影响。事务发起方执行本地事务成功后发出一条消息,事务参与方也就是消息的消费者,接收到消息并执行成功本地事务。
2024-01-19 10:05:35
1025
原创 MySQL日期函数用法
MySQL提供了丰富的日期和时间函数,用于处理和操作日期时间数据。本篇博文将深入介绍一些常用的MySQL日期函数,通过详细的例子带你了解这些函数的用法和实际应用。
2024-01-18 20:36:44
621
原创 探索MySQL隔离级别
数据库事务的隔离级别是一个重要的概念,它定义了一个事务可能受其他并发事务影响的程度。MySQL提供了四种标准的隔离级别,每个级别都以不同的方式平衡了一致性和性能。这是最低的隔离级别,允许一个事务可以看到其他事务未提交的更改。这种级别很少使用,因为它可能导致脏读、幻读和不可重复读。在这个级别下,保证在同一个事务内的查询都会看到一致的快照。这避免了脏读和不可重复读,但仍然可能出现幻读。它避免了脏读,但仍然可能出现不可重复读。这是最严格的隔离级别。它通过强制事务顺序执行,防止了脏读、不可重复读和幻读。
2024-01-18 20:30:24
396
原创 实现秒杀功能设计
获取注解信息,进行限制拦截器在参数解析器前执行,都需要在WebMvcConfigurer中注册ThreadLocal,存放数据到当前线程,每个线程单独一份。
2024-01-11 13:06:54
1226
原创 超市账单管理系统产品数据新增Servlet实现
req.setAttribute("message", "alert('修改成功!req.setAttribute("message", "alert('修改失败!req.setAttribute("message", "alert('添加成功!req.setAttribute("message", "alert('编号不能为空!req.setAttribute("message", "alert('名称不能为空!
2024-01-11 13:00:50
522
原创 MySql海量数据存储与优化
uodo log的本质是逻辑日志,是记录的一个相反的过程,例如:如果执行的是一个delete操作,则在undo log中记录一条insert操作,执行的是一个insert操作,则在undo log日志中记录一条delete操作,如果是执行的一个update 操作,则在undo log中记录一条相反的update记录。支持并发的处理事务,如果两个事务处理中涉及到同一块的数据时,则会触发排他锁,或者叫互斥锁,先进入的事务会独占资源,其他的事务进入等到的一个状态,等它处理完后释放锁,另一个事务才会进入。
2024-01-07 16:11:19
1675
原创 pip install -r requirements library “npymath“ error: Microsoft Visual C++ 14.0 is required.
偶尔会遇到无法安装或者出错的情形,解决方法如下。
2024-01-06 00:51:25
494
原创 Python多线程
在执行真正的任务前,我们可以通过一小部分任务来进行性能测试,逐步调整线程池的线程数量,然后观察服务器的内存啊,CPU 利用率啊,以及整个操作的消耗时间等,来综合判断出比较适合的线程数量作为最终的结果。守护线程是一种特殊类型的线程,生命周期受到主线程的影响,也就是说当主线程结束时,守护线程会被强制终止,它不会阻止主线程的正常执行,主线程也不会像其他线程调用了。比如需要判断我们的任务是否是 IO 密集型的,比如网络请求等,这种的话可以设置相对较高,但也并非无限高,因为等待的过程中,线程间的切换也是一部分开销。
2024-01-04 19:48:05
1017
原创 Mysql和Redis数据一致性问题
前三种方案都是不推荐使用的。对于推荐使用的方案,从实时性和技术复杂度来说,先写数据库再删除缓存是比较好的选择。如果要确保最终一致性的话,可以用binlog异步更新缓存的方案。
2024-01-04 19:47:49
719
研究生考试 现代通信.doc
2024-06-09
软件测试 软件测试的基本概念 集成测试
2024-05-05
springboot课件 Spring的Java配置方式
2024-05-05
Redis开发笔记.doc
2024-05-05
Deep Learning 深度学习.doc
2024-05-05
数据库设计优化完善版本
2024-05-05
数据分析 结果分析项目实例
2024-05-04
机器学习机器学习在R中的应用
2024-03-28
NLP自然语言处理大作业实验报告
2024-03-28
iOS 代码规范文档版本1.1
2024-03-28
西门子 雷达 SITRANS LR250 QuickStartManual HART-中文
2024-03-27
Anybus BACnet to Modbus gateway - Standard slides.pptx
2024-03-23
Anybus M-Bus to Modbus-TCP Gateway - Standard slides.pptx
2024-03-23
Sales update IXXAT SG gateway march 2017.pptx
2024-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人