自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Modbus协议

概念Modbus 属于应用层协议,主要用于设备之间的网络通信存储区、存储区代号、范围制定不同的存储区的目的是存储不同类型的数据存储区:输入布尔(布尔也叫线圈)输出布尔输入寄存器输出寄存器存储区代号:输入布尔:1区输出布尔:0区输入寄存器:3区输出寄存器:4区存储区范围:1区:100001 - 165536(0 - 65536)0区:000001 - 06...

2023-04-05 16:59:00 138

原创 论语

吾十有五志于学,三十而立,四十而不惑,五十而知天命,六十耳顺,七十而从心所欲,不逾矩。 - 孔子天性只提供可能,学养才能使人为人处世都合乎道。“由也,汝闻六言六蔽矣乎?” 对曰:“未也”。“居,吾语汝。好仁不好学,其蔽也愚;好知不好学,其蔽也荡;好信不好学,其蔽也贼;好直不好学,其蔽也绞;好勇不好学,其蔽也乱;好刚不好学,其蔽也狂。” - 论语 阳货卒然临之而不惊,无故加之...

2023-01-01 21:53:00 123

原创 gRPC 原理介绍

声明:这篇文章是看了 B 站 UP 杨旭的视频做的总结gRPC 的结构设计步骤gRPC 生命周期身份认证不采取任何认证的连接,也就是不安全连接SSL / TLS 连接基于 Google Token 的身份认证自定义的身份认证提供商消息传输类型一元消息(简单的请求和响应)rpc Method(Request) returns(Reply)server stream...

2022-11-13 16:31:00 123

原创 Protocol Buffer 消息定义

概念protobuf 是 Google 公司提出的一种轻便高效的结构化数据存储格式,常用于结构化数据的序列化,具有语言无关、平台无关、可扩展性特性,常用于通讯协议、服务端数据交换场景支持的类型数值型int32, uint32, sint32, fixed32, sfixed32int64, uint64, sint64, fixed64, sfixed64float, doubl...

2022-11-13 15:58:00 91

原创 SignalR 的使用

概念SignalR 可以实现实时的 Web 功能,使服务端可以实时的向客户端传输数据官网介绍使用场景需要从服务器进行高频率更新的应用。比如游戏、社交网络等需要通知的应用。比如邮件应用、聊天等Dashboard,数据需要实时更新等通信方式WebSocketsServer-Sent EventsLong Polling使用需要两个角色:Server 和 Client...

2022-11-13 14:53:00 123

原创 基本的 Git 命令

基本的 Git 命令克隆远程仓库代码git clone [ 仓库地址 ]添加 新增 / 修改 的文件到暂存区git add [ 文件名 ]git add *将暂存区的文件提交到 HEADgit commit -m "提交的日志信息"将 HEAD 中的数据推送到远程仓库git push origin [ branch ]查看 新增 / 修改 / 删除 的文件,即本地仓库文件的状态git status撤销 暂存区 的所有文件,即撤销 新增 / 修改 的文件git

2021-05-08 23:44:33 101

原创 在 asp.net core 中使用 Consul

在 asp.net core 中使用 Consul本篇介绍三个部分:在 asp.net core 中引用 Consul服务注册服务发现如何引用?直接装包就 OK:服务注册:在 asp.net core 管道的最末端执行即可,也就是放在 Startup 类中 Configure 方法的最后。也可以写一个 IConfiguration 的扩展方法,然后在 Configure 方法的最后调用服务发现:// 连接 Consul 客户端ConsulClient client = ne

2021-04-05 15:45:06 405

原创 在 asp.net core 中使用 Ocelot

在 asp.net core 中使用 Ocelot使用方法还是比较简单的,Ocelot 对请求的路由主要是通过配置文件来进行的,这篇简单说一下,怎么引用及配合 Consul 使用。至于 Ocelot 对服务的缓存、熔断、限流及降级等,本篇不做介绍步骤如下:引用 nuget 包 Ocelot(目前版本已经到 17.0.0 了,支持 .net 5.0)修改 Startup 类的 Configuration 方法,因为创建的是一个单纯的网关项目,所以其它服务就直接注释了,仅用 Ocelot 的服务,如

