- 博客(77)
- 资源 (50)
- 收藏
- 关注
原创 MediatR 框架使用FluentValidation对Comand/Query进行自动拦截验证
在使用 MediatR 框架时,我们经常需要对命令对象进行验证。为了实现自动验证,我们可以使用 MediatR 的管道行为来在命令处理之前执行验证逻辑。本文档将介绍如何在控制器外部使用 MediatR 的管道行为来自动验证实现了 ICommand/IRequest 接口的类,并提供正确地注册验证器和管道行为的方法。我们需要定义一个实现了 ICommand 接口的命令类。这个命令类将在 MediatR 管道中被自动验证
2024-03-22 09:46:15
763
原创 net core 批量注入(DependencyInjection)
net core 使用微软默认的依赖注入:Microsoft.Extensions.DependencyInjection。1、声明IServiceCollection扩展。2.在program中添加扩展。
2023-04-13 14:15:20
633
原创 net core 添加 xunit单元测试
1. 在api.test程序集中添加NuGet测试包引用: Microsoft.AspNetCore.Mvc.Testing。3.在api.test程序集中声明测试类(不需在测试和程序集中配置appsettings,和program.cs)2. 在api.test程序集中添加api程序集项目引用。4.Program”不可访问,因为它具有一定的保护级别, 解决方案。在项目中添加XUnit测试项目。
2023-04-12 19:07:33
402
原创 数据仓库基础
数据仓库是什么 数仓是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。主题是从管理运营角度出发,为了分析数据,分为用户主题、商品主题、设备主题等有助于决策的数据模型。随着互联网的发展,数据源头越来越多且是分散的,除了业务库,APP 埋点,web 网站、 log日志,IOT 设备等会产生各种各样的海量数据,这些数据在进入数据仓库之前(或之后),需要...
2022-03-31 09:12:07
2687
转载 sonarQube安装及本机扫描C#项目
sonarQube安装及本机扫描C#项目因项目需要,需要使用sonarQube对代码进行扫描并查看,因对sonarQube不熟悉,所以先在本机搭建测试环境。参考了张老师的博客:集成TFS Build生成与SonarQube获取代码分析结果 - danzhang - 博客园参考百度文库文章:百度文库-信息提示运行sonarQube之前,需要本机已经安装JDK及mysqlJDK:因为sonarQube是使用Java开发的,那么相应的肯定需要有JDK运行环境。安装步骤请参考《JDK Windo
2021-11-03 19:57:26
1606
2
原创 Asp.Net MVC添加Swagger接口文档方法
公司最近的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,之前一直使用的是word文档方式进行交流,效率低下而且不利于维护。为了解决这个问题,经过一番研究,引起我注意的有两种方案。1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”)最先尝试的是微软自带的方案,由于界面实在是比较一般,于是转向了第二种方案,经过...
2021-04-24 13:59:21
2246
转载 c# 操作 XML 教程
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件。 “在程序中访问进...
2021-04-23 13:22:09
6378
1
原创 windows环境下Yapi安装(接口文档)
一、YAPI是什么YAPI简介二、Yapi的安装准备1.安装node.js ,下载地址:http://nodejs.cn/download/2.安装mongoDB下载地址:https://www.mongodb.com/try/download/community安装方法:https://blog.youkuaiyun.com/hezheqiang/article/details/115723662创建数据库相关数据mongoshow dbsdb.creat...
2021-04-15 16:16:08
711
转载 Windows平台安装MongoDB教程
Windows平台安装MongoDB教程一、MongoDB简介MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组。MongoDB服务端可运行在Linux、Windows或mac o...
2021-04-15 14:25:21
791
原创 C# 使用NLog记录日志
NLog是一个后来发展起来的日志功能,比起Log4net要年轻许多,但是功能确实非常好用,并且配置简单。1、安装Nlog 和Nlog configuration点击安装下边的NLog.Config就行了,NLog会一起安装成功。2、配置文件安装完之后项目里边多了(nllog.config属性设置=》复制到生成目录:始终复制,生成操作:内容)配置内容写在这个里边。主要用到两个标签:Target:这...
2021-03-29 19:35:18
1677
3
转载 OAuth2.0 第三方授权原理
一、OAuth2.0 为何物OAuth简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在资源所有者同意并向客户端颁发令牌后,客户端携带令牌可以访问资源所有者的资源。OAuth2.0是OAuth协议的一个版本,有2.0版本那就有1.0版本,有意思的是OAuth2.0却不向下兼容OAuth1.0,相当于废弃了1.0版本。举个小栗子解释一下什么是 OAuth 授权?在家肝文章饿了定了一个外卖,外卖小哥30秒火速到达了我家楼下,奈何有门禁进不来,可以...
2021-01-21 11:19:28
573
转载 C# 消息队列 RabbitMQ
C# 消息队列 RabbitMQ1.引言RabbitMQ——Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适。RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协议)的开源实现,其内部结构如下:RabbitMQ作为一个消息代理,主要和消息打交道,负责接收并转发消息。RabbitMQ提供了可靠的消息机制、跟踪机制和灵活的消息路由,支持消息集群和分布式部署。适用于排队算法、秒杀活动、消息分发、异步处理、数据同步、处理耗
2021-01-14 11:00:45
2340
转载 SQL语句性能优化
SQL语句性能优化1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN...
2020-12-10 18:09:01
129
1
原创 WCF使用SVCUtil生成客户端代理类和配置文件
WCF中可以使用SVCUtil.exe生成客户端代理类和配置文件一、生成代理类文件在Visual Studio 2015中查找VS2015 开发人员命令提示,并以管理员身份打开 执行以下命令 SvcUtil.exe /out:D:clientCode.cs /config:D:app.config http://localhost:7526/WCF/Service/Service1.svc?wsdl说明:参数:“D:\ClientCode.cs...
2020-07-17 15:45:44
730
原创 Ajax get请求 参数包含数组时,服务端无法获取到数组解决方法
一般的,可能有些人在一个参数有多个值的情况下,可能以某个字符分隔的形式传递,比如页面上有多个checkbox: 1 2 3 4 5 6 $.ajax{ url:"xxxx", data:{ p:"123,456,789" }...
2020-04-16 10:00:28
1794
原创 CodeSmith 引用C# 工具类方法
CodeSmith在使用中,对数据库中表字段进行处理时,需要封装一些公用方法。下面提供调用方法:一.创建工具类Common.cs,类下的属性和方法必须为静态类。代码如下:public static class Common{ /// <summary> /// 获取当前日期 /// </summary> /// <retu...
2019-12-12 10:39:57
431
转载 tortoisegit 根据指定版本号合并到指定分支上—— cherry pick 的使用
当我们使用git管理一个程序的源码时,总是会新建很多分支。不同的分支可以直接使用merge来合并代码。但我们有时候会有这种需求,比如说我们有n个分支分别开发不同版本的程序,其基础功能是一样的,但是不同分支上有不同的需求开发,这时我们的基础功能上有一个bug的修复想同步到其他分支上就不能使用merge了,因为merge会合并所有改动代码。这种情况下,我们需要使用的是git的cherry pick功能...
2019-12-08 18:59:22
3023
原创 WebApi接口返回结果及自定义异常封装
接口返回的数据格式进行封装,使开发只关注业务,减少数据格式转换1.异常结果:可通过自定义异常抛出异常码和异常原因2.数据结果:接口在返回结果时,自动封装
2019-10-22 14:42:20
2003
1
原创 mongoDB安装和使用
mongoDB安装和使用学习网址:https://www.runoob.com/mongodb/mongodb-tutorial.html一、安装方法mongo服务安装地址链接:https://pan.baidu.com/s/1_vrPtK4hrE8ekrULFn9Q8A提取码:...
2019-08-12 11:36:06
206
转载 Excel 行转列
下面的这种表格形式,想必大家不会陌生吧: 在这个表格内,同一个部门的人员名单都挤到一个单元格内。 现在问题来了,要把这样的数据转换成数据列表,该怎么操作呢? 在制作考勤、工资等表格时,都需要使用上面这种样式的表格才可以。 实现这样的转换有多种技巧,下面咱们以Excel2016为例,说说具体的操作方法:步骤一 单击数据区域任意单元格,再依次单击【数据】【从表格】。 ...
2019-07-25 09:32:09
1908
1
转载 C# 不安装Oracle客户端情况下,如何连接到Oracle数据库
简介: 在我们开发应用场景经常碰到需要连接Oracle数据库,这也是相当常见的一种情况。一般.Net环境连接Oracle数据库,可以通过TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端。 场景一、很多在使用微软自带的Using System.Data.OracleClient(据说现在已经不维护的)的时候,在没有安装Oracle客户端的服务器上运行,会提示你需要...
2019-05-23 13:25:43
834
原创 Vue 通过 component 封装 bootstrap-multiselect 组件
随着对前端框架Vue的深入了解和学习,提升了工作效率的同时也开拓了自己的思路。但有些功能仍需要使用jquery,bootstrap来实现,在工作中两种模式来回切换,很不雅观。(vue:使用mvvm实现数据双向绑定,以数据为驱动,jquery:通过操作Document元素)。那有没有方法封装jquery相关插件呢?达到vue原生功能的效果,经过了解可以通过component组件来...
2019-04-08 11:23:38
807
原创 JS常用扩展方法及正则应用
//截取字符中开始位置到第N个分隔符之间的字符串 String.prototype.subFirst = function (index) { var SourceArray = this.split(','); if (SourceArray.length <= index) { return this+"...
2019-01-16 14:15:18
496
原创 sqlserver 数据多行以逗号分隔成一行
--按字段分组,将该组下某个字段多行以逗号拼接成一行CREATE TABLE t1 ( mid INT, uid VARCHAR(1) )insert into t1 values (1,'a')insert into t1 values (1,'b')insert into t1 values (1,'b')insert into t1 values (1,'c')inser...
2019-01-16 11:23:11
7693
转载 网页数据抓取工具 (谷歌插件 web Scraper)
最简单的数据抓取教程,人人都用得上Web Scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据。例如知乎回答列表、微博热门、微博评论、电商网站商品信息、博客文章列表等等。安装过程在线安装方式在线安装需要具有可FQ网络,可访问 Chrome 应用商店1、在线访问web Scraper 插件,点击 “...
2019-01-04 17:42:34
203831
21
原创 C# 实现Zookeeper 分布式锁工具类
参考资料:下载路径:https://mirrors.cnnic.cn/apache/zookeeper/Zookeeper安装: http://blog.youkuaiyun.com/fenglibing/article/details/30840175主体思路1. 在locks节点下创建临时顺序节点node_n2. 判断当前创建的节点是否为locks节点下所有子节点中最小的子节点3. 是则...
2018-12-26 17:56:55
673
原创 C#实现RSA加密与解密、签名与认证
一、RSA原理使用方法1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。在传输过程中,即使攻击者截获了传...
2018-12-25 10:05:36
5102
转载 WebApi 接口测试工具(自动生成文档)
C#进阶系列——WebApi 接口测试工具:WebApiTestClient阅读目录一、WebApiTestClient介绍 二、WebApiTestClient展示 三、WebApiTestClient使用 1、如何引入组件 2、如何使用组件 四、总结 正文前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#...
2018-12-19 11:30:40
5198
原创 SQL SERVER性能优化SQL
sql server 性能优化方法目录一、查看是否有死锁二、查看当前正在执行的sql语句三、查询前 10 个可能是性能最差的 SQL 语句四、查询逻辑读取最高的sql五、 查询索引碎片六、修改索引填充因子(FILLFACTOR:填充因子,ONLINE:ON 重建索引时表仍然可以正常使...
2018-11-20 13:49:43
3459
转载 订单系统分库分表实践
背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。这次切分,我们的目标是未...
2018-10-30 09:33:53
1060
1
转载 Windows 下安装 ElasticSearch & ElasticSearch head
首先配置java环境变量,这个就不说了,ES5*以上版本需要jdk1.8一、下载 Elasticsearch1)https://www.elastic.co/downloads/elasticsearch2)解压至本地进入bin 目录,运行 elasticsearch.bat 3) 浏览器输入 localhost:9200/ 出现一下界面,ElasticSear...
2018-10-12 18:00:50
408
原创 python+appium+Android SDK+夜神模拟器实现自动化app
以下为整理资料Android SDK下载安装及配置教程https://blog.youkuaiyun.com/naipeng/article/details/72722682夜神模拟器安装https://www.cnblogs.com/yoyoketang/p/7764352.htmlabd使用https://blog.youkuaiyun.com/u013110200/article/details/71...
2018-09-13 17:24:01
2656
原创 Redis安装与使用
一、Window服务器端安装1.下载 Redis Windows版本的GitHub链接,直接下载Redis-Server-x64-3.0.503.msi文件,按着提示下一步操作,安装即可。2.配置Redis密码按以下图的步骤配置Redis用记事本或者Notepad++打开redis.windows.conf并找到“# requirepass foobared”这一行,在这一行下面增...
2018-09-03 15:51:23
629
1
原创 RabbitMQ在Window服务器上布置集群
在实际使用过程中,使用单台配置,万一出现意外情况,将导致我们的服务终断,因此需要搭建集群的方式来最高限度的提高服务的可用性。一、事先准备:1.两台windows主机,当然也可以用虚拟机。2.安装erlang以及rabbitmq二、安装完成的单台rabbitmq服务情况1.两台windows主机rabbitmq相关内容: a:192.168.0.88 ra...
2018-08-31 13:14:24
1409
Oracle.ManagedDataAccess.zip
2019-05-23
openssl生成秘钥工具
2018-12-25
net 实现邮件发送
2018-06-14
微信消息接口使用
2013-03-29
table 排序!js特效!很强大!简单易学
2012-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人