- 博客(335)
- 资源 (537)
- 收藏
- 关注
原创 Redis为什么快
纯内存操作Redis利用内存进行数据存储,其操作基于内存读写,由于内存访问速度远超硬盘,使得Redis在处理数据时具有极高的读写速度。特别是对于简单的存取操作,由于线程在内存中执行的时间非常短,主要的时间消耗在于网络I/O,因此Redis在处理大量快速读写请求时表现出卓越的性能。单线程模型Redis采用单线程模型处理客户端请求,这一设计确保了操作的原子性,避免了多线程环境下的上下文切换和锁竞争问题。
2024-03-27 21:17:35 679
原创 前端下载超大文件的完整方案
在分片下载过程中,每个下载的文件块(chunk)都需要在客户端进行缓存或存储,方便实现断点续传功能,同时也方便后续将这些文件块合并成完整的文件。如果一次全部下载可以从process中直接拿到参数计算得出(很精细),如果是分片下载,也是计算已下载的和总大小,只不过已下载的会成片成片的增加(不是很精细)。IndexedDB 数据实际上存储在浏览器的文件系统中,是浏览器的隐私目录之一,不同浏览器可能会有不同的存储位置,普通用户无法直接访问和手动删除这些文件,因为它们受到浏览器的安全限制。
2024-03-26 11:33:03 690
原创 在 .NET 中使用 OPC UA 协议
OPC UA(OPC Unified Architecture,开放平台通信统一架构)是 OPC 基金会应用在自动化技术的机器对机器网络传输协定。OPC UA 不依赖于特定的操作系统或平台,可以在 Windows、Mac、Linux 等多种系统上运行,而传统的 OPC(如 OPC DA)通常只能在 Windows 上使用。该协议提供了一个更为先进、安全和灵活的解决方案,适用于现代工业自动化和物联网环境中的设备间通信。OPC UA 通过一个统一的信息模型。
2024-03-25 22:28:19 1022
原创 ARM 和 龙芯上 Arch Linux 安装手记
后来想起来我用的是OrbStack,打开图形界面,直接按向导安装了一个 Arch Linux,分分钟就装好了。这是一个好的开端,但上述方法安装的 Arch Linux 没有任何网络问题,网络都是自动配置好的,因此,我还需要进一步学习。我用的是苹果电脑,ARM 芯片,所以,希望能安装 ARM 版的 Linux,这样运行速才最快。打开我的UTM虚拟机,我创建了一个新的 ARM 机器,使用上面下载的 ISO 就开始安装了。进入后,如果没有网络,手工执行dhclient,就可以获取 IP 地址了。
2024-03-25 22:25:30 349
原创 AOP原理和切面应用
我们所说的Aop(即面向切面编程),即面向接口,也面向方法,在基于IOC的基础上实现。Aop最大的特点是对指定的方法进行拦截并增强,这种增强的方式不需要业务代码进行调整,无需侵入到业务代码中,使业务与非业务处理逻辑分离。以Spring举例,通过事务的注解配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略。匹配符合条件的方法(Pointcut)对匹配的方法增强(JDK代理、cglib代理)
2024-03-24 22:42:48 270
原创 Bumblebee双目测量基本原理
如果每个相机的自动增益的变化是不一致的,那么图像间的绝对亮度是不一致的,而虽然绝对亮度是不一致的,但亮度的变化却是一个常数。同时从图中可以发现,图像上端到所匹配的特征的距离完全相同,这是因为相机是水平排列的,因此只有水平方向的位移。另一方面,小的模板所产生的图像较为稀疏且会有更多的噪声,但在定位不连续深度的时候会有上佳的表现。在一些情况下,例如封闭的缺乏特征信息的质地,是无法建立图像之间的相关的。所匹配的特征的距离是视差,镜头焦距的长度,CCD的分辨率和基线长度(两相机间的距离)的函数。
2024-03-22 10:36:37 743
原创 游戏幸存者学习VC源码
/ 0表示左 1表示右。// 初始化玩家当前方向。// 初始化随机数种子。// 初始化玩家的位置。// 初始化玩家当前帧。// 武器围绕主角旋转。// 初始化玩家速度。// 初始化一个武器。
2024-03-19 06:54:06 854
原创 西门子TIA中配置Anybus PROFINET IO Slave 模块
在下图示例中,用一个PROFINET IO/Modbus RTU 网关,PROFINET IO Slave配置成8字节I/O数据,Modbus RTU Slave也配置成8字节I/O数据。在项目视图中选择“Add new device”,在添加新设备窗口中选择PLC型号,如:CPU 315-2 PN/DP 6ES7 315-2EH13-0AB0,点击“OK”确认。如果有错误,需先排除后再继续。添加PLC后导轨也自动添加了,此时在软件右侧硬件目录中找到所使用的电源型号,并将其拖到提示的槽位中,如下图所示。
2024-03-16 21:48:34 812
原创 排查 DotNET Core 内存暴涨问题
调查 objBaseResponse 得知,里面手搓了类似于导航属性的玩意儿,而且还有循环依赖,这样一旦走到这个打日志的地方,就会遍历对象的属性,与此同时还会触发从数据库获取数据的操作,也就是会导致入站流量飙升。搜索一番之后,得知这是 Pod 没有足够的权限去执行 Dump 操作,因此修改了 Rollouts(或者 Deplotment) 的 YAML 定义,添加对应的。新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示 OOM 异常,随后 Pod 直接崩溃无限重启。
2024-03-08 19:37:45 875
原创 CYQ.Data 支持 DaMeng 达梦数据库
好几年没写 CYQ.Data 框架的文章了,一直都在低调更新版本和源码,这里就简单引用一下 GTP4 的介绍:CYQ.Data 是一个高性能且功能强大的ORM(对象关系映射)框架,支持包括.NET Core在内的各种.NET版本。它设计用于与多种数据库如MSSQL、MySQL、Oracle、Sybase、PostgreSQL、DB2、FireBird、SQLite、DaMeng、KingBaseES等,以及格式如Txt、Xml、Access、Excel和FoxPro等工作。
2024-03-06 22:55:50 970
原创 IOS使用Unity容器动态加载3D模型
2.打包时,可以选择将打出的ab包内置到项目中,勾选Copy StreamingAssets ,让打出的内容放置在StreamingAssets目录下,这样可以将ab资源内置到Unity项目中。如果要实现上面说的功能则是需要使用Unity的打包功能,将资源打包成AssetBundle资源包,然后把ab包进行上传到后台服务器,然后在APP启动时从服务器动态下载,然后解压到指定的目录中。2.在点击藏品查看模型时,需要根据不同的参数展示不同的模型,并且在页面消失后,自动卸载对应的模型。
2024-03-06 22:52:36 1074
原创 箱式分拣输送线PLC与WCS接口数据交互协议
输送线PLC与WCS之间的数据交互在仓储和物流系统中扮演着至关重要的角色,对系统的效率、稳定性和安全性有着直接的影响。
2024-03-02 08:54:01 376
原创 施耐德M340和M200 Modbus 通讯实现
上图表示的是对ID为1即地址为10.10.136.12的server的读操作。具体是将此server的MW7000开始的100个字读入到client的MW7600开始的数据区内。从设置和程序结构上来说,M200的TCP通讯和RTU串口通讯基本一致,因为多从站的CPU负荷情况以及延时记录丢失,所以你先参考一下这些。IP address是各个M200的地址,通过这个配置,可以将各server的指定数据区映射到M340的内部数据区。这样即可实现对M200的内部数据区%MW6300开始的50个字的读写。
2024-02-28 11:25:32 412
原创 ASP.NET Core WebAPI格式化程序
我们在使用时它支持使用指定的输入和输出格式来交换数据。输入数据靠模型绑定的机制处理,输出数据则需要用格式化的方式进行处理。框架已经内置了处理JSON和XML的输入和输出方式,默认的情况我们提交JSON格式的内容,它可以自行进行模型绑定,也可以把对象类型的返回值输出成JSON格式,这都归功于内置的JSON格式化程序。本篇文章我们将通过自定义一个YAML格式的转换器开始,逐步了解它到底是如何工作的。以及通过自带的JSON格式化输入输出源码,加深对Formatter程序的了解。要想先了解Formatter。
2024-02-27 11:30:01 1201
原创 Redis分布式锁正确使用
分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。举一个最简单的例子。有一个数据库字段status=0,表示初始状态。只有在status=0初始状态。才能修改这个值。现在有两个人,张三和李四。张三,发起请求将status=0 修改为 status=1李四,发起请求将status=0 修改为 status=2。
2024-02-25 12:48:14 859
原创 设备改造经历干扰处理
因为老是smart工作不正常,因24V电源前面是用了一个二级滤波器,就先测量了一下24V电源,发现电源的杂波较多,看了一下,24V电源输出侧的接地线没接,用万用表测量24V电源的接地,发现与外壳连接很好,原来电源的底座是金属的,与导轨用了螺丝连接,给它做了一下接地,不出意料,波形依然没有改善。从原来的位置挪到新的位置去,新位置在控制端子上部,基本没有其他主回路的部件,线路也重新理顺了一下,顺便把之前的旧开关电源更换了一下,因为之前的开关电源是某品牌的,里面的结构非常简单,EMC电路做得不是很到位。
2024-02-21 21:08:03 374
原创 立体库 VE NoReference 故障处理方法
在程序中如 DB544 所示,程序执行时,会根据不同的车型在 DB 块中找到 对应位置发送至变频器,此时 VE 会根据不同的位置停止。需要注意以下几点: 1、Lenze 软件有时候打开的时候不能进行连接,此时需要看软件设定的连接路径是否正常,如下图: 选择路径。1:415850、位置 2:810000、位置 3:1950000 位置 4:2130000、位置 5:2650000,但是特殊情况下,绝对值编码器会出现零点丢失情况,此时需要重新标 定对应设备零点。当出现零点丢失时,可根据不同的将相对应的值标定。
2024-01-30 15:13:51 389
原创 伦茨LENZE 8400HLC调试步骤
15:参数下载到变频器,注意的是。在调试过程中,先另外备份参数,在修改FB功能块时,有时即使没有保存参数到变频器,但变频器系统也会自动存入,这和当初讲的只要不保存到变频器,断电后会恢复前次保存的内容有所区别,调试过程中,自己也可尝试一下保存功能。17:从监控画面中可直接观察相关运行数据,观察是否和设定一致,下图为归零运行中的情况,选择曲线1(DI4),运行执行(DI7)、使能(PFR)均已经给定(从灯变绿可以看出),当系统碰到归零检测则会停止,并清零。8.电机、减速机的设定、选择。
2024-01-30 08:29:14 916
原创 仓库管理系统WMS设计思路
总而言之,仓库管理系统在库存资源管理、库存定义管理、库存调度管理、库存分派管理、库存执行管理、库存数据跟踪、库存数据收集和库存绩效分析等方面发挥着重要作用。制造企业仓库管理系统的职能范围一般包括:入库管理、出库管理、库存管理、订单管理、物流管理等。通过仓库模型,可以实现对仓库的基本管理,如仓库的新增、删除、修改和查询等。综上所述,仓库管理系统WMC的功能范围涵盖了入库管理、出库管理、库存管理、订单管理和物流管理等多个方面。通过订单模型,可以实现对订单的管理,包括订单的创建、审核、发货和查询等。
2024-01-30 08:04:39 926
原创 升降机SEW MOVIDRIVE变频器设置
选择PO1 第2,3,9,13 位,点击“SendPA”Start reference,编码器反馈值为0(PI2/3 Actual position=0)提示:传送参考位置前请断开变频器安全24V电源,否则会弹出禁止修改提示框;提示:做这一步时,如果出现电机不能转动,或产生报警不能通过编码器匹配。下载配置的参数,提示:下载参数需要断开变频器的安全24V电源。编码器匹配通过后点击下一步,进入下图画面传送参考位置。1电机不能转动:a可能是由于变频器的安全24V未给。点击2.SEW总线扩展定位,定位块设置。
2024-01-29 10:33:37 863
原创 Ubuntu系统中部署C++环境与Visual Studio Code软件
本文介绍在操作系统下,配置软件与代码开发环境的方法。在文章中,我们介绍了操作系统的下载、安装方法;本文则基于前述基础,继续介绍在操作系统中配置软件与开发环境的详细方法。需要注意的是,本文所用的版本为版本,其他版本的配置方法可能具体有一些小差异,但整体流程都是近似的。在操作系统中配置代码开发环境,最复杂的一点就在于其不能安装这种集成好的软件,而是需要分别配置等软件、等模块,同时对很多进行修改后才可以开始代码的开发工作;那么本文就以这一编程语言为例,来对上述这一复杂的过程进行介绍。目录。
2024-01-27 15:53:51 1139
原创 SEW MOVIFIT变频一体机配置
24V_C 为MOVIFIT® 的电子控制部件和连接在传感器电源输出端VO24_I、 VO24_II 和VO24_III 上的传感器供电。24V_P 可根据应用的不同由24V_C 或24V_S(通过到X29 的跳线)或由外部进行供电。• 如使用带制动器的SEW电机,可以在不采取其他措施的情况下(不使用制动整流块)将制动器和MOVIFIT® 内专用于SEW 制动器的端子连接。1 断开MOVIFIT®-FC 的供电电源后,由于充电电容的存在,严禁立即触摸导电的设备部件和电源接头。
2024-01-27 07:11:41 923
原创 WebAssembly与JavaScript交互
目前主流的浏览器均提供了对WebAssembly的支持,虽然WebAssembly的执行性能(它能够提供near-native的执行性能)是JavaScript无法比拟的,但是在表达能力和灵活性还是不如JavaScript,所以WebAssembly的出现并不是要取代JavaScript,而是作为JavaScript的“助手”,两者配合,各自发挥自身的优势,进而开发出更高质量的Web应用。与其说WebAssembly像汇编,不如说它更像MSIL,因为它不是面向开发者的高级语言,而是高级语言的“编译目标”。
2024-01-26 09:17:21 1195
原创 方法重载与方法重写差别
类实现接口或者子类继承父类时,保持方法签名相同,用不同的方法体来实现不同的功能,这也是Java三大特性之一多态的具体实现,是垂直方向的“类间行为”。在同一个类或者父类与子类之间,保持方法名称相同,参数类型,参数数量,参数顺序不同的一种实现,是水平方向上的“类内行为”,同一个类中,或者父子类中。
2024-01-26 09:13:59 829
原创 立体仓库系统堆垛机电气设计原理
立体仓库系统中堆垛机的电气原理设计涉及到许多方面,包括控制系统、传感器、电机驱动等。以下是一个简要的电气原理设计的概述,具体设计可能根据实际情况而有所不同。设计一个可靠的控制系统,通常采用 PLC(可编程逻辑控制器)或者微控制器。该系统应能够处理输入信号,控制电机、执行器和其他关键组件,确保堆垛机的稳定运行。选择合适的传感器用于检测货物、位置、距离等信息。这可能包括光电传感器、超声波传感器、编码器等。合理布局这些传感器以确保准确的信息获取。设计电机驱动系统,通常采用交流或直流电机。
2024-01-20 19:39:43 545
原创 Spring AOP 技术实现原理
Spring AOP的实现基于代理模式,通过代理对象来包装目标对象,实现切面逻辑的注入。通过本文,我们深入了解了Spring AOP是如何基于JDK动态代理和CGLIB代理技术实现的。通过详细的示例演示,希望读者能更清晰地理解Spring AOP的底层原理,并在实际项目中灵活应用这一强大的技术。
2024-01-20 17:26:06 445
原创 变频器G120C A7994报警
原本变频器使用正常,有次在点击变频器参数表查看后,可能无意按到什么参数,然后启动不了变频器。后发现报警A7994,查看参数P1900=0,断电重启还是报警。是不是需要做静态识别?如何操作才能把报警解除并且不经过什么复杂操作能恢复原来那样运行。未执行电机数据监测,变频器参数需要静态诊定,或者还可以屏蔽,设置P2118=7994、P2119=3,重启变频器即可。配置好的电机,手动上使能,识别一下就好了。开始参数设置的时候选择专家级,P96=0。
2024-01-19 11:33:28 513
原创 常见LeetCode排序算法
排序算法是一种通过特定的算法因式将一组或多组数据按照既定模式进行重新排序的方法。通过排序,我们可以得到一个新的序列,该序列遵循一定的规则并展现出一定的规律。经过排序处理后的数据可以更方便地进行筛选和计算,从而大大提高了计算效率。因此,掌握排序算法是每个程序员的基本功之一。今天我们将详细讲解一些与冒泡排序、快速排序和插入排序相关的leetcode真题。
2024-01-19 11:13:55 970
原创 Ubuntu上使用Snap安装Docker
安装完成后,可以运行以下命令来验证 SNAP 是否正确安装3 安装 Docker 在终端中,运行以下命令以使用 SNAP 安装 Docker 安装完成后,您可以运行以下命令来验证 Docker 是否正确安装4 管理 Docker 启动 Docker 服务 停止 Docker 服务 重启 Docker 服务 查看 Docker 服务状态5 更新 Docker 打开终端 运行以下命令 完
2024-01-12 15:00:15 618
原创 Python Lambda 用法大全
Lambda表达式可以作为参数传递给key,定义更复杂的列表排序规则。map函数和Lambda表达式常常一起使用,可以对序列中的每个元素应用Lambda表达式,并返回结果序列。filter函数接收一个Lambda表达式和一个序列,它会返回序列中所有偶数组成的新序列。filter函数和Lambda表达式组合使用可以实现对序列中符合特定条件的元素进行筛选。reduce函数可以对序列中的元素依次累加,Lambda表达式可以定义累加过程。Lambda表达式可以作为函数的返回值,用于构造更为复杂的计算过程。
2024-01-12 14:58:10 380
原创 Python常用配置文件读取方法
常见的应用配置方式有环境变量和配置文件,对于微服务应用,还会从配置中心加载配置,比如nacos、etcd等,有的应用还会把部分配置写在数据库中。此处主要记录从环境变量、.env文件、.ini文件、.yaml文件、.toml文件、.json文件读取配置。
2024-01-10 12:34:55 448
原创 WCF几种寄宿方式IIS、Winform、控制台、Windows服务
WCF寄宿方式是一种非常灵活的操作,可以在IIS服务、Windows服务、Winform程序、控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便、高效提供服务调用。本文分别对这几种方式进行详细介绍并开发例子进行说明,以求大家对WCF寄宿的方式进行全面的认识和了解。
2024-01-09 14:26:01 914
原创 WCF REST消息格式(JSON/XML)选择
所谓消息格式的自动选择,就是服务根据请求消息来选择一种适合的格式进行消息的序列化。在默认的情况下,这种自动选择机制是关闭的,我们需要通过WebHttpBehavior的AutomaticFormatSelectionEnabled属性开启该机制。WCF 4.0为REST服务提供了帮助页面功能,我们可以通过浏览器访问服务帮助页面的地址得到所有操作的基本信息。但是这个功能在默认的情况下是关闭的,我们需要通过应用在终结点上的WebHttpBehavior行为的HelpEnabled属性开启该功能。
2024-01-09 14:11:27 792
原创 SQLServer清空数据库日志
ALTER DATABASE [数据库名称] SET RECOVERY FULL --还原为完全模式。ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE --简单模式。--exec sp_dboption [数据库名称] ,'autoshrink','true'-------SQl2008以上 清空日志---------------SQl2005 清空日志---------------SQl2000 清空日志----------确保数据库设置为自动收缩。
2024-01-08 17:26:56 558
原创 DevExpress历史安装文件包集合
自带多种风格切换,使用自带的。此安装程序包括所有 .NET Framework、.NET Core 3 和 .NET 5、ASP.NET Core 和 HTML/JavaScript 组件和库(Web和桌面应用程序开发只需要安装此文件即可)。如果在安装统一组件安装包时报错请查看系统中是否已经安装以上所述的这两个组件,如果有,请分别卸载后重新安装统一组件安装包。注意:自DevExpress21.1版本之后,如果已经安装了上面的“统一组件安装包” 则无需再安装此程序。可快速实现风格定制。
2024-01-08 15:39:06 2106
原创 Python处理音频文件两个非常重要库
pyaudio和都是用于Python中音频处理和流的库,允许用户通过他们的API录制、播放和处理音频数据。
2024-01-07 12:37:57 487
原创 Python数据可视化交互式HvPlot库
HvPlot 是基于 HoloViews 的高层抽象绘图库,但它提供了更为直接和方便的API,使得创建复杂的交互式图表变得简单快捷。HvPlot 可以与 Pandas、xarray 等数据处理库无缝集成,并且支持 Bokeh、Matplotlib 等多种绘图后端,允许用户根据需要制作静态或交互式图表。
2024-01-07 12:32:53 696
原创 大事务提交优化
经常性的报死锁异常,经常性的主从延迟......通过报错信息按图索骥,发现代码是这样的。这是一段商品发布的逻辑,我们可以看到参数校验、查询、最终的insert以及update全部揉在一个事务中。遇到批量发布商品的时候就经常出现问题了,数据库主从延迟是肯定少不了的。
2024-01-06 20:29:37 822
SOPAS-Engineering-Tool-64-Bit-Portable SICK 扫码器配置工具含驱动
2024-03-26
SOPAS-Engineering-Tool-64-Bit-Portable-Version SICK 620 610 调试配置
2024-03-26
在ET200S机架中配置多个1SICANOpen模块
2024-03-23
Anybus X-gateway系列网关OPC应用指南
2024-03-23
点胶机STM32项目源程序
2024-03-23
STM400V驱动器 Y轴频率
2024-03-23
速度环-脉冲-多机通信
2024-03-23
三维重建平台项目资料SDK
2024-03-22
通用图像采集处理系统说明
2024-03-22
LXM32-M-Fremdmotor-CMP SEW 电机 SoMove Lite
2024-03-22
施耐德LXM32-M-Fremdmotor-CMP mit Hiperface SEW CMP Hermann Kuderer
2024-03-22
DataLogic得利捷扫码器-DL.CODE使用说明 Matrix 120 Matrix 210N Matrix 300N
2024-03-20
得利捷DataLogic M-Series IO Wiring Training
2024-03-20
DL Wedge Emulation Utility v2.01 RS232虚拟键盘口输入
2024-03-20
得利捷 IMPACT IMPACTVisionDeviceSetup-x64 IMPACTOPCServerSetup
2024-03-20
Datalogic 得利捷Impact Lite - StringBuilder TCPIP Tutorial 通信条码信息发送
2024-03-20
DataLogic 视觉P-series Getting Started Tutorial
2024-03-20
DataLogic Impact 视觉 P-Series Hardware Setup Tutorial
2024-03-20
泄压阀生产线项目V18 博图项目 HMI
2024-03-17
锂电MCP锂电四工位电极PLC控制系统
2024-03-17
得利捷Datalogic Genius Rel. 1.14 (CD Rel. 2.25) Full Version
2024-03-16
得利捷 Datalogic Matrix 450N BCR04扫码器backup-singledevice实现项目备份
2024-03-16
Datalogic MATRIX 410N dl.code minidvd 1.8.1-full version 配置软件
2024-03-14
C#项目源码 变速箱在线加载试验台 #试验台#OPC通信
2024-03-09
C#项目源码+变速箱空载换档试验+试验控制+广汽空载试验台
2024-03-09
变速器壳深测量及垫片选择C#项目源码 OPC
2024-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人