2021-04-05 15:23:13 322

原创 在 ASP.NET Core MVC 中使用 Areas

在 ASP.NET Core MVC 中使用 Areas为什么要用 Areas怎么用 Areas⚠️使用注意为什么要用 Areas使用 Areas ,可以将应用程序中不同的业务模块分类,每个业务模块都可以有自己的一组 Razor Pages、Controller、View 和 Model,可以更方便的开发和维护。怎么用 Areas在项目根目录下添加 Areas 文件夹在 Areas 下添加业务文件夹(如 Test)在 Test 文件夹下添加 Controllers 和 Views 文件夹这样

2021-03-24 22:23:14 1168

原创 启动 SQL Server 服务,提示错误代码 10048

启动 SQL Server 服务,提示错误代码 10048启动 SQL Server 服务,提示错误代码 10048,详细错误见下图:很疑惑,之前并没有出现过这样的问题。然后按照错误提示查看了 windows 事件日志,并没有发现什么有用的信息,没有找到具体的解决办法。通过 Google,有人说是端口冲突的问题,因为我本机有多个 SQL Server 实例,所以之前有修改过端口,所以猜测很可能是这个原因,于是尝试着修改,见下图:修改完后,再次启动服务,发现服务正常启动。所以,这个 10048 错

2021-03-24 21:18:33 3691 1

原创 asp.net core 集成 IdentityServer4 登录后仍跳转到登录页面,没有根据 returnuri 返回

开发环境windows 10visual studio 2019 版本 16.8.6.net sdk 版本 5.0.103IdentityServer4 版本 4.0.0问题复盘事故现场已经被破坏了,所以就不复盘了 好省事er,案发当时,IdentityServer 端和 Client 端使用的是 HTTP 协议解决办法将 HTTP 改成使用 SSL 证书的 HTTPS,就可以了问题出现的具体原因没有查明...

2021-03-04 22:50:50 534 1

原创 asp.net core 启动报错 Unable to configure HTTPS endpoint. No server certificate was specified

开发环境windows 10visual studio 2019 版本 16.8.6.net sdk 版本 5.0.103问题复盘使用 visual studio 2019 创建了一个全新的、干净的 asp.net core mvc web 程序修改项目启动配置文件(launchSettings.json),删除 IIS 的配置,使用 Kestrel 启动项目按 F5 启动项目接着,visual studio 提示要安装 SSL 证书,按着提示的步骤,安装完成后,并没有出现预期的结果报出

2021-03-04 22:29:51 1709 1

原创 MySQL数据库备份及还原

