自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

转载 C/C++编程学习:MD5算法代码实现

我们在计算算法的时候,通常都会使用MD5加密算法,而一般实现这些操作都以来函数,下面是C/C++MD5算法的实现代码,希望能为你带来帮助。md5简介消息摘要算法第五版(英语:Message-Digest Algorithm 5,缩写为MD5),是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有MD5的实现。将数据 (如一段文字)运算变为另一固定长度值,是散列算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5由M...

2021-04-30 15:21:11 526 1

转载 干货整理!10个Python图像处理工具,入门必看,提效大法

在图像处理领域,一库在手,相当于天下已有。但是今天给大家推荐10个好用的库,快来看看有哪些吧~有一位搞数据科学的小姐姐Parul Pandey,整理了一份实用Python图像处理工具,内含十大经典Python库。这份资源中的工具可用于图像处理中的常见任务,包括裁剪、翻转、旋转、图像分割、分类和特征提取、图像恢复和图像识别等。可谓干货满满,图像处理提升效率必备。1、scikit Imagescikit-image是一个与numpy数组配合使用的开源Python包,在学术研究、教育和行业领域...

2021-04-28 15:21:05 124

转载 C/C++编程笔记:C中的strpbrk()函数及其应用

此函数在字符串s1中找到与s2中指定的任何字符匹配的第一个字符(不包括终止空字符)。句法 :char * strpbrk(const char * s1,const char * s2)参数 :s1:要扫描的字符串。s2:包含要匹配的字符的字符串。返回值:它返回一个指向s1中的字符的指针,该字符 匹配s2中的字符之一,否则返回NULL。例: #include <stdio.h> #include <string.h> int main(...

2021-04-26 08:20:08 117

转载 Spring Security 整合 微信小程序登录的思路探讨

1. 前言原本打算把Spring Security中OAuth 2.0的机制讲完后,用小程序登录来实战一下,发现小程序登录流程和Spring Security中OAuth 2.0登录的流程有点不一样,就把写了半天的东西全部推翻了。但是,但是过了一天之后,突然感觉又可以了。我们来一起试一试。2. 小程序登录流程分析小程序的登录流程是这样的:而在Spring Security中的OAuth 2.0 Code模式是这样的:从这两张图上看最大的差别就是微信小程序中获取code不需要通过后端服务器的..

2021-04-25 20:21:10 660

转载 【PyCharm中文教程 08】远程代码调试图文教程

一般情况下,我们开发调试都是在个人PC上完成,遇到问题,开一下 Pycharm 的调试器,很快就能找到问题所在。可有些时候,项目代码的运行会对运行环境有依赖,必须在部署了相关依赖组件的服务器上才可以运行,这就直接导致了我们不能在本地进行调试。对于这种特殊的场景,就我所知,有如下两种解决方案:pdb远程调试关于 pdb,之前也写过专门的文章介绍使用方法,你可以点此查看:无图形界面的代码调试方法 - pdb而远程调试呢,是让我们可以在我们在 PC 上用 PyCharm 的图形化界面来进行调试远方服.

2021-04-25 08:20:17 95

转载 线程池如何传递ThreadLocal

