自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟爱飞不飞的博客

不讲理论,只讲实战

  • 博客(101)
  • 资源 (5)
  • 收藏
  • 关注

原创 NX二次开发编译时dll自动数字签名及拷贝

在UG5.0开始,所有基于UG二次开发的DLL都要“签名”后才能被客户端上正版的NX调用。

2023-02-16 18:00:50 1419 1

原创 CATIA二次开发 “无效的类字符串” 错误解决办法

CATIA二次开发常见问题

2022-12-08 13:52:31 1870

原创 office 2016 word文档另存为pdf之后文本内容显示不全

office 文档另存为pdf之后 内容显示异常问题解决办法

2022-08-01 17:30:38 1278

原创 Duende.IdentityServer——添加认证策略

上一章我们已经获取到了token,本文我们对webApi添加认证策略1、修改HostingExtensions.cs中的ConfigureServices方法添加如下代码//添加认证策略builder.Services.AddAuthorization(options =>{ //策略名称为ApiScope options.AddPolicy("ApiScope", policy => { policy.RequireAuthenticatedUs.

2022-03-15 11:24:54 909

原创 Duende.IdentityServer——快速开始

一、新建鉴权中心服务1、安装Duende.IdentityServer模板打开命令行工具,输入以下命令(若已安装,直接跳过)dotnet new --install Duende.IdentityServer.Templates2、新建 ROC.Identity.Center项目,框架选择.net 6打开vs 2022 新建解决方案命名为ROC.Identity.Center,选择Duende IdentityServer Empty(Duende Software)创建完成之后的项目结构

2022-03-15 11:20:56 5129

原创 centos 8修改静态ip

1、使用root账户进入网络配置文件夹cd /etc/sysconfig/network-scripts/2、修改网络配置文件:ifcfg-ens33vim ifcfg-ens33修改的参数如下IPADDR=192.168.1.88 #静态IPGATEWAY=192.168.1.1 #默认网关DNS1=192.168.1.1 #DNS 配置修改完成之后保存并退出。3、重启网络服务nmcli c reload4、ssh连接,并查看ip...

2022-03-12 10:48:09 6260

原创 .Net6+webApi 给swagger添加token

开发webApi 的时候,大多数情况会使用swagger调试接口,但是当api添加了权限认证注解的时候,就必须携带token才能访问,否则会返回401状态码提示无访问权限。解决办法有两种:(1)使用postman等调试工具携带token调试;(2)给swagger接口文档的请求头添加token。本文主要演示给swagger接口文档的请求头添加token。一、修改Program.cs将builder.Services.AddSwaggerGen()添加以下配置builder.Services.

2022-03-11 17:04:11 5903

原创 01-设计模式之单例模式

一、定义一个类只存在一个实例,并且该实例由单例类自己创建。二、特点只有一个实例必须由单例类自己创建实例必须提供一个全局访问点三、结构单例类:包含一个实例并可以自己创建实例的类当问类:使用单例的类四、实现1、实现(1) 单例类构造函数私有化(2)定义全局私有变量,类型为单例类(3)定义全局访问访问方法,方法中创建单例类的实例2、模式(1)线程安全饿汉式:单例类在程序加载的时候就已经创建了实例,访问类可以直接调用加锁机制:利用双重判断加锁的方式保证单线程创建实例

2022-03-07 16:37:35 216

原创 设置minio 支持https访问

一、安装opensslⅠ、windows平台1、下载安装包方式一:官网下载方式二:第三方制作方式三:本站资源,将上述两种方式的安装包上传到了本站,方便下载2、安装opensslwindows平台建议通过上述方式二下载安装包,然后默认安装即可,安装完成后配置环境变量如图则配置成功Ⅱ、linux平台输入whereis openssl检查系统是否自带openssl,若没有则参考该文安装二、生成自签名CA证书和私钥Ⅰ、windows平台1、生成私钥在指定文件夹下如:D:\d

2022-01-18 16:38:52 5456 1

