自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 对于Vue3的一些思考

优点:易于学习和使用,写代码的位置已经约定好了 (设计思想是把对应的模块,看做一个整体,代码的可读性搞) 适合新手。虽然提供了 mixins(混入) 用来封装逻辑,但是出现数据函数覆盖的概率很大,不好维护。优点:功能逻辑复杂繁多情况下,各个功能逻辑代码组织再一起,便于阅读和维护。缺点:代码组织性差,相似的逻辑代码不便于复用,逻辑复杂代码多了不好阅读。代码风格:一个功能逻辑的代码组织在一起(包括数据,函数、、、)缺点:需要有良好的代码组织能力和拆分逻辑能力。

2023-07-27 20:39:51 321

原创 .net 深复制

你可以使用C#编程语言来编写一个通用的扩展方法,用于将一个对象的值复制到另一个对象,并且修改目标对象的属性时原始对象不受影响。

2023-07-18 18:07:43 1287

原创 .net linq排序空值排最后

方法对集合进行排序。如果要将空值排在最后,可以使用。这样,所有的空值都会排在最后。方法,并将空值放在最后一个参数中。是否为null进行降序排序,然后按照。在LINQ中,可以使用。

2023-05-23 19:36:21 452

原创 Vue3父组件触发子组件方法

函数中定义一个方法来触发子组件的方法。然后在模板中绑定一个按钮,当点击按钮时,调用。来获取子组件实例,然后调用子组件的方法。在Vue3中,可以通过。来获取子组件实例,并在。2.在父组件中,使用。

2023-05-16 10:19:40 4536

原创 举例说明.net中in与out的作用与区别

在 .NET 中,in 和 out 是用于泛型类型参数的修饰符,它们用于指定参数类型的协变性和逆变性。- in 修饰符:表示这个泛型类型参数是协变的。也就是说,in 类型参数可以从较特殊的类型隐式转换为较通用的类型。在上面的例子中,`TakeAnimals` 方法接受一个 `IEnumerable<in IAnimal>` 参数,这意味着我们可以将其传递给一个类型为 `IEnumerable<Dog>` 的变量。- out 修饰符:表示这个泛型类型参数是逆变的。

2023-04-26 17:56:42 750

原创 添加一个方法方便映射

【代码】添加一个方法方便映射。

2023-04-26 16:44:34 88

原创 EF基础入门

为什么要纠结这个问题,因为随着业务的复杂,很多人喜欢 分组后再where,因为 无法生成 Group By sql语句 Group By是在内存做的,就容易造成数据量过大,出现性能问题。但是用ABP框架的要注意,批量操作是不包含框架的赋值的,用户id,修改时间,修改人,创建时间,创建人是不会的自动赋值。例如,list1有2个,list2 的元素就会重复出现2次。//千万不要tolist!原生的就是批量的,所以不建议使用 EFCore.BulkExtensions的删除方法。.net 5以上版本。

2023-04-26 14:42:26 1225 2

原创 linq扩展方法实现左连

然后,在 LINQ 查询中使用 `join` 子句和 `into` 关键字将左表和右表进行分组,并使用 `DefaultIfEmpty()` 方法来指定在没有匹配项的情况下返回默认值(这里是 `null`)。在上面的代码中,首先使用 `GroupJoin()` 方法将左表和右表进行分组,然后使用 `Select()` 方法将查询结果转换为一个新的匿名类型对象,并在该对象中包含左表中的每个元素以及与其匹配的右表中的元素。需要注意的是,上述代码使用了查询语法来实现左连接,也可以使用方法语法来编写相同的查询。

2023-04-25 11:27:13 771

原创 wpf HttpClient请求头text/xml与charset=utf-8

具体来说,在使用HttpClient发送POST请求时,可以先创建一个HttpRequestMessage对象,然后设置该对象的Content属性为HttpContent类型的实例,该实例可以通过XmlSerializer将要发送的数据序列化成XML格式的字符串,并用StringContent包装成HttpContent类型的实例。在WPF中使用HttpClient发送HTTP请求时,可以设置请求头以指定请求的Content-Type为"text/xml",表示请求体的内容是XML格式的数据。

2023-04-24 17:05:20 1790

原创 左联接,保留右表中相同值的唯一值

技术提问,个人笔记

2023-04-24 09:09:05 433

原创 .net特性(个人笔记)

个人理解的特性。对标 简单的AOP编程就是在对于的 类、方法、属性等上面声明一个标签--->然后利用反射的知识对标签进行解析-->进行某些特殊处理的判断。

2023-04-07 11:27:36 381

