- 博客(62)
- 资源 (1)
- 收藏
- 关注
原创 EMS从0到1之BMS介绍
写在前面BMS是什么BMS能做些什么BMS有什么作用写在结尾众所周知,BMS作为储能系统3S,是储能系统的重要组成部分,虽然我们不开发BMS,但作为EMS开发者我们必须了解BMS是什么,他能做些什么,他有什么作用。这样有利于我们设计我们的系统。
2025-01-23 19:21:23
368
原创 EMS(energy managment system)从0到1
EMS从0到1写在前面准备目录&导航设计是什么?做什么?怎么做?我准备怎么做写在结尾写在前面最近几年因为新能源产业的迅速升温,不仅导致我国能源结构的重新分配,也导致新能源相关产业蓬勃发展。我能接触到的就是EMS( energy managment system)能量管理系统,这篇文章以及后续几篇文章,我会向大家讲解作为一个C#开发工程师从0到1开发EMS的全过程,请注意听讲。准备开发环境:作为一个C#开发工程师,我选择使用VS作为我的开发工具。如果你使用的是VS code,rider,Mo
2024-12-24 13:04:03
827
原创 .Net 8 控制台程序部署(Linux篇)
好久没更新文章了,今天给大家带来的是在在无流量的Linux工控机上部署.Net8开发的控制台程序,并将其作为一个后台服务持续运行。废话不多说,直接进入正题。
2024-07-22 16:12:45
2335
原创 VS-安装项目
在开发WPF程序的过程中,我们常常需要把我们的程序变成一个可以在Windows系统上安装的安装包,这就需要用到安装项目(Setup Project)。它可以将我们的程序打包成一个安装包程序,在其他电脑上安装,而不是简单的打包成压缩包文件在其他电脑上解压。这方面的知识网上有很多,我就不过多讲解了,这里我主要讲解一下我再生成安装包程序时遇到的问题和对应的解决方案。
2023-04-05 09:47:53
227
原创 Q-Learning以及.NET环境下的实现
看过我的文章的朋友应该都知道,我之前一直在研究视觉相关的知识,也看了一些卷积神经网络(CNN),深度学习相关的文章。但说实话,大部分知识点和例子,我都是一知半解,明白他这样做能达到什么效果,但是不知道他为什么这么做,这样肯定不行啊!所以也是借着过年的这段时间学习了一些机器学习的基础知识,其实现在大家熟悉的深度学习也属于机器学习中的一部分。
2023-01-31 16:29:37
437
原创 C#学习--项目实战之隐藏式导航栏
最近在开发一个视觉工具项目。突发奇想,想写一个隐藏式的导航栏,对处理过的图片做一个记录,并保存在导航栏中,点击对应的位置,可以唤出对应的图片。这篇文章,作为实战分享文章,希望能够帮助到正在写WPF的朋友么,如果有什么问题也可以留言或者私信我。
2023-01-16 09:26:53
664
原创 图像处理-图像变换
先让我们用大白话来讲解一下什么是直方图,将一个灰度图中各种灰度等级的像素点数量列出来。一般图像的像素点大小是8比特,也就是他的灰度等级是0-255。然后我们计算0灰度等级的像素个数,1灰度等级的像素个数…254灰度等级的像素个数,255灰度等级的像素个数。然后按照顺序列成一张表。这就是直方图。当然只是直方图的其中一种表现方式,你也可以计算出每个灰度等级的像素数量占总像素数量的比重,这也就是归一化(这个计算过程叫做PDF,概率密度函数)。后面我们所说的直方图一般都是这个归一化的直方图。
2022-10-15 13:40:15
1679
原创 云服务器的摸索
第一次拥有一个属于自己的服务器,还真是有点激动啊。 因为我是开发C#为主的所以开购买服务器的时候选用了Windows操作系统。废话不多说,先安装个SQLServer数据库练练手。这里我用的是免费版的SQL2019-SSEI-Expr安装过程我就不讲解了,这种数据库安装流程网上太多了。安装完成后我再里面建了一共数据库和两张表,表里放了一些数据。如下数据库弄完之后,我觉得万事大吉,只差一个demo程序了,我立马写了一个简单的是数据库连接读取的代码因为某些原因,我这边把自己的公网IP用“ * ”带替了,这
2022-07-06 15:07:07
240
原创 数据校验(深入篇)
上篇文章向同学的大致讲解了,汉明码的工作原理,以及他的不足之处。这篇文章我将会带你走进二进制的世界,了解汉明码的魅力,看完这篇文章,你肯定会发出惊叹:卧槽!!为了方便我们将二进制和汉明码联系起来,我们首先将汉明码的下标使用二进制表现出来然后,再将一维数组变成二维数组从这张图上,我们可以根据之前的数据块划分,找到一些特别的规律,从下面这种图,我们可以看到对应染色的数据部分的下标,第四位都是1。而另一张图,染色数据部分的下标,第三位都是1再看看横向划分的两张图,这两张图分别对应,数据下标第二位为
2022-06-25 13:34:10
393
原创 数据校验(初级篇)
最近618,我也是顶着矿难装了一台电脑,很不幸,我…安全下山,可惜我买的是3050,网传矿老板都不买的显卡。组装之后也是很幸运的一次点亮,光是点亮还不足以满足我,因为我买电脑就是为了打游戏的,所以我就想知道其中那些配件会影响我的游戏体验,又分别影响哪个方面。首先研究的就是硬盘,CPU,内存这三个配件的作用和关系,总所周知,不管什么东西,都是储存在硬盘里面的,游戏也不例外,游戏的存档,本体,Mod都会储存在硬盘里面。打开游戏时,CPU会将所需要用到的数据读取到内存中,然后就没有硬盘什么事情了,所以硬盘最能影响
2022-06-24 15:05:07
1058
原创 依赖注入和控制反转
依赖注入和控制反转依赖注入一个例子静态库动态库unsafe和fixed关键字的应用unsafefixedPath类的使用写在结尾因为公司发展需要,我可能会开发一些Web相关的项目和功能,但考虑到我之前开发的项目大多都是WPF框架的,很少接触到Web前后端的开发,所以这段时间还是以学习为主。在公司大佬的指点下我也算是略通一二了。但是大佬经常说的依赖注入和控制反转却把我难住了。桌面应用程序的开发中也会接触到依赖注入和控制反转,我也是知其然不知其所以然。今天就让我们走进这些高大上的名词。
2022-03-02 10:31:05
500
原创 图像的卷积
图像的卷积写在前面什么是卷积图像的卷积操作怎么将卷积运用到我们的图像处理上呢?图像卷积没什么用的卷积核通过卷积实现高斯滤波什么是高斯滤波怎么使用卷积实现高斯滤波写在结尾写在前面前段时间因为一个二维码识别项目,接触到了很多图像处理的相关技术,我发现卷积在图像处理中起到了很重要的作用。今天我们就来聊一聊卷积。什么是卷积卷积(Convolution)是一种积分数学运算,通俗的讲,有一个固定不动的函数,有一个沿X轴不断滑动的函数,滑动的距离和这两个函数相交部分的乘积的和形成的一个全新的函数就是这两个函数的卷
2021-10-30 11:15:20
6838
2
原创 复杂环境下的二维码识别
复杂环境下的二维码识别写在前面二维码了解二维码二维码识别库图像处理Opcv使用OpenCVSharp使用的一些坑图像处理后的二维码识别物理图像处理法通用处理方式《光照不均 QR 二维码图像的高效处理方法研究》写在结尾参考文献写在前面好久没有更新文章了,最近做了一些有关二维码识别和图像处理相关的项目,这里给同学们做一个讲解和总结,话不多说上干货二维码了解二维码QR 二维码,即快速响应码,源于 Quick Response 的缩写,是日本 Denso Wave 公司于 1994 年 9 月研制的一种矩
2021-09-23 19:35:31
2626
1
原创 如何使用压缩工具的自解压格式
如何使用压缩工具的自解压格式写在前面压缩文件夹自解压格式第一步,用WinRAR打开压缩文件第二步,进入自解压格式配置界面第三步,配置参数补充说明写在结尾写在前面项目完成后面临的问题就是发布,发布就是基于项目生成用户能安装使用的安装程序。现在网上比较流行的安装方式:安装包流程安装和压缩包解压安装,今天我就教大家使用WinRAR工具中的自解压格式来生成一个可安装的压缩包。压缩文件夹我们在Debug模式下运行程序后,会在项目的bin文件中生成一个Debug文件夹,这个文件夹里包含了程序运行需要的库和一些文
2020-12-21 13:15:01
975
原创 C#学习--ViewModelLocator的作用
C#学习--ViewModelLocator的作用写在前面传统模式依赖注入第一部分第二部分第三部分关联写在结尾写在前面又是很久没更新文章了,前几天在和群友们讨论框架的时候,有个人遇到了这样的问题,他说我主程序打开了一个子窗口,对子窗口进行了修改之后,关闭子窗口,当再次打开时子窗口显示的数据是改动之后的数据。当时我看到这个问题,我觉得不可思议,不可能啊,我从来没遇到过这样的情况啊。后来在一个大佬的讲解下我才明白了事情的缘由,如果你也遇到了一样的情况或者刚刚接触MVVM框架,那么请往下看。传统模式因为我
2020-08-31 08:40:08
2308
2
原创 Linux系统--安装Nginx并通过局域网访问服务器
Linux系统--安装Nginx并通过局域网访问服务器写在前面下载安装安装包下载安装使用及其相关配置启动Nginx开启80端口访问写在结尾写在前面上篇关于Linux系统的文章,讲了关于FTP服务的相关配置,FTP是一种文件传输协议,主要是来传输文件的,这次我们要讲解HTTP服务的相关配置,为了使用FTP服务我们安装了Vsftpd服务器,这次我们要使用HTTP服务,也叫超文本传输协议,我选择了Nginx服务器,选择这个服务器有几个原因,我觉得这些原因也是同学们在安装服务器的时候应该考虑到的,一:性能,这个
2020-07-28 15:55:01
1945
原创 ComponentOne For WPF学习心得-值不在预期的范围内
ComponentOne For WPF学习心得-值不在预期的范围内写在前面错误代码解决方案提示报错,并继续找到原因,实际解决写在前面因为工作需要我经常会使用C1Chart来绘制一些图表。再最近的开发中我遇到这样一个问题,当我需要绘制的数据源到达一定数量后,程序会报错,但是这个错误在代码中又不能捕获和处理,所以导致我的程序一直崩溃,今天我就给同学们讲一下我是怎么碰到这个问题,并且是怎么解决的。错误代码这里我们直接把导致我们程序出错的部分代码贴出来,private void AddChart(Lis
2020-07-21 15:50:30
490
原创 Linux系统--配置FTP服务
Linux系统--配置FTP服务写在前面准备工作安装操作系统配置网络写在结尾写在前面同学们我终于又更新文章啦,实在是最近项目太忙,之前在做硬件测试,前几天主动揽下了配置四台服务器的活,让我明白了什么叫不会作就不会死,真的是从0开始配服务器,我之前除了看见过一点点的Linux命令,我是半点不懂,说实话,如果真的是我一个人的话,我可能要配一个月,但还好部门老大哥对我帮助挺大的,真的挺感谢这位老大哥的,把自己配置服务的笔记借我观摩了一番。所以接下来更新的文章我会教同学们一些配置服务的相关知识点和我自己的一些见
2020-07-17 16:50:24
407
原创 C#学习--索引器
C#学习--索引器和写在前面索引器的定义for循环套for循环哈希表写在结尾写在前面又是好久没更新文章了,实在抱歉,今天给大家讲一个我现在才知道的基础知识点,索引器,应该算C#独有的一种通过索引来访问属性的方法。虽然说起来好像很方便,但应用真心不广泛,一般只有在那些有很多相同类型属性的类中,我们为了方便访问属性才会使用。索引器的定义我说实话我开始拿到这道题目的时候,我是一脸懵逼,没做过算法题,不知道怎么开始解,这还只是一道简单的算法题,你要说通过代码的形式解决,那我还是能通过最笨的办法来解决的,但是
2020-07-13 09:00:24
338
原创 Linux系统--创建虚拟机
Linux系统--配置服务器写在前面准备工作安装操作系统创建类型转换器使用类型转换器写在结尾写在前面同学们我终于又更新文章啦,实在是最近项目太忙,之前在做硬件测试,前几天主动揽下了配置四台服务器的活,让我明白了什么叫不会作就不会死,真的是从0开始配服务器,我之前除了看见过一点点的Linux命令,我是半点不懂,说实话,如果真的是我一个人的话,我可能要配一个月,但还好部门老大哥对我帮助挺大的,真的挺感谢这位老大哥的,把自己配置服务的笔记借我观摩了一番。所以接下来更新的文章我会教同学们一些配置服务的相关知识点
2020-07-11 17:26:09
216
原创 C#学习--哈希表的简单运用
C#学习--哈希表的简单运用写在前面题目及内容我的解题思路for循环套for循环哈希表写在结尾写在前面上篇文章的最后给大家推荐了一个练习算法的网站,我也有在上面解一些算法题,对我来说还是挺难的,因为我本来没有接触过关于算法的学习。所以我准备把我解过的题在这里跟大家分享一下,说一下我自己的解题方式和我查看评论里面的大佬解题思路对自己的帮助。题目及内容题目:两数之和内容:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以
2020-05-23 16:58:52
407
原创 WPF编程宝典--类型转换器
WPF编程宝典--类型转换器写在前面什么是类型转换器创建类型转换器使用类型转换器写在结尾写在前面好几天没写文章了,这段时间在学习计算机网络这本书,因为我的专业是弱电类的,所以计算机网络这门课我基本是上课梦游,作业搪塞,还好考试很简单,不然我感觉我就挂了。但是作为一个软件行业的从业者不懂计算机网络,就好像乞丐没有一个破碗,是寸步难行,之前做的项目并没有涉及到计算机网络这一块所以一直没有在意,但是前段时间参加了一些面试,发现计算机网络相关的知识储备太少了。所以最近准备恶补计算机网络从基础开始学起,买了一本谢
2020-05-16 16:07:23
520
原创 WPF编程宝典--布局番外篇
WPF编程宝典--布局番外篇写在前面UniformGridInkCanvas写在结尾写在前面布局容器是WPF中比较关键的一部分,我们在初步学习的时候只掌握了基础部分的布局容器,比如Grid,Canvas等,虽然也能满足我们的简单开发,但是在一些特殊的环境中,我们可能使用一些进阶的容器,所以今天我为同学们讲解两个分别由Grid和Canvas衍生出来的进阶容器。UniformGrid看名字也能...
2020-05-05 14:13:10
233
原创 C#岗位面试经验和注意事项·下
C#岗位面试经验和注意事项·下写在前面代码安全设计模式常用框架线程和进程反射写在结尾写在前面上一篇文章给大家讲了很多面试时的加分项,今天就给大家讲一下我面试遇到的问题把,首先你要有一份详细的简历,要把你会的都写上去,让面试官知道你会什么,特别时技术面的时候,面试官会根据你的知识架构来对你进行提问,一般不会问一些出圈的问题。但是如果你把不会的和不熟悉的也写上去了,那你只能是自求多福了。代码安全...
2020-04-23 17:00:29
483
原创 C#岗位面试经验和注意事项·上
C#岗位面试经验和注意事项·上写在前面方向很重要基础很重要经验很重要复习很重要预习很重要沟通很重要写在结尾写在前面之前说的计划好像又泡汤了,公司最近有比较繁忙的工作,加上面试,整个人一直处于一种忙碌烦躁的心境,就没怎么更新文章,因为年轻的原因换工作的频率属实不低所以也算是面试过很多企业了吧,大公司的初试复试,小公司的综合面,国企事业单位的问答面,都经历过吧,我下面讲的也只是我的经验之谈希望能给...
2020-04-22 13:18:52
907
原创 C#学习--项目实战之Socket通信
C#学习--项目实战之Socket通信写在前面了解Socket通信原理创建服务端前端后端创建客户端前端后端写在结尾写在前面实在不好意思,前段时间说的更新计划好像又没做到,这段时间公司出了一个新项目,和几个大佬合作,我负责上位机软件和中后期的软硬件调试。其实上位机软件还是方便的,主要是软硬件调试这个太磨人了,各种问题各种bug。总感觉达不到预期的效果。现在完成度有个80%了,所以节奏放慢了,也有...
2020-03-26 10:44:14
601
原创 WPF编程宝典--自定义元素上
WPF编程宝典--自定义元素上写在前面构建基本的用户控件创建项目定义属性,方法和事件添加标记使用教程写在结尾写在前面说出来不怕大家笑话,我昨天看完这节的前半部分,然后根据书上的例子,自己写了一个颜色控件,居然没成功。。。今天这篇文章就给大家讲讲怎么写一个颜色控件和在这个过程中主要的几个问题。构建基本的用户控件创建项目今天我们要运用我们之前学的内容来写一个颜色选择器。首先我们要创建一个用户...
2020-03-06 15:16:26
308
原创 WPF编程宝典--控件模板
WPF编程宝典--控件模板写在前面逻辑树和可视化树理解模板创建控件模板组织模板资源分解控件模板通过样式应用模板写在结尾写在前面这张比较长但是讲的内容还是比较简单的,加上中间公司有点事,所以没有马上更新。那么今天就来讲讲控件模板吧,我们之前学了资源,然后学了样式,现在又学了模板,我们一定要分清楚他们不同的概念,这样我们在使用的时候才能知道什么时候用样式,什么时候用模板。逻辑树和可视化树逻辑树...
2020-03-03 16:44:32
518
原创 WPF编程宝典--第一部分总结
WPF编程宝典--第一部分总结写在前面WPF基础XAML布局依赖项属性路由事件WPF进阶控件Application类元素绑定命令资源样式与行为写在结尾写在前面到这里WPF编程宝典里面的第一部分和第二部分算是讲完了,前五章为第一部分,主要是WPF的基础知识,第六章到现在是第二部分进阶,我今天回顾了一下之前的文章,准备写一个总结。WPF基础XAMLXAML也算是WPF的特色了,它很大程度上分...
2020-02-28 15:04:09
265
原创 C#学习--项目实战之自定义快捷键
C#学习--项目实战之自定义快捷键写在前面项目思路创建自定义命令识别用户输入绑定快捷键写在结尾写在前面之前更新的命令一章中,有一部分没讲,就是自定义命令,对这部分感兴趣的同学可以看一下这篇文章,算是对命令的扩展补充吧。项目思路我们在玩游戏和用一些软件的时候都会碰到这样的情况,用户可以根据自己的喜好来设置相关快捷键,今天我们要做的功能就是这个,功能的实现主要分为三步。第一步,创建自定义命令;...
2020-02-27 14:18:56
976
原创 WPF编程宝典--样式与行为·上
WPF编程宝典--样式与行为·上写在前面样式基础静态资源和动态资源非共享资源通过代码访问资源应用程序资源系统资源资源字典写在结尾写在前面这篇文章主要是讲样式与行为中的样式(Style),上篇文章我们讲到了资源,和今天的样式呼应还是挺多的,因为大多数情况下,样式也作为一种资源来使用,废话不多说直接进入主题把。样式基础如果说资源是单个的属性值,那么样式就是多个属性值的集合,上代码 <W...
2020-02-26 09:50:09
172
原创 WPF编程宝典--资源
WPF编程宝典--资源写在前面定义资源静态资源和动态资源非共享资源通过代码访问资源应用程序资源系统资源资源字典写在结尾写在前面今天讲的是资源,用好资源是一个程序员应该具备的能力,使用资源能帮我们精简代码,使代码重复率大大的降低了,让代码的可维护性大大增加。而且使用资源可以让不同的用户设置自己喜欢的风格和细节。定义资源<Windiw.Resources> <ImageBr...
2020-02-23 13:30:27
824
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人