原创 centos8 安装 dotnet sdk 6.0

一、离线安装(推荐)1、下载安装包官网下载地址2、安装(1)将安装包上传到linux服务器上的指定目录,如:/software/dotnet/sdk,运行下面指令解压,解压完成后删除安装包tar zxf dotnet-sdk-6.0.101-linux-x64.tar.gz(2)配置环境变量,执行以下脚本vim /etc/profile在文件末尾添加如下配置export DOTNET_ROOT=/software/dotnet/sdkexport PATH=$PATH:/soft

2022-01-17 18:03:44 2462 1

原创 linux 安装minio并设置开机自启动

一、下载minio下载地址:官网二、安装并启动(1)将下载下来的minio文件上传到linux服务器的指定目录下,如 /software/minio 文件夹下(2)启动cd /software/minio# 赋予minio应用可执行权限chmod +x minio# 启动minio 的脚本nohup ./minio server ./data --console-address ":9001" > ./minio.log 2>&1 &说明./mini

2022-01-13 21:10:20 5013 4

原创 linux 安装dapr

前言操作系统版本:centos8一、下载dapr cli安装包我这里使用1.5版本:https://github.com/dapr/cli/releases/tag/v1.5.1二、安装dapr cli将下载好的安装包上传到服务器上的指定位置,如:/software运行以下脚本:cd /software# 解压到当前目录tar -xzvf dapr_linux_amd64.tar.gz# 移动到/usr/local/binmv dapr /usr/local/bin三、

2022-01-13 16:12:32 1301

原创 C# RabbitMQ: None of the specified endpoints were reachable

问题:docker 部署的mq使用5672端口连接始终被拒绝,报错信息如下RabbitMQ: None of the specified endpoints were reachable分析:因为我在启动容器的时候,宿主机的5672端口被占用,所以映射到了宿主机的7888端口docker run -d --name rabbitmq -p 7888:5672 -p 15672:15672 -v D:/workspace/dockermap/rabbitmq/data:/var/lib/rabbi

2021-08-16 16:50:57 2815

原创 重置windows 所有端口

管理员身份打开CMD命令行输入netsh winsock reset重启计算机

2021-07-14 15:47:36 3229

原创 02-17 windows下更换docker正在运行的容器的端口

一、思路利用docker commit构建新的镜像(所有数据都会保留),再重新构建新的容器注意:以下操作可能会丢失容器中的数据,如果有备份条件请先备份再进行以下操作。二、运行新的容器(1)停止容器docker stop 容器名称/id(2)构建新的镜像docker commit [容器名称/id] new_imagename:tag (3)启动新的容器docker run --name [新的容器名称] -p [宿主机新端口]:[容器端口] new_imagename:tag

2021-07-12 17:41:50 563

原创 02-16 docker设置elasticsearch 和 kibana密码

目录一、设置elasticsearch密码1、修改elasticsearch.yml,配置密码认证2、设置elasticsearch密码二、设置kibana密码1、修改kibana.yml,配置es密码三、访问kibana一、设置elasticsearch密码1、修改elasticsearch.yml,配置密码认证(1)停止elasticsearch容器docker stop elasticsearch(2)将elasticsearch.yml复制到宿主机并修改docker cp elasti

2021-07-09 15:18:06 728

原创 02-15 docker安装rabbitmq

目录一、查找镜像二、拉取镜像三、运行容器1、运行以下脚本错误信息解决方案2、启动rabbitmq_management四、配置端口防火墙五、进入管理界面一、查找镜像去dockerhub查找合适的镜像二、拉取镜像(1)win+R输入cmd,打开命令行窗口,执行以下命令docker pull rabbitmq(2)查看镜像三、运行容器1、运行以下脚本docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v D:/worksp

2021-05-14 10:57:24 222 1

原创 SpringBoot bean 注入到Map中