原创 Linq-Tosql踩坑记

相信Linq经过简单的培训大家都会写了,但是但你们满意的写完一套逻辑的时候有没有考虑过,你写的linq查询会导致严重的性能问题呢?那就分享下我在项目中遇到的踩过坑吧。我们避免踩坑的目的都是提高查询性能,那么LinqToSql最终编译出来的都是sql语句。那么sql语句的优化策略,在linq里面也同样适用。

2023-03-22 09:22:07 307

原创 Linq的底层原理探讨

有一篇文章ABP-引入SqlSugar很多人都在催促我,出下一章因为工作忙一直没写。现在开第二节课Linq的底层原理探讨。一起探讨完,看看有没有引起SqlSugar的新思路。这文章叫linq的底层原理。从哪里开始说呢?Linq To SQL、Linq To Objects、Linq To XML 、Linq To List等等linq可以对很多数据集进行操作。但是linq是怎么能做到的呢,我就想是不是从linq 转换成 sql语句入手就可以说明了。

2023-03-04 18:01:25 1064

原创 纯代码 IQueryable转sql

linq转sql

2022-08-25 20:17:18 584

原创 MiniProfiler与Swagger集成--netcore/ABP

MiniProfiler与Swagger集成--netcore一个很好用的性能调试工具

2022-08-25 19:53:14 584

原创 ABP-引入SqlSugar-简单版