目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言MySQL备份数据库的方式有多种,这里简单记录一下使用mysqldump命令的备份方式。一、备份操作步骤1.在MySQL命令行键入以下命令,然后回车,输入密码,便开始备份。mysqldump -h IP -u 用户名 -p --default-character-set=utf8 要备份的数据库 > 指定备份文件的位置(绝对路径,文件后缀...

2021-03-04 10:35:15 133

原创 异步编程初探

线程基础线程:创建线程什么是线程例子线程被强占线程的属性Thread.Join() & Thread.Sleep()Join and Sleep添加超时阻塞 Blocking什么是线程安全向线程传递数据 & 异常处理前台线程 VS 后台线程线程优先级信号简介富客户端应用处理耗时操作的一种办法Synchronization Context线程池开始一个TaskTask 的返回值Task 的异常ConiuationTaskCompletionSource同步和异步异步和continuation

2021-01-05 00:23:50 402

原创 MySQL数据库备份及还原

通过mysqldump命令的方式备份MySQL数据库

2020-10-22 13:40:50 143

原创 MD5算法

MD5算法概念.NET 实现MD5概念MD5:信息摘要算法(Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。其它的加密算法还有安全散列算法:SHA家族,主要的就是SHA-2(SHA-224、SHA-256、SHA-384、SHA-512).NET 实现MD5/// <summary>/// 使用MD5加密字符串/// </summary>/

2020-08-19 15:00:32 167

原创 docker容器间的网络连接

docker容器间的网络连接概述Legacy Linking连接步骤命令Bridge Network连接步骤命令示例相关命令概述容器间的连接方式目前了解到的有两种。Legacy Linking:使用容器名进行连接,实际上它创建了一个桥接的网络,在这个网络里,容器之间可以相互通信。Bridge Network:这种方式创建了一个自定义的桥接网络,它的类型是isolated network(隔离网络),只有在这个网络里的的容器才能相互通信。Legacy Linking连接步骤运行一个容器,需要给

2020-08-18 21:58:59 761

原创 .NET 初中级面试题

.NET中级面试题公司一面试题公司二面试题公司一面试题有没有做过数据库表设计?现场模拟设计“用户权限”需要的表及其结构;设计模式有没有了解过?你用过哪些?说一下工厂模式;说一下什么是面向对象?说一下抽象类和接口的区别?说一下MVC路由原理?.net 请求管道?(记不太清了,大概意思就是在请求处理前后,对请求做处理)页面反应很慢怎么排查?怎么解决?值类型和引用类型的区别?堆和栈的区别?什么是事务?事务的优点?项目中使用事务的场景?说一下数据库优化?了解索引吗?三层架构的优点?各层的作

2020-08-02 15:29:38 1599

原创 ASP.NET Core启动流程

ASP.NET Core启动流程new WebHostBuilder()初始化类型WebHostBuilder的属性IServer _serverList<Action> _configuresUseHttpListener()这是IWebHostBuilder下面的一个扩展方法UseServer(new HttpListenerServer(urls))new HttpListenerServer(urls)HttpListener _httpListener.

2020-07-23 23:18:30 246

原创 AOP

AOP名词解释AOP的实现方式静态织入(编译时)动态织入(运行时)AOP的优缺点优点缺点典型的AOP框架名词解释AOP即面向切面编程。根据维基百科的定义,AOP是一种将函数的辅助性功能与业务逻辑相分离的编程泛型,目的是将横切关注点分离出来,使程序具有更高的模块化特性。根据百度百科的定义,AOP是可以通过预编译方式和运行期间动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。自己的理解,AOP侧重切面,即将跟业务逻辑不相关的通用功能(如日志记录、异常处理、缓存处理、事务处理…)封装起

2020-07-18 18:03:30 515

原创 Redis实际运用中遇到的问题及解决方案

Redis实际运用中遇到的问题及解决方案缓存预热现象:宕机问题排查解决方案缓存雪崩现象:数据库服务器崩溃问题排查解决方案(理论)解决方案(实施)缓存击穿现象:数据库服务器崩溃问题排查解决方案缓存穿透现象:数据库服务器崩溃问题排查问题分析解决方案性能指标监控监控指标性能指标:Performance内存指标:Memory基本活动指标:Basic activity持久性指标:Persistence错误指标:Error监控方式工具命令缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统中。避免用户请求

2020-07-11 13:01:44 1857

原创 Redis集群

Redis集群简介概念作用集群结构设计数据存储设计优势集群内部的通讯设计cluster集群结构搭建配置通过命令redis-trib.rb启动cluster添加、获取数据主从切换cluster命令简介概念集群就是使用网络将若干台计算机连通起来,并提供统一的管理方式,使其对外呈现单机的服务效果。作用分散单台服务器的访问压力,实现负载均衡分散单台服务器的存储压力,实现可扩展性降低单台服务器宕机带来的业务灾难集群结构设计数据存储设计通过算法设计,计算出key应该保存的位置将所有的存储空间

2020-07-08 23:39:02 130

原创 Redis 哨兵

Redis 哨兵简介解释作用启动哨兵模式命令配置文件工作原理监控通知故障转移认定master宕机选举sentinel以执行转移操作执行转移操作简介解释哨兵(sentinel)是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有的slave连接到新的master。作用监控不断的检查master和slave是否正常运行,包括master的存活检测、master与slave运行情况检测通知当被监控的服务器出现问题时,向其他(哨兵、客户

2020-07-06 23:38:09 142

原创 Redis主从复制

Redis主从复制简介单机redis的缺陷多台服务器连接方案主从复制作用过程主从连接步骤:状态:连接命令:授权访问命令数据同步步骤状态注意事项命令传播简介单机redis的缺陷这个技术主要为了实现服务的高可用,单机redis会存在一下缺点:机器故障,系统崩溃,数据丢失容量瓶颈,硬件条件不能满足生产环境需求为了避免单机故障,就准备多台服务器,互联互通,将数据复制多个副本保存在不同的服务器上,并保证数据实时同步。这样的话即使其中一台服务器宕机,其他服务器依然可以继续提供服务,从而实现redis的高可

2020-06-17 23:32:38 169

原创 Redis高级数据类型

Redis高级数据类型BitmapsHyperLogLogGEOBitmaps- 获取指定key对应偏移量上的bit值 getbit key offset- 设置指定key对应偏移量上的bit值,value只能是1或0 setbit key offset value- 对指定key按位进行交、并、非、异或(and、or、not、xor)操作,并将结果保存到destkey中 bitop op destkey key1 key2 ...- 统计指定key中1的数量 bitcount key s

2020-06-16 23:16:49 197

原创 Redis服务器相关配置

Redis服务器相关配置服务器端设定日志配置客户端配置多服务器快捷配置服务器端设定- 设置服务器以守护进程的方式运行 daemonize yes|no- 绑定主机地址 bing ip- 设置服务器端口号 port 6379- 设置数据库数量,默认16 databases 16日志配置- 设置服务器以指定日志记录级别 loglevel debug|verbose|notice|warning- 日志记录文件名 logfile 端口号.logPS:日志级别开发环境下设置为ver

2020-06-16 22:56:18 202

原创 Reids删除过期数据策略

Reids删除过期数据策略目标定时删除执行过程优点缺点总结惰性删除执行过程优点缺点总结定期删除执行过程特点总结逐出算法作用相关命令策略目标在内存占用和CPU占用之间寻找一种平衡,顾此失彼都会造成redis整体性能的下降,甚至引发服务器宕机或内存泄漏定时删除执行过程创建一个定时器,当key设置了过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作优点节约内存,到时间就删除,快速释放掉不必要的内存占用缺点CPU压力很大,无论CPU此时负载量多高,均占用CPU,会影响redis服务器的

2020-06-16 00:17:40 152

原创 Redis事务

Redis事务简介基本操作工作流程注意事项锁分布式锁简介redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。一个队列中,一次性、顺序性、排他性的执行一系列命令基本操作- 开启事务multi(设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中)- 执行事务exec(设定事务的结束位置,同时执行事务,与multi成对出现,成对使用)- 取消事务discard(终止当前事务的定义,发

2020-06-14 12:15:42 156

原创 Redis 持久化

Redis 持久化持久化方式RDB简介命令介质save指令相关配置bgsave指令相关配置数据恢复AOF简介持久化方式RDB简介将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据命令save说明:手动执行,save指令的执行会阻塞当前redis服务器,直到当前rdb过程完成为止,有可能造成长时间的阻塞,线上环境不建议使用bgsave说明:手动执行,redis另起进程执行rdb操作,不会阻塞redis服务器,当rdb操作执行完成后,会写结果到控制台或日志文件,bgs

2020-06-10 00:26:35 243

原创 Redis

Redis 基础安装 RedisRedis 常用命令安装 Redis在 Docker 上安装 Redis拉取 redis 镜像sudo docker pull redis运行 redis 服务sudo docker run -d --name my-redis redis打开 redis-clisudo docker exec -it my-redis redis-cliRedis 常用命令set keyset key ex time(s)get keygetset key

2020-05-31 16:59:09 222

原创 Docker

Docker创建镜像生成Dockerfile构建镜像运行镜像发布镜像拉取镜像常用的 docker 命令创建镜像生成Dockerfile基于asp.net core applicationFROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-envWORKDIR /appCOPY *.csproj ./RUN dotnet restoreCOPY . ./RUN dotnet publish -c Release -o outFRO

2020-05-30 23:39:46 263

原创 MySQL 基础记录

MySQL 相关知识最近在公司用到MySQL数据库,因为之前系统学习过SQL Server,所以觉得直接上手MySQL不会有多大问题,但在实际的应用中,发现其中的一些系统函数如concat、length、truncate、now、str_to_date等,视图,存储过程等的写法有些不同,这里记录一下。“ + ” 的作用MySQL中的“ + ” 仅做运算符,若将字符串和数值做运算,MySQL将...

2020-04-04 21:47:10 148

原创 EF Core 的应用

EF Core 的应用Code First使用步骤:安装nuget包(Microsoft.EntityFrameworkCore、Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Tools)配置数据库连接建立实体,如Student(一定要包含主键)建立DBContextpublic DBC...

2020-03-31 00:08:01 217

原创 EF Core 在程序包管理控制台中生成迁移文件并执行到数据库中

EF Core 在程序包管理控制台中生成迁移文件并执行到数据库中add-migration 迁移文件的名称,创建迁移文件update-database,执行迁移文件的操作到数据库中remove-migration,如果在执行update-database操作之前, 你突然想要更改实体,不要慌,我们可以使用remove-migration这个命令把迁移文件删掉即可update...

2020-03-30 23:24:29 807

原创 ASP.NET Core 应用程序部署

ASP.NET Core 应用程序部署在Windows OS部署使用IIS发布部署应用程序发布说明IIS配置说明应用托管模型进程内托管模型进程外托管模型使用Kestrel使用HTTP.sys使用Docker在Windows OS部署使用IIS发布部署本机安装IIS服务器,这是必须的发布asp.net Core应用程序部署应用程序到IIS应用程序发布说明VS部署模式支持独立部...

2020-03-29 22:19:55 372

原创 .NET环境下UEditor的使用

.NET环境下UEditor的使用UEditor是什么?能做什么?UEditor怎么用?UEditor的相关配置UEditor是什么?能做什么?UEditor是百度某一团队出品的富文本编辑器,一个JS插件。当我们的网站需要增删改文章时就可以用到它。UEditor怎么用?将UEditor包放到网站下在需要使用的页面引用以下JS文件 <script src="UEditor/u...

2019-10-06 16:39:37 451 1

原创 北京时间--UNIX时间戳 相互转换

UNIX时间戳 : 13位/10位 (毫秒/秒)北京时间转换为13位时间戳 : UTC+8--&gt;UTC--&gt;时间戳e.g : DECLARE @DATE DATETIMESET @DATE = DATEADD(HOUR,-8,'2018-12-07 14:39:27.073') --UTCSELECT CONVERT(BIGINT, DATEDIFF(MI, '19...

2018-12-07 14:58:28 1781 1

原创 DropDownList不触发selectedindexchanged事件的原因

DropDownList设置属性AutoPostBack为true;手动添加事件的没有注册this.DropDownList.SelectedIndexChanged +=new System.EventHandler(this.DropDownList1_SelectedIndexChanged);option的value相同,传到服务器的数据一样;以上若还没解决,就是其他原因了,或者...

2018-11-05 19:45:36 2064

空空如也

空空如也

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

TA关注的人

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