在SpringBoot中,经常会使用@Autowired将bean自动注入到Map中,下面我们以工厂模式为例,通过配置获取接口实例。1、创建接口接口中定义一个成员变量作为bean名称的前缀,待会儿在注入实现类的时候使用public interface DefaultDemoHandle { public static final String COM_Name= "DemoHandle"; String getMessage();}2、添加实现类试下类使用@Servic.

2021-05-06 11:10:49 7728 1

原创 09-01 C#表达式目录树

目录一、定义二、与委托的区别1、在扩展方法表达式中的区别2、声明方式的区别3、执行的区别三、表达式目录树的本质一、定义表达式目录树是一种语法树,是一种数据结构二、与委托的区别1、在扩展方法表达式中的区别List<Person> persons = new Person().Query();persons.Where(p => p.Id == 1); // where扩展方法传入的是一个委托persons.AsQueryable().Where(p => p.Id

2021-02-06 17:37:23 796

原创 08-04 多线程之Task

目录前言一、Task开启线程的方式1、Task实例化2、Task.Run()静态方法3、TaskFactory二、Task由线程池管理三、父子线程前言Task诞生于.NETFramework 3.0,同时支持.NET CoreTask被称为C# 中多线程的最佳实现一、Task开启线程的方式1、Task实例化Task task = new Task(() =>{ Console.WriteLine($"==================new Task start {Th

2021-02-06 17:36:58 3600

原创 08-03 多线程之ThreadPool

目录前言一、池化思想(循环利用,节能减排)前言Thread功能虽然强大,但是不是很好用,有很多的缺点,如:框架不会去控制线程的数量,容易被滥用,造成服务器崩溃;所以在.net framework 2.0推出了线程池,是基于Thread做了升级后的产物一、池化思想(循环利用,节能减排)如果某个对象创建和销毁的代价比较高,同时这个对象还需要反复的使用,就需要一个池子保存多个这样的对象,需要的时候从池子里面取,用完之后放回池子,不用销毁(享元模式);可以做到节约资源提升性能,此外还能管控总的数量,防

2021-02-06 17:36:35 269

原创 Blazor Server中为Razor组件添加CSS隔离文件,样式不生效

前言Razor组件添加CSS隔离应当是使用最为简单,也是使用最为方便的一种CSS隔离方式。实现Razor组件间CSS隔离非常简单,只需要在组件所在的目录下建立同名的.razor.css文件即可——若文件夹A下存在名为Component.razor的组件,则只需要在文件夹A下建立Component.razor.css,即可实现为Component.razor组件设置单独的样式而不影响其他组件。组件CSS文件(Component.razor.css)将会被生成为“项目名.styles.css”的文件,在.N

2021-02-05 23:47:31 5642

原创 Electron.net + Ant design Blazor使用 electronize start 报错无法启动

原因:Ant design Blazor 默认利用gulp:pro启动,与electron冲突解决方法:将项目.csproj文件中的红框标记的配置删掉即可

2021-02-04 01:50:54 576

原创 08-05 多线程之Task高级篇

目录一、Parallel1、推出时间2、控制线程数量二、多线程进阶1、多线程异常获取2、线程取消(1)全局变量法(2)CancellationTokenSource对象一、Parallel1、推出时间Parallel是.netframework 4.5版本推出Parallel 并发执行多个Action,多线程执行,线程id也不相同主线程参与计算,所以会阻塞主线程,卡顿界面相当于Task.WaitAll()/// <summary>/// .netframework 4.5版

2021-02-02 11:46:12 374 1

原创 08-02 多线程之Thread

目录一级目录二级目录三级目录一级目录二级目录三级目录

2021-02-02 11:45:53 175

原创 08-01 多线程之异步

