经验分享
文章平均质量分 50
氷凌公子
曾就读于长沙理工大学,致力于算法的实现。
爱好广泛,喜爱向大家分享和学习经验,以便共同促进你我实践能力,一起用编程打造更美好的世界!
展开
-
华容道求解可视化工具
不少宝妈反馈说看不懂程序,希望出一个可视化的求解工具,今天,他来了。由于是面向非编程人员的项目,这里就不多赘述了,有问题请留言。原创 2023-12-03 17:24:07 · 1093 阅读 · 0 评论 -
Asp.Net Core Web Api内存泄漏问题
使用Asp.Net Core Web Api框架开发网站中使用到了tcp socket通信,网站作为服务端开始tcp server,其他的客户端不断高速给它传输信息时,tcp server中读取信息每次申请的byte[]没有得到及时的释放,导致内存浪费越来越多,最终内存溢出,系统崩溃。而使用Asp.Net Core Web Api框架搭建的项目中跑这个服务端代码,则是这样的,很少引发GC,没有及时回收buffer数组的无效内存空间。,则正常引发GC,每次申请的buffer数组都得到及时的释放。原创 2023-12-01 15:57:58 · 1266 阅读 · 0 评论 -
Visual Studio 2022分析C#程序内存泄漏
不难看出,这是一个故意写成内存泄漏的例子,其中创建一个字典dict,键为整数,值也为整数,不断创建对象放入字典中,内存会不断增长,最终崩溃。可以看到,已经精准定位到字典的问题,因为代码是我们写的,这个字典在哪里进行调用,我们自己很清楚,于是就有了排查的方向。最近我们的项目出现了内存激增的情况,初次探讨,我们发现和机器人发生通信之后,内存会缓慢上升,直到系统崩溃。8.还是太多,不过已经能看出是一个Int32数组的问题,我们还可以继续过滤其他的,选择代码中的大型对象。3.勾选内存使用率项,然后开始检测。原创 2023-11-30 09:11:48 · 1844 阅读 · 0 评论 -
手搓哈希表、列表、队列,只为了用C语言快速求解华容道游戏,我不是大佬,只是一个游戏算法爱好者
多年前曾经写过C语言求解华容道,当时没有用到哈希表,导致整个查重搜索数组过大,每次求解都得花上数分钟的时间,如今时过境迁,对数据结构和算法有了更深的理解,所以得把这一块补上了。(其实就是最近想换工作,发现都喜欢算法大佬,所以写一个来敲一敲面试官的脑壳)编译源文件main.c得到可执行程序main.exe,把main.exe和problem.txt放在同一个文件夹下。把曹操格子用1表示,横将用2表示,竖将用3表示,小兵用4表示,空地用0表示,上图可以转化了代号。编写源文件main.c,内容为。原创 2023-11-18 20:09:57 · 378 阅读 · 0 评论 -
Windows系统隐藏窗口启动控制台程序
上线项目有时候需要一些控制台应用作为辅助服务来协助UI应用满足实际需求,这时候如果一运行UI就冒出一系列的黑框,这将会导致客户被下的不起,生怕中了什么不知名病毒。如果我们想要执行一个命令,执行后在D盘创建一个文件1.txt,并把内容hello输入到1.txt里面。执行后,产生了1.txt,打开可以看到内容也是我们写入的hello,并且启动的时候没有任何弹窗或者闪屏。可以使用vbs来启动,这个是window系统自带的,环境早已自动配置好,编写完代码即可使用。编写完后保存为1.vbs,然后双击鼠标左键执行。原创 2023-11-14 09:08:28 · 608 阅读 · 1 评论 -
Initializing libiomp5md.dll, but found libiomp5md.dll already initialized
最近涉猎深度学习,使用matplotlib.pyplot库绘制曲线时出现了这个保错。3.居然有3个,那就是冲突了,我们的编译器不知道该用哪个,所以报错了。了解了原因之后,方案已经出来了,只留Library库的,其余全删[2.寻找这个动态链接库[在Anaconda安装路径里搜索它]原创 2023-04-29 17:56:25 · 216 阅读 · 0 评论 -
.Net Core WinForm使MessageBox居中控件
前篇博客提到的.net framework winform中可以通过新定义一个类来实现MessageBox居中显示,但是该类在.net core winform中并无效果,没办法,这篇博客将自定义一个.net core框架下的类XWQMessageBox来代替MessageBox。如果只是需要在.net core winform项目中使用 ,可以在【依赖项】右键单击进入Nuget包搜索,本包的关键字是XWQControls,选择。我们如果想让其显示在某控件中央,只需要将该控件传入构造函数的参数即可。原创 2023-04-18 19:11:47 · 1145 阅读 · 1 评论 -
SVG实现中国象棋可视化
之前给大家介绍了H5新增的Canvas标签对中国象棋进行可视化操作,但是其有一个致命的缺点,就是放大缩小的时候容易失真,于是我最近研究了一下矢量图的方式进行可视化操作。原创 2023-05-02 00:56:00 · 183 阅读 · 0 评论 -
把C#代码上传到NuGet,大佬竟是我自己!!!
刚发表完一篇博客总结自己写标准化C#代码的心历路程,立马就产生一个问题,就是我写好标准化代码后,一直存放磁盘的话,随着年月增加,代码越来越多,项目和版本的管理就会成为一个令我十分头疼的难题,我急需趁现在找到解决方案。想到我刚开始玩vs的时候,各种调包都是通过NuGet管理器,我能不能也把我的代码传到上面,成为大佬,让各位去调我的包呢,有这个想法后马上进入实践,经过半个小时的摸索,我似乎找到了些眉目。3.回到你的库项目,打开它的属性->打包。什么,你还没有账号,那还不赶紧注册。剩下的应该不需要我多言了。原创 2023-03-13 23:56:12 · 1646 阅读 · 0 评论 -
C#[.Net5]对TcpListener进行再封装
上述例子可以看出,一些常用的类我们可以进行再封装,以达到标准和重用性,大大提供编程效率。虽然说做的多做的快不一定赚的多,但是肯定闲得慌,多留点时间摸鱼它不香吗?磨刀不误砍柴工,封装复用真轻松!原创 2023-03-13 22:29:17 · 879 阅读 · 0 评论 -
AndroidStudio打包HBuilderX的H5+项目为安卓App【一次过,无任何异常报错】
(2)本地电脑务必有JDK1.8以上且配备好环境变量【用于生成和查看证书】,有一个容易犯错误的点,就是在DCloud开发者中心生成证书下载到本地使用,那是不行的,我爬了两天这个坑,安装JDK后迎刃而解!要注意的是,你在输入密码的时候光标不会有移动的变化,但是你的在输入状态的,不要管他,输入完毕按下回车,这里我以密码为123456示例。(3)项目中有两个容易混淆的build.gradle文件,要注意我们修改的是sampleDemo文件夹下的那个,值得注意的是,此时我的APP有。复制到步骤4刚清空的文件夹。原创 2023-02-27 17:57:03 · 3517 阅读 · 8 评论 -
(MySql报错)The total number of locks exceeds the lock table size
注意不要开得太大了,电脑受不了也是白折腾,那样还不如用limit语句进行多几步操作来得安全,维护工作嘛,稳定比性能优先级要稍微高一些。保存后,打开【服务】并找到你的mysql服务项,选择停止,停止后再启动,重新操作mysql时应该已经可以满足数据操作了。打开my.ini,修改innodb_buffer_pool_size为1024M,初始是8M。一次性操作的数据行数过多,导致mysql内存开辟的内存空间不足,就会报这个错。,找到my.ini文件,我的在。原创 2023-02-19 11:26:48 · 587 阅读 · 0 评论 -
Winrar命令行解压带密码的压缩文件
3.找到winrar的安装目录,把rar.exe拷贝到当前文件夹中。4.在上面的路径栏输入cmd并按回车打开命令行。1.先自行安装好winrar,这个不用多说。3.我们使用winrar对其进行加密压缩。这是一个文件夹,里边就2个txt文件。现在我们就有一个带密码的压缩文件了。2.我们创建一个压缩文件。原创 2023-02-02 11:16:08 · 4441 阅读 · 0 评论 -
Windows安装Redis,C#简易交互
3.VS2019创建窗体应用程序,框架选用.net framework 4.7.2。5.Nuget包安装【ServiceStack.Redis】库。以便我们双击此批处理命令就能方便启动redis服务端。】进行下载msi文件,下载完毕直接安装即可。6.添加一个类文件RedisUtil.cs。】,有需要的同学可以自行下载,仅供参考。2.安装完毕后,在其安装目录【8.项目我已经上传到码云中【】添加一个bat文件,内容为。7.给窗体添加事件绑定。4.简单设计一下界面。原创 2023-01-06 08:45:09 · 253 阅读 · 0 评论 -
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.OMP: Hint
【代码】python报错。原创 2023-01-05 13:57:06 · 231 阅读 · 0 评论 -
WinForm BackgroundWorker控件学习
5.本程序执行时,点击按钮,如果任务正在执行,则会取消任务,否则就会执行任务。任务完成后,把msg内容替换到窗体的Text属性中,即可给客户展示此任务是已经完成还是被取消了。WorkerReportsProgress属性表示是否支持后台任务执行中随时报告进度。3.给窗体再拖一个【进度条ProgressBar】控件和一个【按钮Button】控件。2.从【工具箱】拖一个BackgroundWorker控件到窗体中,将其属性改成。4.给【后台任务】和【按钮】控件添加事件,添加之前我们给窗体添加一个字符串msg。原创 2023-01-05 09:47:05 · 850 阅读 · 0 评论 -
C#制作简易视频播放器
4.我们先在自定义窗体上添加一个标签,文本内容为打开文件;再给窗体添加一个视频控件,将标签控件的Dock属性设置为Up,视频控件的Dock属性设置为Fill。在添加组件窗体中的【COM组件】中找到【Window Media Player】组件并勾选,然后【确定】3.可以看到我们的【工具箱】中多了一个控件,Window Media Player。看到图片中的【选择项】了嘛,单击它,打开添加组件的一个窗体。2.在【工具箱】里随便选中一个控件,右键单击它。6.重新生成并运行即可,其也可以用于播放音频。原创 2023-01-04 14:32:14 · 3736 阅读 · 0 评论 -
VS2019打包程序变成带运行环境的安装包
给外行客户写程序的时候,为了避免客户麻烦,我们在写完程序之后,需要把运行环境也打包进安装包中,这样客户就可以一键安装使用。8.【Application Folder】中添加我们编译好的程序[Debug或Release]/我们的程序.exe,我们导入程序后,其运行环境也会被导入。1.写好我们要打包的程序后,我们点击【扩展】->【管理扩展】(如果你的VS已经安装了【安装扩展】,请直接跳转到第7步)3.下载完后,把VS2019【关闭】一下 ,好让其安装这个新的组件。11.双击运行这个安装文件,查看运行效果即可。原创 2023-01-04 10:30:45 · 1471 阅读 · 0 评论 -
C#使用Onnx进行行人检测
7.项目结构如下原创 2022-12-06 20:43:48 · 2213 阅读 · 8 评论 -
C#读取Excel表
result是一个DataSet类型的对象,我们可以使用result.Tables[下标]或result.Tables[表名]来访问Excel表中的某一个表。则我们可以使用table1的Rows属性访问该表中的每一行,每一行有Column属性访问该行的某一列。原创 2022-11-29 20:05:43 · 374 阅读 · 0 评论 -
CE修改器学习历程之指针变量的保存
它的意思就是程序运行的时候给number指针随机分配一段可用的地址空间,所以每次运行程序的时候,分配的地址空间都不尽相同,也就成功解释了我们保存的地址为啥不是上一次保存的数据了,那我们如果应对指针变量这种情况呢?对于我们此课的C程序,number它是一个指针,它有自己的地址,它的数值存放的是我们要保存的数据的地址,用图来解释就是。我们使用上节课的方式保存,再重新打开C进程,CE扫描它并加载保存的文件,发现该变量还是可以修改我们感兴趣的数据,那么对于指针变量的保存和加载,我们就学会了。多级指针如何查找呢?原创 2022-11-12 12:01:31 · 1863 阅读 · 0 评论 -
CE修改器学习历程之普通变量的保存
同学们有时肯定会在想,如果我们每次重新打开进程都需要使用CE修改器重新找每个变量的地址,那我岂不是要累死?别着急,这节课将为大家介绍普通变量的保存和加载,让大家找一次变量地址即可达到重复使用的效果。如果某个数据是一个普通变量,那么我们使用CE修改器找到它以后,可以保存下来,下次只要再打开保存的文件即可立马对该变量进行操作,十分的方便,以下是对普通变量的保存教程。原创 2022-11-12 11:24:19 · 4998 阅读 · 0 评论 -
CE修改器学习历程之未知值扫描和修改
本届也是以整型4字节为例,其他类型的数据大家也可以触类旁通,相信以大家的自学能力来说,这些都是洒洒水的事情。让我们一起努力进步吧,争取早日打遍单击无敌手!原创 2022-10-11 02:23:21 · 3622 阅读 · 0 评论 -
CE修改器学习历程之精确值扫描和修改
CE修改器有个自带的教程有基础的小伙伴可以跟着来一步一步地学习,为了照顾没有什么基础的同学,我这边采用的是自写程序的演示,可能观看的小伙伴需要一点C语言基础。我这篇博文属于抛转引玉,大家通过这一章节的学习,想必也能触类旁通,举一反三,那单精度浮点数和双精度浮点数的扫描和修改也是类似的,大家可以当做课后练习自己写写代码调试一下,有疑问欢迎在评论区一起交流学习。原创 2022-10-11 01:41:27 · 4877 阅读 · 0 评论 -
CE修改器学习历程之下载、安装和汉化
下载 完后我们打开我们安装CE修改器的物理位置,如果不知道怎么打开那个位置的话可以打开我们的电脑桌面找到【CE的快捷方式】用【鼠标右键单击】它,然后选择【打开文件位置】。现在可以看到我们的CE修改器已经安装好了,并且还打开了它自带的小程序,方便我们练习的,那么一大堆鸟语我们看着也不太舒服,接下来进行第三步,汉化。做完以上步骤之后,我们重启一下CE修改器,就可以看到,已经汉化完毕啦,有的地方可能没有完全汉化,但是已经基本可以满足我们的学习需求了。我们把下载好的汉化包解压,并放进相对路径languages中。原创 2022-10-11 00:44:17 · 7429 阅读 · 5 评论 -
Python获取本地IPv4
python实现了一个tcp服务端,然而每次接不同外网的时候,IPv4是会发生变动的,所以无论是硬编码还是写成配置文件都是不方便的,那么直接用代码获取运行程序时本地的IPv4自然就成了需求。得到的结果是一个列表,如果你本机装了虚拟机等,可能还会有其他虚拟的ipv4,这就需要你再做其他算法进行甄别了。原创 2022-09-28 10:20:29 · 1820 阅读 · 0 评论 -
互联网技术性人才学习路线分享
我全放在码云上了,如果你还在迷茫不知道该学的啥,请选择好你的方向,对号入座吧。】,pdf文件下载自CSDN,侵删。原创 2022-09-19 15:45:38 · 115 阅读 · 0 评论 -
C#大恒相机采集图片时图片上下对称折叠了
我们在复制完大恒Dotnet例子中的Gxbitmap.cs类文件后,找到其中的这一部分。经观察可以发现,图片沿着上下的中心水平线折叠翻转了,经过参考热心网友博文【其中m_nHeight改为。之后重新运行,图片正常显示。】后,我找到了解决方案。原创 2022-09-16 10:16:17 · 457 阅读 · 0 评论 -
人工神经网络——反向传播算法初体验(python实现)
可以看到,在经过七千多次训练之后,我们找到了一组参数满足我们假想的关系,本次人工神经网络训练完成,反向传播算法体验结果良好。原创 2022-09-02 18:14:43 · 1517 阅读 · 2 评论 -
英伟达显卡【NVIDIA GeForece RTX3060 laptop GPU】装深度学习环境,学习框架为Pytorch
2.安装完Anaconda后,进行环境变量配置【具体路径需要根据Anaconda安装路径来,可别照抄作业哦】,Path路径添加四个。5.装Opencv,Numpy,Pandas,Requests,便于调试程序,具体命令为从Anaconda命令行中输入。8.此时环境安装完毕,具体运行程序出现异常时,可以查找我的其他博客看一下有没有对应的方案。】下载Cudnn,并解压,将对应文件复制到Cuda安装位置的对应文件夹里。1.安装python包管理器Anaconda,在其官网【】下载Cuda11.6,并安装。原创 2022-08-23 09:08:30 · 2826 阅读 · 2 评论 -
AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘
将报错文件“D:\Anaconda3\envs\yolov5-6.0\lib\site-packages\torch\nn\modules\upsampling.py”【具体路径请查看报错信息】大体类似。运行python语言实现的深度学习模型【选用pytorch】代码时,代码报错。里边的forward方法修改一下,改成以下。原创 2022-08-22 14:39:42 · 1822 阅读 · 3 评论 -
文本批量写入顺序内容
【代码】文本批量写入顺序内容。原创 2022-08-19 19:14:16 · 315 阅读 · 0 评论 -
.NET CORE使用GBK编码时出现乱码
在公司项目中socekt通讯时,服务端实现语言为python,默认编码为gbk,我这边客户端采用C# .net core实现,默认编码utf-8,单纯使用。3.使用转GBK编码代码前,先执行下面的代码。1.Visual Studio中。4.转换完毕,大功告成。...原创 2022-08-17 09:56:44 · 1005 阅读 · 0 评论 -
Asp.Net Core 设置允许跨域访问
设计Asp.Net Core软件时想实现前后端完全分离,需要使用到此技术,浏览各位博主博客总结比较加实践后,得出如下解决方案较为实用,加以记录和分享。原创 2022-08-04 14:21:08 · 906 阅读 · 2 评论 -
如何让win10跑Pytorch模型(GPU加速版)
总结win10跑pytorch模型的操作过程,不带详细步骤,仅作参考原创 2022-07-15 16:33:25 · 1610 阅读 · 1 评论 -
文字转语音【手动】
手动将文字转为语音,方便加入自身项目,对缝合怪项目高度适配。原创 2022-06-15 11:07:57 · 243 阅读 · 1 评论 -
KMP代码C语言实现
字符串模式匹配高效算法之一,KMP算法的实现。原创 2022-06-06 16:16:32 · 134 阅读 · 0 评论 -
象棋引擎简单引用
背景体验到小视频带来的流量福利后,国内广告软件与日俱增,本人热爱象棋,在使用软件时深感体验不佳,于是打算自己做一款来辅助自己日常练习,以保证野路子养成日记的续写。考虑到自身不是算法班出身,也没有250+的智商,所以先采用套壳的思想,站巨人肩膀上砥砺前行。解决方案本文采用的引擎是【象棋巫师】电脑版提供的免费引擎,万望各位仅作学习使用,违者请后果自负,特此声明!软件官网[象棋巫师 - 象棋百科全书]大家可以按提示一步一步下载安装好。安装好以后可以看到内部文件夹如下图所示这边我原创 2022-05-09 17:18:42 · 3213 阅读 · 0 评论 -
Asp.Net Core VS2019中使用创建SqlServer数据库命令报错
如下CREATE FILE encountered operating system error 5(拒绝访问。) while attempting to open or create the physical file 'C:\Users\bingling_haha.mdf'.CREATE DATABASE failed. Some file names listed could not be created. Check related errors.原因打开报错的物理路径“C:\”,右原创 2022-02-14 08:43:10 · 1211 阅读 · 0 评论 -
C# socket tcp 通讯的实现(0基础)
原理远程服务器运行服务器程序,建立起socket服务器,不断监听某端口,当有信息传递过来时,对该信息进行处理,并给信息来源反馈处理结果。本地客户端建立器socket连接,连接上服务器后,可以向对方发送和接收消息。总而言之,socket通讯仅仅是本地客户端和远程服务器进行信息交互的“电话协议”,客户端和服务器就是两台“电话”,这一点无论tcp通讯抑或是udp通讯皆是如此。架构本文采用【控制台应用程序】的形式来表述,去除了桌面程...原创 2022-01-19 11:36:13 · 4465 阅读 · 3 评论