自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 NPOI中关于公式的使用Formula

​ 鄙人在做Excel数据导出时,一般不使用Excel的公式Formula,因为数据都在程序里获取到了,可以直接用(统计加总/平均…​ 但一些需求要求固定使用Excel公式计算(可能是为了’美观’,亦或是’不信任程序的计算结果’),则需要在NPOI中设置Excel的公式.谨以此文介绍其用法以及一些细节.前面的用例都是动态状态下的使用,如果在动态打印Excel的情况下使用公式,则必须准确的获取到列号(like A,B,C,D…像是SUM(),AVERAGE(),ABS()…2.日期计算公式的使用。

2024-02-28 11:49:45 733 1

原创 自动备份B站Up主最新视频到百度网盘的Python脚本详解

次篇文章启发于某些大胆的UP主(老马)的多次被封,并被下架一些视频。有些人并不能及时观看到,故写一个脚本自动下载最新视频。🌀1.准备环境。

2023-12-28 11:38:34 735

原创 Sourcepawn脚本入门(二)命令与事件监听

(控制台)命令是常用的插件形式,eg. noclip …等都是常用的命令,在游戏中使用也很容易,souremod可以注册自己的命令。游戏事件在具体游戏上会有一些差别,所以在此处请参考文档。使用RegConsoleCmd注册控制台命令。列表中提供的参数里事件中可以获取到的参数。获取参数信息和客户端信息。

2023-12-06 19:04:29 547

原创 Sourcepawn 脚本入门(一)准备

1.Sourcepawn是什么?Sourcepawn是SourceMod团队开发的基于source-sdk的服务器插件开发的一种脚本语言。它适用于大部分起源引擎的游戏,多见于L4D,CSS,CSGO,2.Sourcepawn的开发工具Sourcepawn的开发工具有多种。只要下载了sourcemod,写在文本里保存为.sp格式再使用scripts文件夹里的spcomp编译即可。对于有开发基础和没有开发基础的人,我都推荐使用VSCode(安装SourceMod插件)

2023-11-30 17:20:47 638

原创 华为云云耀云服务器L实例评测|搭建CounterStrike Source Delicated Server(CS起源游戏服务器)

Steamcmd是Steam的命令行工具,可以在命令行中执行命令,在下载CounterStrike Source Deilicated Server前,需要先行登录Steamcmd.当你进入steamcmd中后,可以选择登录自己的steam账号,也可以选择匿名登录,并不需要登录也可以下载CounterStrikeSource Delicated Server。(server.cfg是服务器的配置文件,可以在其中详细定义服务器的设置,比如对局时间,最大比分…这里给出一个样例,具体的设置可以查阅文档。

2023-09-27 14:45:52 1586

原创 BlazorServer中C#与JavaScript的相互调用

​ 虽然BlazorServer中推荐使用C#在razor页面中的替代JavaScript来完成逻辑的编写,但当需要使用第三方的javascript文件/组件里的内容时,则难免要在C#中调用其方法或对象。反之当你的(用到第三方组件的)Javascript代码想要和后台交互时,则需要调用C#的代码。好在BlazorServer中这两种通信都是支持的。下面将介绍其具体的实现方式。

2023-08-23 20:36:53 1793

原创 CS1988|C#无法在异步方法中使用ref,in,out类型的参数的问题

参数,因为当控件返回到调用代码时,该方法可能尚未完成。对引用变量的任何更改都对调用代码不可见,从而导致 CS1988 错误。BlazorServer的场景中推荐使用异步方法,使用ref,out,in为参数前缀则报错CS1988。如果要在async方法中获取一些返回值,请直接加在的Task的返回中。如果是一些运行时间长的方法,则可能造成一些响应不及时的效果。将需要用到的参数作为Task的返回,即。应避免使用引用类型为参数来充当返回值。现有Blazor页面如下。延申:引用变量的可见性。在方法的运行时间内,

2023-08-17 11:47:57 1749

原创 .NetCore录屏生成Gif动图程序(Form)的开发过程[代码已上传GitCode]

桌面录制Gif程序https://gitcode.net/jamenu/recorddesktopgif

2023-07-14 17:07:39 271 1

原创 BlazorServer非鉴权的登录和注册

BlazorServer入门,参数的绑定与跳转

2023-07-05 15:52:38 584

原创 Quartz使用H2数据库(嵌入模式)进行持久化

(PS:如果不使用Cluster的话,Quartz不会持久化Scheduler,所以不要纠结于QRTZ_SCHEDULER_STATE表为什么没有数据)运行结束后打开h2数据库,你的Scheduler绑定的Trigger和Job将会被保存到表中。Quartz在包内提供了多种数据库的sql文件,大家可以选择方便的使用。Quartz包中有默认的properties配置文件,可以直接复制出来进行修改。使用H2持久化Quartz任务。使用数据库连接工具创建需要的表。2.修改Quartz的配置文件。

2023-06-23 19:27:19 667

原创 C#中List<T>的排序相关的使用方法总结

🌮1.Sort和实现Comparable接口此方式需要类去实现IComparable接口。

2023-06-14 16:59:07 1651

原创 Dapper存取Blob类型数据

blob类型是数据库用于保存二进制文件的一种类型,可以将文件存储到数据库的表中。ADO.NET原生的方法操作blob类型需要一个OracleBlob类作为中介,通过它来获取流或是字节。然后再进行下一步的操作,如果要获取的数据比较多,则比较繁琐。🚩 Tip: 如需通过ORM对象来获取Blob列,只需要将Blob列的对应类型设置为和上例中的byte[]即可。而Dapper的方法更加简单,直接用byte[]来传递二进制文件,操作则更加简单。原生的Ado.Net存取Blob比较繁琐,通过上面的例子可以看出,

2023-05-30 08:28:01 603

原创 如何在Oracle存储过程发生异常时获取out类型参数的值

✈️有一些关于金额和时间的精确且量大的计算需要在存储过程中完成。存储过程中有一些自定义的异常。并且将在RAISE前通过out类型的参数将详细的异常原因返回。但是在通过Csharp的调用中,发现了很多的问题。需要书面总结。

2023-05-12 15:55:59 1052 1

原创 Typora自定义上传图片脚本(用git公开仓库为图床) In Win/Linux

1.所需工具:⚡️Git一个目标仓库一个其他的可执行程序(Window下)

2023-04-26 09:03:52 169

原创 关于修改压缩包内的文件(Excel...)内容的解决方法

要避免这种情况,你必须新建压缩包,把Excel一个个修改后直接存在新的压缩包里,毕竟上面的代码改动后还是被流塞进了原来的文件,故会造成一些不知名的损坏。在他下载对应压缩包的接口中直接修改压缩包内的Excel文件,这种方法比较直接且好像可行。虽然在Excel自动的修复后可以使用,但终究是不能使用这种方法的。在他的接口逻辑里直接在拆分后直接设置自动列宽…如果能在压缩前就修改完成就不需要修改压缩包内的文件。如果能在压缩前就修改完成就不需要修改压缩包内的文件。如果能在压缩前就修改完成就不需要修改压缩包内的文件。

2023-04-12 10:30:27 1542

原创 关于Oracle的Group by于Date列控制精度的方法

PS:这样并不能彻底的解决问题,因为解决了跨秒造成的时间分组错误,但是无法解决跨分钟的,如此还可以向下推(虽然可能性极小)为了硬凑一个列的结果,所以将该Date列也放入Group by 的列中。需要通过一个分组的列来对一张/多张表的查询结果进行分组,其中一个Date列可以用于组合分组,且。从结果看很明显,副表的记录create-time的一秒间隔造成了分组错误(程序执行的间隔)本该是一组的结果被显示为不同的两组结果(单组的ID却一样)一天后问题出现,测试环境的查询结果中。精度的可选参数如下表。

2023-03-14 17:01:01 518

原创 SignalR在Asp.NetCore的使用入门

一定要弄清Hub类的作用,Hub类中定义的方法为只能被前端invoke调用,但是否响应(SendAsync)是可选的当你在其他的地方要推送信息(SendAsync)时,使用的是IHubContextIHubContext可以使用DI,你可以在后台的任何地方自动发送消息不要尝试将IHubContext 转化为T,后台无法调用Hub类方法,路已被锁死。

2023-01-12 16:16:20 1134 1

原创 QuartzNet的基本使用,Scheduler,Job,Trigger的应用

Quartz.Net的基本使用是比较简单的,主要是对下面三个工具的创建和使用。

2023-01-10 14:25:54 751

原创 C#在控制台中打印进度条【同步和异步】

这个方法的参数是一个无返回值的action(可以理解为一个void method),但必须要一个T泛型的参数。可以不同的数据类型,最常见的比如int,则多表示为1~100,double多表示为0.01-1.00。IProgress接口需要实现void Report(T value);C#提供一个IProgress的基本实现类。Progress它可有一个有参的构造方法。这里的T就是进度的值。

2023-01-05 11:07:58 1324

原创 【非付费】C#关于将Excel转为PDF的两种方法

其实有很多的组套软件提供Excel转PDF,而且也包含更多更强大的关于文件格式转化和操作的API,像是ITextshape,但全都是商业付费的。上午只找到两种可以使用的方法,暂时先记录一下。

2023-01-02 15:06:55 3227

原创 C#在Pdf画统计图表之【雷达图】(以五边形为例)

工具:PdfSharpCore或Pdfsharp知识 :基本的三角函数思路 : 画坐标,确定点-------->画多个半径渐变的正多边形------->根据数据确定雷达图的数值位置PdfSharp/Core的绘图方法很丰富,可以用来绘制比较精密的图形。同时,如果想要更进一步的绘制,最好将数据Model固定,弄一种固定格式,也可以借此展示更多信息。最后注意坐标点的计算需要用到一些三角函数,请不要忘光了。

2022-11-22 15:38:13 1017

原创 C#把数据库表里简体字转化为繁体字

有一个需求改动,需要把一张表里的所有数据从简体中文改为繁体中文。表的数据也不多,大概500左右。大概有几种思路:1.手动翻译,然后用Navicat等工具直接文本替换(相同文本多还好,少还是很难受)2.调公共的翻译接口,再使用ORM保存(翻译接口大多收费)3.直接使用程序翻译,再使用ORM保存还是第三种方法更方便一些,我查阅了一下,可以通过VB的方法(.Net core无法使用)和加载一个简繁体转换的dll来实现。

2022-09-28 15:28:28 1058

原创 LINQ对集合的聚合操作

常见的函数使用非常简单,但重要的是。

2022-09-07 18:33:16 346

原创 C#把Type当做泛型T,来作为方法的泛型进行使用

一般情况下,是无法把Type类型当做泛型T来使用的,你会收到IDE的提示如下这里当然可以直接将Person传入泛型,但我使用一个Person类来获取Type只是为了测试,因为。按IDE的提示,我们无法这样直接使用,但是微软为我们提供了。...

2022-07-25 23:57:32 3620

原创 ASP.NET CORE写一个缓存Attribute工具

本工具启发于Spring Cache,故使用C#的Attribute去模仿Spring的@Cahce相关的注解,试图实现一样的效果。代码地址:https://gitee.com/godenSpirit/cache-attribute,欢迎提出意见和改善。Cache接口和实现Redis的实现类CacheFilter将执行代码通过策略模式抽取到CacheOperation缓存名解析使用方法使用方法非常简单测试在Gitee地址中自带一个WebAPI的测试,可以直接在其基础上扩写...

2022-07-23 15:18:00 362 1

原创 ASP.NET CORE的ActionFilter过滤器详解

功能有点类似于Spring的Interceptor和AspectJ提供的AOP功能,但实现的方法有好几种,下面我来介绍一下。

2022-07-16 20:22:40 3005 3

原创 SQLServer触发器的创建和使用

触发器也是和之前写的数据库函数和存储过程类似,可以看做是一种特殊的数据库函数,只不过由系统调用,我们也需要表明调用的实际和规则1.对于主体在表和视图的触发器Trigger on an INSERT, UPDATE, or DELETE statement to a table or view可以在Insert,Update,delete时触发不能在Select触发2.对于主体在数据库和服务器的触发器Trigger on a CREATE, ALTER, DROP, GRANT, DENY, RE

2022-07-07 10:54:25 6574 1

原创 SqlServer函数,存储过程的创建和使用

在SQLserer中,函数是经常要用到的,不过大多数时候只是使用一些系统函数。MS将函数类型分为三类标量函数的解释为用户定义标量函数返回在 RETURNS 子句中定义的类型的单个数据值。 对于内联标量函数,返回的标量值是单个语句的结果。 对于多统计信息标量函数,函数正文可以包含返回单个值的一系列 Transact-SQL 语句。 返回类型可以是除 text、 ntext、 image、 cursor和 timestamp外的任何数据类型。(大致可以理解为返回一个具体的值)表值函数的介绍为用户定义表值函

2022-07-04 10:49:25 2333

原创 关于ASP.NET CORE使用DateTime日期类型参数的一个小细节

2.不要在方法里对DateTime参数进行判空操作,因为当你不为DateTime传入值时,它会被默认设置为 DateTime.MinValue测试:故

2022-07-01 11:34:08 1233

原创 关于SqlSugar的多对多的级联插入的问题(无法获取集合属性的id,导致无法维护中间表)

今天没有事,想着用.Net Core WebApi写一个RBAC的小Demo,Demo很简单,主要就是Role和Permission,User和Role的两个多对多的关系,也就5张表的事。打算使用ORM来简化操作,故使用SqlSugar来帮助开发。但在级联插入时好像出现了一些问题。现有模型,和生成的表如下我们写个方法测试一下在swagger中测试插入,(这里的参数id是没有用的,它们实际上生成的是自增值)这一点还是有点问题的,一般的ORM应该自动去维护中间表。故多对多的级联操作还是很重要的,

2022-06-27 11:12:57 1216

原创 如何正确计算导入Excel的行数(POI/NPOI)

在一些具体的业务实现中经常要使用Excel作为数据的来源,或者导出一些Excel。一般我们都是使用POI(Java)/NPOI(.Net)来读取或写入相关的数据。这个月接手别人的模块,在模块中需要频繁的导入导出Excel操作,在给那些‘测试’对接时,经常出现导入失败的情况,非常烦人。这大概率是POI/NPOI的行数和实际导入的Excel有效行数不一样造成的这里以下面的一个Excel为例这个Excel没有改格式也没有加空格,它的行数统计如下这里随便插入一行再运行便可再次测试1.空格造成的行数错

2022-06-22 14:38:09 2112

原创 在ASP.NET CORE中使用Log4Net

前言:Log4Net同样是Apache下的日志框架,在.net整个系列上基本上都可以使用。API也和其他的日志框架(log4j)相似,所以学习上手非常快。配置方法也很简单,完成log4net的xml配置文件,命名为log4net.config(注:不要保存为xml,vs中默认以.config代替.xml)3.直接在程序中使用使用方式大体可以分为,构造函数注入日志器,和静态工厂获取。后者就和Java中著名的slf4j日志门面提供的API差不多,从工厂中获取logger构造函数注入(ASP.NET

2022-06-15 16:10:08 830 1

原创 使用RabbitMQ让C#项目和Java项目互相发送和接收消息

PS:这只是一个测试,rabbit是在本地的环境,先开启rabbitMQ的服务器代码是直接拿的RabbitMQ官网里的,可以直接拿来用Java的Customer结果先运行C#的Provider,产生了一条消息再启动Java的Customer消息被消费掉了。反过来也很简单,只需要注释Java的接收代码,添加发送消息的代码即可C#的接收也同理...

2022-06-11 20:29:19 406

原创 在Windows下安装RabbitMQ

因为RabbitMQ是使用Erlang语言编写,所以要运行RabbitMQ的话,首先需要安装Erlanng的环境请注意:RabbitMQ的版本和erlang的版本是相关的,不注意二者的版本的话,会安装不了(亲测)具体的版本信息请以官网信息为准:请看如下链接https://www.rabbitmq.com/which-erlang.html直接运行otp_win64_22.3.exe 即可可以直接按默认的路径安装,查看系统变量中添加ERLANG_HOMEPath中添加%ERLANG_HOME%

2022-06-10 10:43:54 268

原创 常用分页方法总结

记录工作中的一些分页方法内存分页即在程序运行中对数据进行分页,一般是先从数据库查出来再分页。缺点是内存消耗大,优点是方法简单这里给出我自己常用的Java流操作分页和C#的LINQ分页简单来说可以总结为这里的pageIndex为页号,pageSize为一页的条数,当然你必须提供总的记录数Count,不然无法知道有几页。2.Sql分页Sql分页是在sql语句中进行分页,一次只从数据库中查出若干条记录优点:内存开销小,缺点:不同数据库分页sql各不相同oracle可以使用自带的rownum当然,也可

2022-06-08 20:00:14 739

原创 使用云服务器搭建Spigot的我的世界服务器

这里随便搞一台云服务器安装配置JDK,(请注意随着MC版本的不同,要求的jdk版本也是不同的,请事先查明,免得安装多版本JDK,费时费力)安装JDK,可以参考这篇文章安装配置JDK安装GIT然后你需要设置一下git配置,输入下面的指令在云服务器的防火墙中开放25565端口(MC的默认端口,可之定义)(不同的服务器厂商形式不同,但操作大体一样)到Spigot官网去下载BuildTools.jar,版本可以自选,创建一个文件夹,将BuildTools.jar放入其中,使用如下java命令运行

2022-06-02 14:24:47 2617

原创 奇怪的要求,判断集合元素的属性值是否有重复

要求导入一个EXCEL,每一行的值都封装到一个对象中,最后导到数据库里去,因为某些业务要求,某列不能出现重复的值(所以在存到集合里去后再检查一下),思路还是比较简单,单独拿出集合中那个指定属性的所有值作为另一新集合,再循环新集合中用原对象集合的属性值计算Count出现次数即可,大于定于2就可以定义为重复。当时在C#中的实现(使用LINQ)internal class TheOneTest{ public int ID { get; set; } public string Nam.

2022-05-26 11:27:53 404

原创 (ASP.NET CORE)记一个因Newtonsoft.json的序列化规则造成的BUG

背景: 要给一个以前的项目从APIKey的验证方式换成JWT的验证方式,之前也换过一个老系统,当时也没出现什么问题。但换到这个项目却因为序列化出现了点小问题,而且比较细节,不好找是什么原因。问题描述:前端收到的返回值的属性名都是小写,所以要求我在Token校验通过后放行的结果里也要保持全部小写的属性名。之前在StartUp里面是设置了小写属性名Resolver的,services.AddMvc(filters).SetCompatibilityVersion(CompatibilityVersio

2022-05-19 14:11:11 565

原创 SqlSugar初体验|比EFCore更优秀

前言: 之前看微软的文档学了一会EFCore,当时觉得还不错,但是在工作中也没有使用。然后前段时间终于要答辩完了,也没有去总结,写点什么。反正趁作为学生身份最后的几天玩几天也无所谓了。首先,SqlSugar的官网:https://www.donet5.com/官网有详细的文档,也有相关的论坛,如果有问题可以到里面讨论,1.迁移与逆向迁移在微软的文档中喜欢用这个词,其实意思就是把Model映射到数据库生成表。(建表)反向迁移就是从数据库的表都读出来生成对应的Model下面是一些和其他的框

2022-05-17 23:06:54 11316

原创 Logback使用学习二(深入Appender)

在Logback的官方文档中对Appender的标签定义如下。Logback delegates the task of writing a logging event to components called appenders.翻译过来就是‎Logback 将写入日志记录事件的任务委托给称为追加器的组件‎.LogBack提供了几种常见的Appender,可以开箱即用。1.控制台输出器ConsoleAppenderConsoleAppender是logback.core提供的基础Append.

2022-05-06 17:22:40 1385

Rotbot测试用例待完善

Rotbot测试用例待完善

2023-02-01

ASP.NET CORE 3.1使用SignlR的Demo

ASP.NET CORE 3.1使用SignlR的Demo

2023-01-12

C#CacheAttribute测试版0.1

功能:使用Attribute对方法进行缓存操作 现有四种Attribute, CacheAble CacheDel CacheUpdate CacheInit 使用方式类似于Spring Cache

2022-07-15

C#缓存工具类【待完善-----可以参考一下】

C#缓存工具类

2022-07-14

c#缓存使用工具,也已使用Redis和MemoryCache

还在测试,这几天完善一下

2022-07-14

POI完整依赖包集合,无需再去Maven下载

Java的开源Excel操作工具POI,包括了全部的依赖包,方便使用。

2022-06-21

DesignMode.rar

Java几种设计模式的代码实现(工厂,建造者,装饰,设配器,原型)

2021-09-22

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

TA关注的人

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