目录一、进程与线程1、定义2、关系二、C# 中的多线程1、同步方法本质特点2、异步方法本质特点三、多线程进阶1、控制线程执行顺序2、获取线程返回值一、进程与线程1、定义进程:是系统进行资源分配和调度的一个独立单位,记录当前程序在运行的时候对各种资源的消耗,,是一个虚拟概念线程:线程是进程的实例,计算机在执行某个动作,一个最小的执行流,也是虚拟概念句柄:句柄其实就是一个数字,对应计算机程序中的最小单位,如:当前程序运行Id。2、关系一个进程包括多个线程二、C# 中的多线程Thread是

2021-02-02 11:45:33 368

原创 06-01 C# Lambda表达式的发展史

目录一、lambda在framework 1.0版本中的形态二、lambda在framework 2.0版本中的形态三、lambda在framework 3.0版本中的形态1、3.0初期版本中的形态2、3.0后期版本中的形态发展四、lambda表达式的本质五、本文代码前期准备:在类的内部定义几个委托和方法//先定义几个自定义委托public delegate void NoReturnNoPara();public delegate void NoReturnHasPara(int x, int y

2021-02-02 11:44:57 320

原创 07-03 C# Linq扩展方法和表达式

针对IEnumerable类型数据

2021-02-02 11:42:25 1350

原创 04-01 C# 委托的声明与实例化