前言在做分布式链路追踪系统的时候,需要解决异步调用透传上下文的需求,特别是传递traceId,本文就线程池透传几种方式进行分析。其他典型场景例子:分布式跟踪系统 或 全链路压测(即链路打标)日志收集记录系统上下文Session级Cache应用容器或上层框架跨应用代码给下层SDK传递信息1、JDK对跨线程传递ThreadLocal的支持首先看一个最简单场景,也是一个错误的例子。 void testThreadLocal(){ ThreadLocal&..

2021-04-24 20:21:20 888

转载 使用FastReport报表工具生成图片格式文档

之前我在随笔《使用FastReport报表工具生成报表PDF文档》介绍过使用FastReport.Net来根据报表模板进行生成PDF,以及随笔《使用FastReport报表工具生成标签打印文档》介绍过生成标签文档的处理,基本上都是基于模板进行生成PDF的做法,由于PDF在手机端显示总是觉得不那么方便,不管使用pdfjs或者直接打开PDF,都不太令客户满意,客户希望直接展示图片的方式显示。本篇随笔介绍如何使用FastReport.Net来直接生成报表格式的图片文件。1、报表模板及数据绑定处理FastRe.

2021-04-23 15:21:05 834

转载 Github原生CI/CD,初尝Github Actions

Github 原生 CI/CD,初尝 Github ActionsIntroGithub 目前已经推出了自己的 CICD 服务 —— Github Actions,而且比微软的 Azure DevOps Pipelines 对开发者来说更友好,使用起来更好用。Github Actions 核心概念总体看下来感觉是从 Azure Pipelines 迁移过来的东西,有许多概念和 Azure Pipelines 是类似的,如果你之前用过 azure pipelines,应该很容易上手Runner .

2021-04-23 08:20:11 161

转载 [Abp vNext 源码分析] - 13. 本地事件总线与分布式事件总线 (Rabbit MQ)

一、简要介绍ABP vNext 封装了两种事件总线结构,第一种是 ABP vNext 自己实现的本地事件总线,这种事件总线无法跨项目发布和订阅。第二种则是分布式事件总线,ABP vNext 自己封装了一个抽象层进行定义,并使用 RabbitMQ 编写了一个基本实现。在使用方式上,两种事件总线的作用基本相同。事件总线分布在两个模块,在 Volo.Abp.EventBus 模块内部,定义了事件总线的抽象接口,以及本地事件总线 (ILocalEventBus) 的实现。分布式事件总线的具体实现,是在 Vo.

2021-04-22 15:21:17 515

转载 《Dotnet9》系列-开源C# Winform控件库1《HZHControls》强力推荐

大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员。我最近在写dotnet分享文章,希望能让更多人看到dotnet的发展,了解更多dotnet技术,帮助dotnet程序员应用dotnet技术更好的运用于工作和学习中去。文章阅读导航一、写在前面的话二、HZHControls介绍2.1 控件2.1.1 表单控件2.1.2 按钮2.1.3 选项卡2.1.4 树2.1.5 平铺列表2.1.6 导航2.1.7 横向列表2.1.8 自定义表格2.1.9 进度条2...

2021-04-21 15:21:19 287

转载 《Dotnet9》系列-开源C# WPF控件库2《Panuon.UI.Silver》强力推荐

时间如流水,只能流去不流回!点赞再看,养成习惯,这是您给我创作的动力!本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform、WPF、ASP.NET Core等,亦有C++桌面相关的Qt Quick和Qt Widgets等,只分享自己熟悉的、自己会的。今天站长(Dotnet9,站长网址:https://dotnet9.com, 微信公众号:dotnet9_com)推荐另一款开源的WPF控件库(PanuonUI.Silver,gi..

2021-04-21 08:20:23 262

转载 DevExpress的LookUpEdit怎样不显示列名

场景DevExpress的下拉框控件LookUpEdit的使用、添加item选项值、修改默认显示值:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102464577参照上面实现的LookUpEdit实现的效果为除了要显示的选项外,还有一个列名Column显示。注:博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号霸道的程序猿 获取编程相关电子书、教程推送与...

2021-04-20 20:21:16 264

转载 LiteByte教程

简介LiteByte是一种轻量级的二进制数据交换格式。体积小巧、简单易用是设计目标。主要用于解决前后台数据传输量的问题。作者:冰封百度(ZhangYu)设计的灵感来源于C# struct内存对齐后的紧凑格式。暂时只实现了C#版本。特点1.紧凑的二进制数据格式,支持变长整型,数据量小。2.用近似代码定义类的方式定义对象结构,使用方便。实现思路把一个对象分为两个部分:结构和值。结构用配置文件定义,越方便越好。值用于网络传输,越小越好。前后台依赖相同的结构配置文件,转换时把对象的值拆出来传输.

2021-04-20 15:21:05 183

转载 2、IOC--手写Unity容器--第一层依赖注入

这个场景跟《手写Unity容器--极致简陋版Unity容器》不同,这里构造AndroidPhone的时候,AndroidPhone又依赖于1个IPower,因为打电话没电了需要充电。一、条件1、容器--工厂2、集合3、反射4、特性-相当于配置二、思路1、RegisterType<TFrom,TTo>()把完整类型名称当作key放入数据字典,把类型当作value放入数据字典方法2、Resolve<T>(),根据完整类型名称从字典中取出类型3、得到类型构造函数的参数类型,创建.

2021-04-20 08:20:12 107

转载 C# Charts绘制多条曲线

一、创建winform工程 拖拽控件Chart二、比如要绘制俩条曲线,设置Chart控件的属性Series三、chart的属性根据自己的业务需求设计,我这里只设置了图标类型  代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;us.

2021-04-19 15:21:22 1059

转载 聊聊c#字符串拼接

字符串对我编程人员来说是字符串时每天见面的常客,你不认识不熟悉他都不得行,字符串的拼接更是家常便饭,那么在实际开发过程中实现字符串的拼接有哪一些方式呢?咱们一起来聊聊,来交流沟通,学习一波。也许你会说,那也太简单了嘛,谁不会啊,哈哈,使用起来确实简单,但是不一定我们都使用的方式还有优秀的方式吗?在文章前,我们先简单聊聊关于string的数据类型存储必须了解概念: string是一个引用类型,是一个sealed类,存储在堆内存上,每一次修改都会从新创建一个新的string来存储,原始的会自...

2021-04-19 08:20:24 8857

转载 记一次画图出现的小细节,导致我找了3天多

项目里 要用到画图 并且最大化 和常态都要自适应 并且线还能被擦掉 我就没画在图片上(主要是这个是老大开发自定义控件 我不知道怎么画在这个控件的图片上。。。),然后就出现了下图的运算 var x1 = ImgXInfo.lineStartPoint.X * ImgXInfo.MaxWidth / ImgXInfo.MinWidth; var y1 = ImgXInfo.lineStartPoint.Y...

2021-04-18 20:21:17 54

转载 动手造轮子:写一个日志框架

动手造轮子:写一个日志框架Intro日志框架有很多,比如 log4net / nlog / serilog / microsoft.extensions.logging 等,如何在切换日志框架的时候做到不用修改代码,只需要切换不同的 loggingProvider 就可以了,最低成本的降低切换日志框架的成本,处于这个考虑自己写了一个日志框架,为不同的日志框架写一个适配,需要用到什么日志框架,配置一下就可以了,业务代码无需变动。V0最初的日志强依赖于 log4net,log4net 是我使用的第一个.

2021-04-18 15:21:05 140

转载 C# 将PDF转为Word、Html、XPS、SVG、PCL、PS——基于Spire.Cloud.SDK for .NET

Spire.Cloud. SDK for .NET 提供了接口PdfConvertApi可用于将PDF文档转换为其他格式文档,如Word(docx/doc)、Html、XPS、SVG、PCL、PS、Png以及XPS转成PDF。本文将选取其中几种格式为例,介绍具体转换方法。必要步骤:步骤一:dll文件获取及导入。在VS程序中通过Nuget搜索下载,直接导入所有dll。导入效果如下如所示:步骤二:App ID及Key获取。在云端创建账号,并在“我的应用”板块中创建应用以获得Ap...

2021-04-18 08:20:20 262

转载 Wireshark抓包,带你快速入门

前言关于抓包我们平时使用的最多的可能就是Chrome浏览器自带的Network面板了(浏览器上F12就会弹出来)。另外还有一大部分人使用Fiddler,Fiddler也是一款非常优秀的抓包工具。但是这两者只能对于HTTP和HTTPS进行抓包分析。如果想要对更底层的协议进行分析(如TCP的三次握手)就需要用到我们今天来说的工具Wireshark,同样是一款特牛逼的软件,且开源免费自带中文语言包。安装和基本使用Wireshark开源地址:https://github.com/wireshark/wire.

2021-04-17 20:21:13 361

转载 C#中调用Windows系统服务exe程序的工具类与重启服务的流程

场景使用C#编写的Windows服务程序,在Winform中进行调用。常用工具类方法检测服务是否存在或者安装,获取服务状态,启动服务,停止服务的方法。以在Winform中重启服务为例。注:博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载 实现新建工具类WinServiceHelper检测服务是否安装或者存在的方法 /// <summary> ..

2021-04-17 15:21:12 495

转载 asp.net core系列 74 Exceptionless服务端安装

一. Docker安装  Docker 要求版本Docker 18.09.0+以上  安装地址:https://www.runoob.com/docker/windows-docker-install.html  1.操作系统win10系统,在启用或关闭Windows功能中,开启hyper-v,安装后占用磁盘大小2.84 GB。  2.安装后,在cmd中使用docker version查看版本信息为19.3。在电脑右下角有个小鲸鱼图标,在服务器每次重启后,docker进程会自动开启。  ...

2021-04-16 20:21:21 457

转载 证明task线程是来源于线程池的,线程重用

1、线程池是单例的,全局唯一的,设置线程池最大活跃线程数是5,设置后,允许同时并发的Task只有5个,我们开启100个task去做任务,从最后的输出结果看到,虽然开启了100个task,但是线程id始终是那5个如图所示2、结论:证明task是来源于线程池的,而且线程是重用的namespace task_threadpool{ class Program { static void Main(string[] args) { T.

2021-04-16 15:21:18 282

转载 C#面向对象--结构

  一、结构(Struct)是CTS中五种基本类型之一,是一种值类型,同样封装了同属一个逻辑单元的数据和行为,这些数据和行为通过结构中的成员表示;结构与类共享大多数相同的语法,但结构比类受到的限制更多,结构适用于表示轻量级类型;使用struct关键字定义结构://定义一个公共结构MyStructpublic class MyStruct{ public int MyField; //声明一个int类型的公共实例字段 public void MyFunc() //声明一个公共实例方法.

2021-04-15 15:21:26 158

转载 C# 访问修饰符

访问修饰符:1.public:公有的 所有的类都可以访问2.private:私有的 当前类内部可访问3.protected:受保护的 当前类以及继承他的子类可访问4.internal:内部的 只限于本项目内访问,其他的不能访问。5.protected internal:内部保护访问 只能是本项目内部或子类访问 其他类不能访问访问级别约束:1.父类子类访问修饰符要保持一致2.方法的访问修饰符要和方法参数的访问修饰符 保持一致默认的访问级别:类和接口默认访问级别 : internal类的.

2021-04-14 20:21:27 96

转载 Centos7 使用Docker 部署mssql 2017

mssql是.NET的标配,一般使用.NET的人基本都用mssql。以前mssql只能支持windows平台,从微软打出 拥抱开源 的口号开始,mssql的2017 版本,开始支持linux系统。一开始,我是直接在centos中安装mssql的,总的来说,比windows快很多。但是现在都使用容器技术,docker也确实给人带来很多方便。所以,我也弃用原有的直接在系统安装的方式,在linux中安装docker。并使用docker安装mssql。全程非常简单,简化了很多工作。只需要一条命令即可完成。.

2021-04-14 15:21:25 150

转载 C# 制作关键字醒目显示控件

实现方式:WinForm自定义控件,继承系统Label控件实现。第1步:创建“组件”,取名为:MarkLabel第2步:修改添加如下代码: /* 添加命名空间引用: * using System.Windows.Forms; * using System.Drawing; * */ public partial class MarkLabel : Label // 继承自: System.Windows.Forms.Labe...

2021-04-13 20:21:16 180

转载 C#面向对象--属性

  一、属性(Property)作为类和结构的成员,是对字段的一种封装方式,实际上是一种特殊的方法,被称为访问器(Accessor),从而隐藏实现和验证代码,有助于提高字段读取和赋值的安全性和灵活性;  1.属性访问器包含两种类型:用于读取并返回值的get访问器,用于赋值新值的set属性访问器;通常将字段声明为私有字段,然后通过属性来对其进行访问:private int myNum = 10; //属性要读取和赋值的字段,也被称为后备字段(Backing Field)public int MyNu.

2021-04-13 15:21:08 338

转载 .Net Core调用oracle存储过程

一 前言  实战踩坑系列,调用第三方Oracle存储,各种血泪史,现记录如下。二 入坑  首先,调用Oracle需要安装客户端驱动才行,但是在程序开发中下载客户端驱动是一个不明智的选择。于是,不管是微软,还是oracle,都提供了方便我们程序开发的插件(dll/nuget),如System.Data.Oracle,Oracle.ManagedDataAccess。下图搜索结果中Oracle.ManagedDataAccess.EntityFramework包含Oracle.ManagedDataAc.

2021-04-12 20:21:30 327

转载 swagger,参数,list,swaggerui测试list&lt;string&gt;类型参数示例

在ASP.net、C#、.netfreamwork环境下:使用swaggerui时,如果入参格式为 List<string>,List<int> 等形式,后台经常无法接收到参数,接收到的值为null,或count为0:一、HttpGet示例:后台示例:1.经测试,后台List<string>,List<int>格式的入参,HttpGet必须加参数属性 [FromUri]http://192.168.0.101:9085/api/Histo...

2021-04-12 08:20:09 971

转载 .Net Core 为 x86 和 x64 程序集编写 AnyCPU 包装

前言 这几天研究了一下 vJoy 这个虚拟游戏手柄驱动,感觉挺好玩的。但是使用时发现一个问题,C# SDK 中的程序集被分为 x86 和 x64 两个版本,如果直接在 AnyCPU 平台编译运行就有隐患,在32位系统中运行程序时会因为程序集版本不兼容而崩溃。这个 SDK 的两个版本文件名完全相同,根据 .Net 程序集的加载规则,我们是无法在不做任何工作的情况下实现共存的。对于平台特定程序集,目前的主流做法是把程序集放到以平台名称命名的文件夹中。通过一个包装程序集完成载入和调用。正文 ...

2021-04-11 20:21:31 424

转载 Blazor-断开连接后重新加载浏览器

在大多数情况下,Blazor将与以前相同的线路上重新连接到服务器。但有时无法重新连接,需要重新加载web浏览器才能使网站重新工作。如果服务器回收应用程序池,则需要手动重新加载页面在没有调试的情况下在IIS Express上开发和运行站点时,使用自动重新加载可以加快开发过程。只需保存您的文件并切换到web浏览器,它将在编译完所有内容并准备就绪时自动刷新。有一种方法可以自动重新加载浏览器。 前一段时间,丹·罗斯(Dan Roth)在Github上发布了一个解决方案,将以下脚本粘贴到_host.cshtml中。.

2021-04-10 08:20:24 1182

转载 C#之LINQ

出来工作学习的越来越多了,对C#也是理解越来越深,总是想找个时间总结一下自己学过的东西,文字记录,经常翻看,查缺补漏的让自己不至于变得善忘,遂就有了此系列,权当复习巩固之用。 一、概述 1.什么是Linq?不管我们进行什么项目的开发,跟数据打交道绝对是绕不过去的,有了数据,我们难免要去操作数据,大量的数据给我们带来了操作的麻烦,.net为了解决这个问题,在 .NET Framework 3.5 版中引入的一项创新功能,它在对象领域和数据领域之间架起了一座桥梁,它就是LINQ(...

2021-04-09 20:21:10 169

转载 字符串连接

通过+、+=连接。var str = "aa" + "bb" + "cc";str += "dd";字符串内插var str = $"aa{(5+9)}bb{(89+90)}";使用StringBuildervar sb = new System.Text.StringBuilder();var sb1 = new System.Text.StringBuilder();for (int i = 0; i < 20; i++){ sb.AppendLine(i.T.

2021-04-08 20:21:14 52

转载 dotnet C# 序列化 XML 时进行自动格式化

默认的序列化对象为 XML 字符串时,是没有进行格式化的,也就是所有的内容都在相同的一行。本文告诉大家方法,在序列化对象时,转换的 XML 是格式化的。或者说拿到 XML 字符串,对这个 XML 字符串进行格式化在序列化某个对象的时候,序列化出来的 XML 进行格式化,可以在创建的 XmlWriter 传入 XmlWriterSettings 设置 Indent 属性,如下面代码 public static string Serialize<T>(T obj) .

2021-04-08 15:21:22 497

转载 你好,布尔玛!(Blazor组件库)

Blazor 官方简介Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI。共享使用 .NET 编写的服务器端和客户端应用逻辑。将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。与新式托管平台(如 Docker)集成。使用 .NET 进行客户端 Web 开发可提供以下优势:使用 C# 代替 JavaScript 来编写代码。利用现有的 .NET 库生态系统。在服务器和客.

2021-04-08 08:20:08 231

转载 dotnet core TargetFramework 解析顺序探索

dotnet core TargetFramework 解析顺序测试Intro现在 dotnet 的 TargetFramework 越来越多,抛开 .NET Framework 不谈,如果一个类库支持多个 TargetFramework 应用实际运行的时候会使用哪个版本的 API 呢,之前一直都是想当然的自以为是了,于是想测试一下实际解析是怎么样的,来看下面的示例吧SampleLibrary Sample首先来看类库示例项目:项目文件如下:类库提供了多个 TargetFramework 的.

2021-04-07 15:21:15 176

转载 .NET探索模型路由约定实现伪静态

概述IPageRouteModelConvention接口用于自定义PageRouteModel,这个对象在Microsoft.AspNetCore.Mvc.ApplicationModels命名空间中,代表着Razor Page路由设置,换句话说我们可以通过实现该接口覆盖默认的实现。该接口需要实现一个成员void Apply(PageRouteModel model)。通过这个方法,我们可以访问有关当前路由设置的元数据,并根据需要对其内容进行修改。下面示例,将解决提供一个伪静态的解决方案,因此我.

2021-04-07 08:20:08 98

转载 [WPF 学习] 11.虚拟键盘之庸人自扰

在带键盘鼠标的电脑上编写应用于触屏电脑的项目,为了能输入中文、英文、数字等各种庸人自扰。一、自己画了个键盘为了实现能输入中文,还简单编写了个拼音输入法,各种折腾,始终不是很舒服。最后客户要求手写输入中文,于是就完全放弃了。二、折腾TabTip.exewin10的虚拟键盘是一个程序,即c:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe,文本框获得焦点后,运行如下代码 var file = "C:\.

2021-04-06 08:20:05 520

转载 基于.NetCore3.1系列 —— 使用Swagger导出文档 (补充篇)

前言 在上一篇导出文档番外篇中,我们已经熟悉了怎样根据json数据导出word的文档,生成接口文档,而在这一篇,将对上一篇进行完善补充,增加多种导出方式,实现更加完善的导出功能。回顾 1. 获取Swagger接口文档的Json文件 2. 解析Json文件数据填充到Html的表格中 3.根据生成的html转work文档功能开始根据生成的html转work文档 /// <summary> /// 静态页面转文件 ///...

2021-04-05 08:20:22 257

空空如也

空空如也

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

TA关注的人

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