上一篇引入了Dapper框架,估计大家都会用了。但是很多都被封装,想探究原理的小伙伴就很失望了。那么今天的SqlSugar就说说大概思路。简单版和ABP的关联比较少,未来我还会写一期切合ABP框架的,小伙伴稍等下。一。代码清晰,我新建了一个类库。引入了SqlSugar的框架包,2个仓储类,1个DbContext声明实体 [SugarTable("BasBloodLevel")] public class BasBloodLevel { [SugarCo

2022-01-29 21:27:54 2940 4

原创 ABP-使用Dapper框架

ABP使用Dapper框架已经有很成熟的第三方包,简单的几句代码就能完成一. 首先准备好一个数据库建一个表二.建一个实体表 [Table("BasBloodLevel")] public class BasBloodLevel:Entity<int> { public string Code { get; set; } }三.然后再ABP框架的EF层安装Abp.Dapper包并且在EF层的 xxxEntityFramewo.

2022-01-29 21:03:58 3051

原创 .netcore 利用 Autofac泛型依赖注入

什么是泛型依赖注入创建两个带泛型的类,并配置两者的依赖关系,对于继承这两个类的子类,如果泛型相同,则会继承这种依赖关系:如上图:定义了两个泛型base类:BaseService和BaseRepository对于UserService和UserRpository分别继承两个base类,泛型都是User,则他们俩继承了父类的依赖关系。那么在.net core里面怎么实现泛型依赖注入呢...

2021-03-20 15:19:08 2832

原创 浅谈vue封装组件---js版

什么是组件化:组件化就是将一个页面拆分成一个个小的功能模块,每个功能模块完成属于自己这部分独立的功能,使得整个页面的管理和维护变得非常容易。Vue组件化思想 组件化是Vue中的重要思想,当我们对vue的基本知识有了一定的基础就要开始封装组件了 它提供了一种抽象,让我们可以开发出一个个独立可复用的小组件来构造我们的应用。组件树。组件化思想的应用 1.在项目中充分利用组件化的思想 2.尽可能的将也页面拆分成一个个小的可复用的组件 3.好处:代码更加方便组织和管理,扩展性也更强一.注

2021-02-09 15:25:14 1531 1

原创 vue-watch中的deep,immediate区别

watch中有immediate和handler 2个属性immediate这样使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。如果我们需要在最初绑定值的时候也执行函数,则就需要用到immediate属性。比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为trueimmediate表示在watch中首次绑定的时候,是否执行handler,值为true则表示在w.

2021-02-08 21:22:15 1224

原创 Vue 全站缓存之 keep-alive

参考:https://zhuanlan.zhihu.com/p/40628211https://www.jianshu.com/p/9523bb439950什么是页面缓存用户的浏览行为应该是逐渐深入的,通俗得讲就是浏览页面在不断前进。而且这些页面之间还是有互动性存在的,两种互动行为:一. 用户前进时,总是进入新的页面。(比如在合同列表页反复加载多次列表之后,进入其中一个合同详情,再返回时,应该仍停留之前里列表页同一个位置,而不是重新刷新列表页。) 二. 用户后退时,需要能保留前一页

2021-02-08 21:05:35 521

原创 Vue的生命周期

Vue的生命周期解释(作用):Vue的生命周期是指,页面在不同的状态下触发的事件。vue一整个的生命周期中会有很多钩子函数提供给我们在vue生命周期不同的时刻进行操作,vue2.x一共提供了下列的钩子函数:beforeCreate 刚刚创建这个实例 属性还没有绑定created 创建完毕 属性已经绑定好了beforeMount 模版在渲染之前mounted //ready 渲染之后beforeUpdate //数据更新之前updated //数据更新之后beforeDest.

2021-02-08 20:26:58 247 1

原创 24种设计模式-工厂方法模式-java、c#都合适

声明:本博文仅仅为本人的理解,与看法。如有不对欢迎指出工厂方法模式存在的意义:工厂方法是对简单工厂方法的改进。如简单工厂方法生产不同类型的按钮,有圆形,菱形柜形。如果新加一个圆形,那么除了增加新案例产品类外。修改了静态工厂内if方法,不符合开闭原则(如果修改mian方法里面的不算违反)。可以看到,简单工厂模式对产品的选择是用 if判断的。工厂方法就是要让这部分可以动态插入(给每个需要调用的对象加多个对象的映射Chart chart = PieChart() 在映射里面实现,利用反射、配置文件引入

2020-10-29 20:39:51 211

原创 24种设计模式----简单工厂模式---java、c#都合适

声明:本博文仅仅为本人的理解,与看法。如有不对欢迎指出简单工厂模式存在的意义:可以根据不同的参数,选择想要的同一对象的,分类对象。举例:我想开发个图表(char)选择模块,图表分别有柱状图(HistogramChart),折线图(LineChart),饼状图(PieChart)等等。我选择(ChartFactory)的图表随时会切换的。 然后就使用。1.首先我想开发一个图表(char) interface Chart { //图表的输血是,显示

2020-10-29 20:03:03 127

原创 .net微信--素材上传

不解释了,会一点微信开发,分析下代码就会了using Abp.Authorization;using Microsoft.AspNetCore.Mvc;using MkGzhh.Authorization;using MkGzhh.Wechat.Dto;using MkGzhh.Wechat.ReturnDto;using MkGzhh.Wechat.WechatMessages;using Newtonsoft.Json;using Newtonsoft.Json.Linq;usin

2020-10-21 09:30:45 436

原创 Js多条件分组

单条件function dataGroupingToArray(array, key, resKey = "list") { if (!key) return array; var aMap = []; var aResult = []; for (var i = 0; i < array.length; i++) { var item = array[i]; if (aMap.indexOf(item[key]) === -1) {

2020-10-16 09:53:28 778

原创 vscode启用Tomcat失败报错 ‘C:\pragram‘xxxx

想用 vscode 跑 ssm框架居然遇到这个错误。百度也查不到。好多天终于发现'c:\Program' is not recognized as an internal or external command, operable program or batch file.原来是这里引起的。把地址换成C:\Program\jdk-12.0.1 或其他不带空格的就行了。最后重启下 终于变绿了,感人...

2020-09-07 15:11:46 2037 9

原创 Git回滚

先显示提交的log(个人建议直接找日志文件)找到对应的版本运行Git界面回滚到指定的版本git reset --hard 6c242e0bc1a611f79683e4316338ec6fd92bc05f...

2020-01-11 16:35:33 209

转载 Windows server 2012R2无法安装.NET Framework 3.5

转载:https://www.cnblogs.com/hanlei-/p/10950481.html链接:https://pan.baidu.com/s/1FCQfwJOQozBs2FO_spwbDg提取码:pyz0下载 sxs放进 c盘设置,备用源就可以了

2020-01-08 09:56:11 336

原创 1.1.微信公众号开发----获取个人用户信息(2)---获取微信用户信息

根据开发者文档获取用户信息分为4步: 获取code(授权标识)--->通过code掉微信接口获取OpenId(微信公众号每个用户的唯一标识)-->获取accessToken(调接口标识)---》通过OpenId、accessToken 掉接口获取 用户信息。前面已经提到获取code,https://blog.csdn.net/wangwengrui40/article/detail...

2019-12-26 13:38:22 397

原创 1.微信公众号开发----获取个人用户信息(1)---获取微信code原理

学习微信开发的第一步就是获取用户信息。那么我们用C#怎么开发呢?根据开发者文档获取用户信息分为4步: 获取code(授权标识)--->通过code掉微信接口获取OpenId(微信公众号每个用户的唯一标识)-->获取accessToken(调接口标识)---》通过OpenId、accessToken 掉接口获取 用户信息下面介绍获取code的原理(注意是原理,你可以更具这个原理,...

2019-12-26 11:39:31 2371 4

原创 截取微信公众号的视频

微信点开推文-->按红圈把复制推文地址打开浏览器---》访问刚复制的地址--》按键盘的f12打开开发者模式--》跳转到Network菜单--》点击播放你要截取的视频---》找到 Type 为 media的哪一行再哪一行上面右键--》选择Copy link address复制连接最候打开迅雷--》复制下载的连接...

2019-12-23 16:48:54 1260

原创 纯代码生成SSL证书

参考:https://www.cnblogs.com/yelao/p/9486882.html安装OpenSSL注意 CA证书、服务器证书、客户端证书的公司名什么的,名字不可以一样--制作CA证书1,自制CA私钥openssl genrsa -des3 -out mkbothca.key 40962,自制CA证书openssl req -new -x509 ...

2019-11-13 10:50:16 389

原创 双向证书Nginx使用

服务器端配置把服务证书与ca证书复制到然后修改配置文件如果 注释掉下面2个就说单向证书ssl_client_certificatesl_verify_client on;客户端安装双击安装产生的ca证书,.crt结尾的安装2次,受信任与个人都要装一次安装产生的客户端证书.p12文件安装2次,受信任与个人都要装一次选择安装的证书...

2019-11-13 10:48:06 157

原创 双向认证---xca--证书产生

下载安装xca,点击file->New DateBase链接:https://pan.baidu.com/s/1T4U-_u3vC5eGXCKD8r4IBg提取码:x4qw复制这段内容后打开百度网盘手机App,操作更方便哦我设置文件密码统一设置123456打开xca打开的界面切换到Certificates页面,点击New Certificate...

2019-11-13 10:45:38 3104

原创 Vs code 配置JAVA环境

下载JDK配置环境变量(具体百度)安装完插件之后,打开code的“文件”-“首选项”-“设置”,进行参数设置,配置java和maven的路径,如下所示,配置完成就可以进行Java开发了。点击settings.json,把下面的写进去。("C:\\Program Files\\Java\\jdk1.8.0_172",)是你自己的jdk地址。 "java.hom...

2019-05-30 21:47:32 16424 3

原创 ABP-多表连接查询

前言:什么是多表连接查询 一:编写多表查询语句--内连接对应SQL语句:select * from Person  join Telephone on Person.Id = Telephone.PersonId 第一种方式:LINQ语法 public List&lt;Twotable&gt; GetTwo() { var ...

2019-02-18 10:46:23 7724 3

转载 ABP-工作单元

前言:什么是工作单元:意思是可以“工作”的单元:我们再看一个现实中例子,也最能说明Unit Of Work所包含的意思,就是银行转账操作,包含两个动作:转出方扣钱和转入方加钱,这两个动作要么都完成,要么都不完成,也就是事务操作,完成就Commit(提交),完不成就Rollback(回滚)。回到Unit Of Work的定义,Unit of Work是用来解决领域模型存储和变更工作,在O...

2019-02-14 18:36:14 3194

原创 ASP.net Core微信配置Token

前言:如果先进行微信平台开发,配置Token是第一步。否则往后所有的代码都没办法在平台上跑得动。但是官方给的源码是PHP的,ASP.net core 配置Token 的版本又少。研究怎么配置Token浪费了我超多时间。首先登录开发者平台,点击开发者工具---》公众平台测试账号然后就需要配置我们的接口信息了 先创建一个配置实体 public class WeChat...

2019-01-31 17:52:13 2255

原创 ABP-权限管理

前言:什么是权限控制我们的接口不是任何人都可以访问的,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。在ABP框架的=权限管理基本上是围绕数据库中的AbpPermissions表进行的,它明确表示了那个角色/租户用有什么权限。那么我们怎么利用这个数据库表进行权限控制呢?显然并不是进行简单的权限的增删查改。第一步:配置在...

2019-01-28 18:31:57 8365

24种设计模式C#版

写代码的时候没处理好,启动文件,在简单工厂模式里 七大设计原则: 1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责. 2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规则.(子类可替换父类) 3、依赖倒转原则【DEPENDENCE INVERSION PRINCIPLE】:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程。 4、接口隔离原则【INTERFACE SEGREGATION PRINCIPLE】:建立单一接口

2020-10-29

证件照学生照考试照检验裁剪工具;照片验证.zip

证件照学生照考试照检验裁剪工具.

2020-09-11

空空如也

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

TA关注的人

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