目录一、委托的定义二、委托的声明1、声明委托2、在该类中定义方法,参数返回值与声明的委托对应3、委托的实例化与调用4、委托的本质三、委托的应用场景四、代码地址一、委托的定义将方法当作参数传递,就是委托。二、委托的声明委托类似于方法,可以有参数和返回值,但是没有方法体(但是委托的本质不是一个方法),需要用delegate修饰,可以在类的内部声明,也可以在类的外部声明。1、声明委托namespace Lanyp.Course.Delegate{ #region delegate out o

2021-02-02 11:42:01 856

原创 07-01 C# Linq的诞生

目录一、linq存在的意义二、linq诞生过程思考1、方案一:通过循环和if判断来筛选数据2、方案二:扩展方法(1)最初版本(2)进化版本(3)最终版本观察三、本文代码一、linq存在的意义linq的存在是为了对数据进行操作,诞生于dotnet framework 3.0。二、linq诞生过程思考现在有一个Person集合,我们需要根据不同的条件筛选出对应的人员,又哪些方案?1、方案一:通过循环和if判断来筛选数据缺点:代码量大,不够简洁,特别是遇到复杂条件之后,会很麻烦随着条件的变更,

2021-02-02 11:41:22 210

原创 07-02 C# linq高级实现

目录一、接口实现Where扩展二、yield 迭代器关键字对比一、接口实现Where扩展上一章我们最终得到的where扩展方法实现如图,但是还是有缺点:只支持List调用改扩展方法,那么能不能让它更加灵活呢?当然可以:可以通过IEnumerable接口来扩展,这样做的好处:通过接口来扩展,只要实现了这个接口的,都可以使用这个扩展(如List,HashSet等)扩展性更好,更加通用/// <summary>/// /// 将原来的List<T>改为IEnumera

2021-02-02 11:40:43 287

原创 06-02 C# 匿名类

目录一、诞生二、普通类的实例化三、object匿名类1、优点2、缺点3、思考四、动态类型匿名类1、优点2、缺点3、思考五、弱类型(不确定类型)匿名类1、优点2、缺点3、思考4、使用场景六、本文代码一、诞生framework 3.0版本开始支持匿名类二、普通类的实例化普通类型实例化之后,可以访问其中的属性和方法/// <summary>/// 普通类/// </summary>public void InstacePerson(){ Console.Write

2021-02-02 11:40:10 1916

原创 06-03 C# 扩展方法

目录一、思考1、普通方式优点缺点2、借助第三方对象优点缺点3、扩展方法定义优点二、注意事项1、实例方法的优先级高于扩展方法2、不要扩展object或者没有约束的泛型三、本文代码一、思考我现在有一个类,里面有一个方法,代码如下,如果我想在给这个类新增一个方法,有哪些方案?public class Person{ public int Id { get; set; } public string Name { get; set; } public void Hello()

2021-02-02 11:39:25 143

原创 01-03 Electron + dotnet 5 Blazor + ElectronNET.API在linux下发布

目录一、安装npx二、安装ectron-builder三、安装asar四、修改`electron.manifest.json`配置五、压缩项目文件六、打包七、运行一、安装npxnpm install -g npx建立软链接(路径为node安装路径)sudo ln -s /home/lanyp/application/node/bin/npx /usr/local/bin/二、安装ectron-buildernpm install -g ectron-builder建立软链接(路径为no

2021-01-31 16:07:24 541 1

原创 linux安装.net core sdk

一、下载.net core sdk下载地址,sdk已经包含runtime了,所以不用再单独安装runtime二、解压并配置环境变量(1)解压(也可以不用命令解压)mkdir -p $HOME/application/dotnet && tar zxf dotnet-sdk-5.0.102-linux-x64.tar.gz -C $HOME//application/dotnet(2)配置环境变量(路径根据自己本机实际更改)export DOTNET_ROOT=$HOME//a

2021-01-31 14:35:07 2363

原创 linux下安装nodejs

目录一、下载nodejs安装包二、解压到指定的文件夹三、建立软链接,全局配置四、验证是否配置成功五、切换国内镜像(建议第一个)一、下载nodejs安装包下载地址二、解压到指定的文件夹三、建立软链接,全局配置ln -s /home/lanyp/application/node/bin/npm /usr/local/bin/ ln -s /home/lanyp/application/node/bin/node /usr/local/bin/四、验证是否配置成功node -v五、切换

2021-01-31 14:03:40 203 1

原创 找不到npx命令

windows下运行npm i -g npxlinux和mac OS下运行sudo npm i -g npx

2021-01-31 00:01:58 2234

原创 Electron.Net + Blazor 构建桌面应用启动时默认端口号8000冲突

错误如下解决办法修改项目目录下的electron.manifest.json文件,添加"electronPort": [端口号],端口号自定义问题解决

2021-01-27 17:55:01 1143

原创 IDEA启动报错-java.net.BindException: Address already in use: bind

错误如图:原因:因为我要使用docker,所以启用了Hyper-V和WSL2,所以占用了idea的more端口解决方案官方论坛给出了答案https://intellij-support.jetbrains.com/hc/en-us/articles/360007568559(1)关闭Hyper-V,可以在控制面板中关闭,也可以以管理员权限执行以下脚本,执行之后重启计算机dism.exe /Online /Disable-Feature:Microsoft-Hyper-V(2)更改端口,把

2021-01-27 15:18:31 5383 1

原创 02-14 docker 部署.net core web应用

目录一、创建项目二、添加Dockerfile三、发布程序四、构建镜像五、创建容器六、访问一、创建项目创建项目过程不在赘述(不知道请自行百度)二、添加Dockerfile修改Dockerfile# 基于.net 5 FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base# 创建镜像工作目录WORKDIR /app# 所有文件从宿主publish目录复制到镜像app目录COPY . .# 执行dotnet run L

2021-01-27 14:37:12 277

openssl 3.0.1(win/linux)安装包下载

openssl 3.0.1版本安装包,包含windows和linux版本

2022-01-18

WebBrowser嵌入html 示例

WPF WebBrowser嵌入html,并与js实现互操作

2021-04-26

exe安装包lincense.txt参考模板

打包exe安装包使用到的lincense.txt文本参考,注意将文本编码转换成ANSI,否则会出现乱码

2020-10-29

elasticsearch-analysis-ik-7.7.1 分词器下载

elasticsearch 中文分词器7.7.1版本,适用于elasticsearch7.7.1版本

2020-06-17

Yearning-2.2.0 安装包下载

由于github上的Yearning发行版下载非常缓慢,所以我就直接上传上来方便大家下载,这里是2.20版,如果需要下载最新版请移步github地址 https://github.com/cookieY/Yearning/releases

2020-04-24

空空如也

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

TA关注的人

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