自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

画鸡蛋的不止达芬奇

经历那么多的迷茫,或许只有奋斗才能改变命运。

  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 numpy ndarray嵌套ndarray浅显理解

近日,做图像聚类,使用KMeans算法的过程中,遇到了一个写法:# 这里centers是得到的质点集合,是一个矩阵,labels是得到的标签,也是一个矩阵res = centers[labels.flatten()]所以我就很好奇,centers是K*m的,labels是n*1的,得到的结果怎么会变成n*m的呢?而且,关键是我搞不清楚这是numpy的用法,还是cv2的特殊用法,但从格式上来看,我觉得还是numpy的用法,因此,我写了一段测试代码。import numpy as np

2021-12-15 14:50:20 2500

原创 CV2.imread flag参数说明

cv2.imread flag说明

2021-12-09 14:36:13 3358

原创 C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容

这是为了实现在项目中的功能实现的一个Demo,在完成这个Demo后,我将其直接移植到了项目中,进行数据合并后,一切完美运行,废话不多说,直接上图:这里给出部分主要代码,构造函数:public uc_layout() { InitializeComponent(); InitializeDrawResour...

2019-04-22 15:39:30 7136

原创 gridcontrol 使用checkboxselectorfield的奇葩问题

optionsSelection中的checkboxselectorField为对应的字段,然后将MultiSelect设置为第三项CheckBoxRowSelect,此时,表格就会自动加载checkbox,并自动为字段赋值。再gridcontrol中添加checkbox有2种方式,一种是自己添加列,然后设置columnedit,另一种是设置。,关键是,界面效果有的在保存或运行时才生效,就造成一定的理解问题。但是我再使用过程中发现,第二种情况,不支持单元格合并,也就是说,

2023-04-10 16:55:09 242

原创 Devexpress lookupedit赋值后不显示第一项

先设置layoutcontrolitem.Visibility=DevExpress.XtraLayout.Utils.LayoutVisibility.Always,在设置数据源即可正常加载。今天在使用lookupedit时,发现设置datasource后,设置itemindex=0,但是程序启动后,并不显示第一项的值,再点击一次就显示出来了,只有再程序启动后第一次加载时不显示。,我这里是想要点击“查找”按钮,然后显示出lookupedit并加载其数据。通过与另一页面进行比较发现,是因为在程序启动时,

2023-04-10 16:50:55 371

原创 wsl迁移保存位置

wsl更改保存位置

2023-03-04 14:26:12 766

原创 特征提取PCA实现及避坑指南

特征提取之PCA的原理与实现。

2022-08-25 18:23:27 1616

原创 特征选择和特征提取(一、概述)

特征选择和特征提取的基本理解。

2022-08-24 00:13:25 2532

原创 直方图与直方图均衡化

直方图与直方图均衡化的基本操作。

2022-08-17 16:50:29 2235 3

原创 np.zeros初始化图像

np.zeros初始化图像不正常显示,其实是因为类型的原因。

2022-08-16 17:59:11 848

原创 cv2 resize 与reshape的区别

cv2 resize与reshape的区别

2022-08-16 17:35:10 3659

原创 .netcore应用容器化部署

前面,我们讲解了如何在wsl中安装数据库,.netcore运行时,以及如何发布一个.netcore应用,为了构成一个完整的小系列,本节,我们来学习一下,如何将.netcore应用容器化【当然这里还是以wsl为平台】环境准备1.Docker安装之前,出过一个docker的小系列,请参考(一)零基础小白都能懂的超全Docker入门教程之开篇(二)Docker Desktop及Kubernetes安装(三)Docker、k8s使用初体验及Dashboard避坑指南!!!(四)动手构建第

2021-05-21 18:20:28 746

原创 .netcore应用容器化时更改Expose端口无法访问

为什么明明更改了Expose端口,生成镜像,通过映射启动容器后,却无法访问,这是为什么呢?这是因为在Dockerfile中,没有配置环境变量,因为aspnetcore默认的监听端口就是80,这也是为啥只有暴露并映射80的时候才能访问,所以我们要在Dockerfile中添加ENV ASPNETCORE_URLS=http://+:5000 #5000是你想用的端口分析:就像浏览器默认80,mysql默认3306等一样,我们打包镜像时,其实是打包的运行时环境,所以只更改容器的暴露端口并不生

2021-05-20 17:47:22 642

原创 在wsl中部署.netcore应用

上一篇,我们安装好了数据库mysql,并初始化了相关数据。本篇,将部署一个.netcore3.1的应用。环境准备首先,确定是否有响应的环境,.netcore相应版本安装请点击.netcore运行环境下载这里注意,如果是只运行,则安装runtime即可,如果要调试开发,则安装SDK。项目准备我这里使用的是一个开源项目YiShaAdmin,项目生成后包含2个文件夹,我将这2个文件夹放到了服务器中。项目中分别包含一个可启动的dll。可以直接切换到相应目录下执行,如.

2021-05-18 23:04:33 291

原创 wsl安装mysql初始化数据库并设置服务自启

既然将wsl作为虚拟环境来使用,那我们就离不开数据库,刚好今天想部署一个项目,就先装一个mysql,结果在安装过程中遇到很多问题,这里也记录一下。安装【以Ubuntu为例】mysql的安装还是比较简单的,我们可直接执行以下命令等待完成即可。apt-get update;apt-get install mysql-server;这一步一般都没问题,但是,安装过程中并没有提供修改root密码的操作,这就导致数据库安装完成后,我们没办法登录~~~,那么该如何修改root的密码呢?启动mys

2021-05-18 00:34:48 1113

原创 wsl默认root密码修改及默认root登录

wsl创建完成后,是通过自定义的用户和密码进行登录的,而并没有设置root的密码,但很多情况下,都需要切换到root来操作,每次都sudo也不很方便。那么,root的默认密码在未设置的情况下该如何修改呢?>sudo passwd root即可修改root密码。那,如果想登录wsl的时候就以root登录该如何设置呢?首先,我们找到ubuntu.exe的路径,比如我这里是“C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubunt

2021-05-17 22:52:49 11231

原创 wsl安装及版本升级

对于需要用到linux系统,但是又没实际物理机的情况,我们多选择通过虚拟机来装载响应的镜像。现在,windows系统支持开启linux子系统,简称wsl,那么什么是wsl,其又有什么好处呢?什么是wslwsl是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。那该如何安装wsl,安装wsl又有何要求呢?安装wsl1.启用wsl#powersh

2021-05-14 21:42:20 1942

原创 wsl---ssh远程连接、ip映射及服务自启详细配置

在初步体验了wsl后,我们都想通过一些类似xshell的工具来进行连接,因为cmd真的是不太友好。那么,这里我们一般有2种方式来建立ssh连接。(一)生成密匙一般wsl自带ssh服务,若不存在则先安装,安装完成后先启动服务service ssh restart此时可能报错sshd: no hostkeys available -- exiting.这是因为缺少密匙文件,执行以下命令$ sudo ssh-keygen -t dsa -f /etc/ssh/ssh_hos

2021-05-13 18:28:01 2888 4

原创 wsl的存储路径

可以通过cmd命令\\wsl$来打开wsl的物理路径wsl的默认安装路径在C:\Users\JackLee\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc类型的路径

2021-05-13 15:28:43 3890

原创 layout control布局奇怪问题记录

1.layout control中包含一个label control,再程序中对labelcontrol.Text赋值时,界面不生效,但实际调试发现值已改变。解决:改用多线程异步都未生效(本身我自己也觉得不是异步问题),在赋值后,直接对控件进行Refresh,即焦点到该控件即可生效。2.layoutcontrol中有多个item,当对其中一个item1赋值时,即问题一中的赋值时,item2中的textedit会重绘(这不是重点),重点是文字会消失!!!解决:其实我也不知道是咋好了的,重启下编辑器

2021-05-13 11:56:40 242

原创 LayoutControl隐藏LayoutControlItem

隐藏:layoutControlItem9.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;展示:layoutControlItem9.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;

2021-05-10 13:52:27 878 1

原创 dev winform LayoutControlitem 设置Size

选中layoutControlItem右键->Size Constraints->Free sizing然后检查MaxSize、MinSize之类的属性,设置的size大小应该在这个max和min之间。还不行,得检查旁边的控件有没有lock size。还不行就手动拖到一个很小的值,然后在size里设一个精确的比原来更大的值。...

2021-04-28 10:43:44 814

原创 C#下反射动态加载dll后如何卸载?

最近在做项目的时候,遇到一个需求,需要通过选择的文件,先判断是C#dll还是C++dll,再判断dll是否是我们需要的特定dll,还是别的随便一个dll。经过研究发现,我们可以通过反射来加载dll,如果用C#的反射机制可以正确加载dll,那么就可以认为该dll是C#类型的,如果不能正确加载,我们再通过C++的方法来加载进行判断。判断是否特定dll的话,只需在判断完dll类型后,对dll中的特定类进行判断即可。但是这里,存在一个问题,通过反射加载完C#dll后,该dll即被占用,无法进行修改(比如

2021-03-15 14:37:19 1593

原创 哈希算法

什么是哈希算法1.定义:将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,原始数据通过映射之后得到的值即为二进制串的哈希值。2.一个优秀的哈希算法应满足什么样的条件? 1.不能反向推到出元数据(即单向哈希算法)。 2.对输入数据敏感,即使修改一个bit位,得到的结果也大不同。 3.散列冲突概率要小,对不同的原始数据,哈希值相同的概率非常小。 4.执行效率要尽量高,针对较长的串,也能快速计算出哈希值。3.例如MD5("今天我来讲哈希算法"...

2021-03-15 11:18:05 184

转载 CentOS下配置Java开发环境---安装OpenJDK

0. 前言  公司项目运行在centos下,很多底层细节已由前人配置优化,虽然使用无忧,但还是希望了解一下其中的细节,既为以后系统配置升级做准备,也进一步自己丰富知识面的细节。临近年终项目宽松,打算自己搭建一个开发环境,深入学习一下。本文记录一次centos下安装jdk的过程。配置如下:  系统版本:CentOS7.6  安装版本:java-1.8.0-openjdk1. 查看可安装JDK版本[root@vm04centos ~]# yum search java | grep..

2020-09-04 17:20:08 472

原创 Dev treelist设置文本显示位置

默认构造的treelist显示的文本,相邻两列是挨着的,这样导致显示的结果不是很清晰,通过以下方式即可,让文本的显示格式统一。这里,Near是靠左向右center是居中显示Far是靠右显示默认是Default,也就是相邻列以Near和Far间隔。...

2020-08-11 14:20:53 749

原创 DevExpress TreeList的三角形改成加号

将LookAndFeel中的属性改成UseDefaultLookAndFeel=fasle;UseWindowsXPTheme=true;就可以了

2020-08-10 15:38:15 273

原创 日志作用域及结构化日志组件serilog

上一节开始,我们学习了如何用日志框架来优雅的记录日志,这一节我们接着来学习一下日志相关的知识。我们都知道,在netcore中存在三种生命周期,分别是Singleton、Scoped、Transient。三种生命周期分别适用于不同的场景,相应的,如果我们要对各种各样的请求进行日志记录,是否也可以考虑日志的作用域呢?除了netcore的日志框架外,是否有第三方的类似log4net之类的可多样化记录日志的方式呢?你可以先思考一下,我们下面可以一块来看一下。日志作用域:解决不同请求之间的日志干扰作.

2020-08-06 17:39:21 1036

原创 如何实现文件断点续传功能

相信大家都使用过迅雷、电驴、百度云网盘等一类的工具,所有这些支持上传或下载的工具都有一个功能,那就是断点续传,也就是在你网络不佳传输断开时,传输会暂停,在网络恢复后,可以继续传输,从而避免数据的重复上传,以减少网络流量,提高效率。那么,你有仔细想过这其中的实现原理嘛?PS:这两天没更,一是研究了下这个东西,二是偷懒去嗨了我们之前利用rpc框架thrift做了一个远程通信的项目,具体是实现通过服务器对分布在各地的设备进行统一管理和控制,设备利用4G模块上网,因此,网络状况是影响稳定性的一个重要因.

2020-08-06 17:31:22 5405 1

转载 偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处

错误场景:在使用FileStream对象打开一个文件,想读到缓存中。由于缓存大小为1KB,所以需要分次读入。但在使用FIleStream.Read()方法时,错误代码:byte[] sendBuf=new byte[m_nBlockSize];int nRead=readFile.Read(sendBuf, nOffset, m_nBlockSize);当nOffset=1时,总是直接抛出错误:偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处错误原因:没有看清楚.

2020-08-03 14:57:23 2879

原创 不要把赌博情绪带入到投资行为中

本文章首发于公众号攻城狮客栈,有需要的朋友可文末扫描二维码。最近的股票基金大热,着实是疫情一来一个大的风口,不知道你是什么时候上车或是否在车上呢?投资之所以成为投资,是因为我们想让他产生正向的收益,让其随着时间越来越有价值,但相应的,投资有很多的误区。最常见的,大家都知道货币是越来越贬值的,说货币跑不过通胀之类的,所以要进行一些投资来保值。你是不是也这样认为呢?但是你有没有想过,投资有风险呀,不会投资而乱投资的话,可能你面临的不是跑不过,而是跑没了的境地。跑不过总比跑没了要好,所以,在投资时一定要谨

2020-07-31 14:34:38 983

原创 日志框架:聊聊记日志的最佳姿势

本文章首发于公众号攻城狮客栈,有需要的朋友可文末扫描二维码。相信开发过大型系统的同学们都知道,日志在系统中有着举足轻重的位置,一方面,通过日志系统可以记录具体的业务流程以便完成业务追踪,另一方面,当系统出现异常时,通过日志可以快速的定位问题。在平时的开发中,相信大家都用过记录日志到文件以及使用老牌日志框架log4net等,特别是在网站开发过程中,很多都集成log4net来进行日志记录。那么在Netcore中有哪些日志记录的方式呢?从本节开始,我们就一块来看一下吧。NETCore 支持适用于各种.

2020-07-31 14:12:33 436

原创 如何避免错误配置的应用接收用户流量?

本文章首发于公众号攻城狮客栈,有需要的朋友可文末扫描二维码。上一节,我们学习了通过选项框架IOptions<>来让服务组件集成配置,同时,也学习了让服务感知配置变更的选项配置热更新框架IOptionsSnapshot、IOptionsMonitor以及对配置进行操作的PostConfigure方法。那么,本篇,我们接着来学习一下如何通过为选项数据添加验证来避免错误配置的应用接收用户流量。一般的,我们可以通过以下三种方式来实现数据验证 直接注册验证函数 实现IV..

2020-07-30 15:20:22 194

原创 使用bat批处理来简化程序使用

有时候,当我们需要更改某些东西的时候,需要先执行好多操作,然后在复制或粘贴特定的路径文件到特定的路径等。为了简化每次的繁琐工作,我们可以将这些步骤用bat来处理,通过windows自带的命令来完成一些简单的操作。D:cd D:\Projects\RBot\NewDevicexcopy "RBot" "C:\Program Files\RBot\" /-Y /i /emkShortcut.vbs /target:"C:\Program Files\RBot\RBot.exe" /shortc

2020-06-01 15:17:36 306

原创 Is the docker daemon running?

有时候,在执行docker命令时,会有如下异常。Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?这是由于docker的daemon没有启动导致的,我们只需要执行service docker start 即可启动守护进程。返回Redirecting to /bin/systemctl start docker.service,问题解决。.

2020-05-13 22:35:31 2318

原创 .NET Core - 选项框架:服务组件集成配置的最佳实践

源码可访问https://github.com/IronMarmot/Samples/tree/master/CoreSamples更多课程详细内容,可识别下方二维码购买。【扫描二维码购买课程,可后台留言获得10元红包返现。】部分内容来源于网络,侵删。更多精彩内容,请微信搜索攻城狮客栈 或扫描下方二维码---------------------...

2020-05-08 22:31:04 304 1

原创 .NET Core - 自定义配置数据源:低成本实现定制化配置方案

源码可访问https://github.com/IronMarmot/Samples/tree/master/CoreSamples更多课程详细内容,可识别下方二维码购买。【扫描二维码购买课程,可后台留言获得10元红包返现。】部分内容来源于网络,侵删。更多精彩内容,请微信搜索攻城狮客栈 或扫描下方二维码---------------------...

2020-05-08 21:38:57 496

原创 .NET Core - 配置绑定:使用强类型对象承载配置数据

源码可访问https://github.com/IronMarmot/Samples/tree/master/CoreSamples更多课程详细内容,可识别下方二维码购买。【扫描二维码购买课程,可后台留言获得10元红包返现。】部分内容来源于网络,侵删。更多精彩内容,请微信搜索攻城狮客栈 或扫描下方二维码---------------------...

2020-05-07 09:59:10 447

原创 .NET Core - 配置变更监听:配置热更新能力的核心

源码可访问https://github.com/IronMarmot/Samples/tree/master/CoreSamples更多课程详细内容,可识别下方二维码购买。【扫描二维码购买课程,可后台留言获得10元红包返现。】部分内容来源于网络,侵删。更多精彩内容,请微信搜索攻城狮客栈 或扫描下方二维码---------------------...

2020-05-06 15:07:41 634

原创 .NET Core - 环境变量配置和文件提供程序配置方式详解

源码可访问https://github.com/IronMarmot/Samples/tree/master/CoreSamples更多课程详细内容,可识别下方二维码购买。【扫描二维码购买课程,可后台留言获得10元红包返现。】部分内容来源于网络,侵删。更多精彩内容,请微信搜索攻城狮客栈 或扫描下方二维码---------------------...

2020-05-03 23:55:46 906

C# GDI+实现网格绘制,并显示内容

C# GDI+实现的网格绘制功能,同时,项目包含了GDI+的基本功能介绍和使用项目,工程使用vs2012编写,已通过编译。

2019-04-22

GUI+绘图实现截屏功能

项目包含了对GDI+技术的介绍以及Pen/Brush和坐标轴转换的基本用法,最主要的是包含了用C# GDI+绘图实现的截屏功能,工程为vs2012编写,可以直接运行。

2019-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除