自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术分享博客

前端框架知识;操作系统知识;C#,python,Java,等编程语言相关知识,以及在开发过程中遇到的坑和解决方式

  • 博客(138)
  • 资源 (3)
  • 收藏
  • 关注

原创 EFCore相关知识分享

EF Core相比大家都听说过,它是 .NET Core 中的一个开源对象关系映射(ORM)框架。它允许开发者以面向对象的方式与数据库进行交互,从而简化了数据库访问的复杂性。EF Core 是 Entity Framework 的跨平台版本,支持 .NET Core 以及 .NET Framework。EF Core的相关知识分享到这里就结束了,后面如果还有其他知识会更新在这篇文章中。

2025-02-12 22:48:53 861

原创 ML.Net二元分类

‌ML.NET‌是由Microsoft为.NET开发者平台创建的免费、开源、跨平台的机器学习框架。它允许开发者使用C#或F#来训练、构建和发布定制的机器学习模型,特别适合.NET开发人员使用‌至此ML.Net的使用教程就结束啦,更多有趣的玩法大家快去尝试吧。

2025-02-12 19:28:28 839

原创 DeepSeek本地部署

deepSeek的大名想必大家都有所耳闻了吧,国内深度求索公司开发的一款开源的AI,用于对抗美国的OpenAI。搞笑的是美国的AI虽然叫openAI但是它是闭源的,还不如改名叫CloseAI呢。但是DeepSeek也不是从零开始的,也是借鉴了部分OpenAi的思路再加上自己的工程创新才实现的,调侃归调侃,致敬归致敬,其实DeepSeek也是用的TensorFlow,接下来我就来给大家讲讲Deepseek怎么进行本地化部署。

2025-02-12 01:59:32 1674

原创 C# 常用的文件处理方法

在开发中我们经常会遇到文件上传文件下载,excel导入,excel导出等情况,这里我就总结在此篇文章中,方便大家在需要时直接copy。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2025-01-20 11:04:36 1043

原创 C#防止重复提交

当用户在前端进行提交数据时,如果网络出现卡顿和前端没有给出响应的话顾客通常都会狂点提交按钮,这样就很容易导致后端数据造成脏数据,众所周知顾客就是老天爷,这种问题一定是咱有问题。下面我们就来看看如何避免这种情况吧。这里主要是通过过滤器实现的。这里顺带提一下,过滤器也属于是AOP编程的体现哦。今日的分享就到此结束,有什么不懂的可以留言讨论。

2025-01-20 08:58:40 364

原创 C#深度神经网络(TensorFlow.NET)

现在AI这么流行想必大家都听说过,卷积神经网络(CNN)、深度神经网络(DNN),大多数实现都是采用的python,不得不说python是真的火。TensorFlow.NET是由SciSharp STACK开源社区团队的贡献,它为TensorFlow提供了.NET Standard , 以C#实现完整的Tensorflow API,允许.NET开发人员使用跨平台的.NET Standard框架开发、训练和部署机器学习模型。

2025-01-17 15:12:17 2820

原创 C# AOP编程

‌切面编程(Aspect-Oriented Programming,AOP)‌是一种编程范式,其实就是通过将横切关注点(如日志记录、事务管理、安全控制等)与业务逻辑分离,把重复的代码提出来以提高代码的模块化、简化维护,并提高代码的复用性‌。AOP是希望能够将通用需求功能从不相关的类当中分离出来,能够使得很多类共享一个行为,一旦发生变化,不必修改很多类,而只需要修改这个行为即可。AOP是使用切面(aspect)将横切关注点模块化,OOP是使用类将状态和行为模块化。

2025-01-14 11:28:13 927

原创 C#反射的应用案例与讲解

反射在我们实际开发中其实比较常见的,比如我们接口对接时将对象序列化为json字符串和将对方传过来的json字符串序列化为我们的DTO对象,还有进行依赖注入的时候其实都用到的反射。下面我就来用实际开发案例的方法来给大家讲解一些C# 反射的用法和原理。其实有的时候我也在考虑有没有必要这样刨根问底,换个思考方式就像铁匠去研究锤子的铁是由什么元素组成的一样,其实他就是个打铁的根本没必要去做这些事只要打好自己的铁就可以了。但是古人又说了,不能知其然要知其所以然。奇奇怪怪。

2025-01-10 11:35:04 966

原创 .Net加密与Java互通

在接口对接过程中我们常常会遇到需要加密和签名等情况,像经典的RSA,AES,SM2,SM3,各个语言之间的加密都有些小差异,接下来我就总结一下我做.net开发中与java接口对接时发现的差异与解决办法。提示:以下是本篇文章正文内容,下面案例可供参考以上就是常用的加密和解密方式。希望对大家有所帮助,对于加密和解密不用过多在意他们的计算公式和原理。咱们只管开发就好,过于追求真理只会延迟开发进度。

2024-12-31 15:11:25 1362 1

原创 Sql Sqserver 相关知识总结

本文主要从如何优化sql语句,检查sqlserver状态,SQL server各种索引的对比,这几个方面来开展学习和探讨,总结了我近几年的经验。希望对大家有所帮助。

2024-12-27 10:02:52 966

原创 .Net 多线程、异步、性能优化应用与心得

这里我是记录的执行耗时的,总共花费了97毫秒,其实多数耗时都是花费在了创建线程上面,采用多线程的方式去进行文件的写入和读取,可以看出异步操作不会阻塞调用线程,适合在高并发场景下提高程序的整体性能,如果每次写入都是一个用户发起的请求的话那么也可以说它可以更有效地利用系统资源,比如在网络应用中,可以处理多个网络连接而不会阻塞。而且这种方式的底层实现其实是才用的线程池,当线程使用完之后不会立即销毁,会放回线程池内,等到下次再处理的时候就可以直接使用这个线程,这样就避免了频繁的创建和销毁线程,减少了性能开销。

2024-12-09 09:27:41 1267

原创 .net 8使用hangfire实现库存同步任务

在第一章中我介绍了如何在.net Framework 4.6 WebAPI 中使用Hangfire,实现Hangfire定时调用我们开发的API接口,但是在实际业务中调用接口往往需要处理耗时任务,如果还像第一章中的方式去调用的话就会出现请求超时的情况。今天我就以电商系统库存同步业务为例子给大家讲解如何使用hangfire调用耗时任务。后续我也会把项目放在优快云上供大家下载学习。该服务用于定时调用库存同步服务。作为库存同步服务和商品SKU更新服务的管理。Common:项目中的公共方法。

2024-11-21 11:11:41 916

原创 .net Framework 4.6 WebAPI 使用Hangfire

在业务中常常遇到需要在后台定时执行的业务,例如:库存同步、数据定时推送拉取等,目前较为成熟的定时任务插件主要有hangfire,Quartz;这里我们就选择hangfire,选择它的原因主要是因为它自带了控制面板,单它也有缺点它不支持秒级定时。这里举例的业务主要是做库存同步,不需要精确到秒级。下面咱们就来看看怎么实现吧。以上就是我对Hangfire的简单使用,至此结束,有任何疑问欢迎评论区探讨,上述教程如果有错误的地方也请各位大佬指正,以免误人子弟。

2024-09-27 17:00:26 1723

原创 C#基于Redis实现消息队列

这里的方法逻辑是,外部方法调用addQueue,往队列里面添加数据,同时开启消费线程(CreateAndRunTask),当数据执行结束后将信号量重置,将线程挂起,减少性能开销。CreateAndRunTask 方法中会调用每个继承该抽象方法的子类的处理方法也就是(DealWith) 方法。这里是reids方法的具体实现,注意这里的redis采用的是单例模式防止产生过多客户端影响系统性能。该帮助类中是包含的Redis的连接和存储的方法。这里是继承自上述基类的子方法。这个方法和上面是同样的。

2024-08-19 11:34:12 904

原创 .net Core FileHelper

在开发中我们时常会遇到需要对文件进行操作的情况,下面是我常用的文件帮助类,希望能帮助到各位骚棒,贴出来也方便我自己后面copy.

2024-06-20 15:11:17 265

原创 C#加密与java 互通

在我们对接其他公司接口的时候,时常会出现对方使用的开发语言和我方使用的开发语言不同的情况,因为每个语言之间都会有些许差别,在进行加密签名中就会出现签名一直对接不上的问题,下面我就来和各位分享一下我所遇到的问题以及解决方案。

2024-05-30 11:41:20 1155

原创 js将文本复制到粘贴板

在web开发中为了方便用户操作,我们时常会遇到需要一键复制的情况,一下两种方法是介绍js中操作剪切版的相关方法。

2024-03-25 11:16:22 887

原创 对外开放接口的Appkey和Secret应该如何设置?

123456 MD5加密后就生成了32位或者64位的字符串,再将其拆分为若干段,例如拆分成三段,每段有多少个,然后生成一个2000随机乱码字符串中,将secret 插入到2000个字符串中的固定位置,然后检查乱码字符串长度是否附后,然后substring拆你要的加密字符串,然后解密出来看是否能得到原来的明文。在对外开放接口的设计中应该要考虑到接口的安全性和可扩展性。App secret:的意思为“私匙”,简称api接口密钥,是跟app key配套使用的,可以简单理解成是密码,它是微信公众平台服务号才有的。

2024-03-25 10:46:46 2258

原创 .Net Core 中间件验签

为什么要用中间件验签,而不是筛选器去验签?1、根据上图我们可以看到,中间件在筛选器之前,而筛选往下就是我们写业务逻辑代码的控制器了。这就大大增加了我们被攻击的风险。2、用筛选器我们需要在每个控制器上都添加相应的标识,如果需要校验的sign的控制器多的话,就增加了很多不必要的工作量,和风险,如果某个控制器一时疏忽忘记加筛选器的话就有可能会被攻击。筛选器一般都是当数据得到信任的时候做验证,例如用户登录了,做功能的权限判定,中间件判定非信任数据。

2024-03-13 09:10:19 1005

原创 领域驱动设计应用之WebAPI

随着技术的不断迭代升级,设计方式也在不断迭代更新,目前比较流行的就是领域驱动设计的方式来开发程序,领域驱动设计相对于传统设计模式的有点在于:1、更好地理解业务需求。2、更好的设计质量。3、更好的团队协作。4、更好的的业务创新。从这里就可以体现出领域驱动设计的效果了,商品领域的请求和返回只会用到它自己领域的东西。这也很好的避免了传统设计方式会出现的代码冗余问题。也可以方便后期维护,需要修改那个领域就可以很快的找到相关的代码。

2024-01-13 15:41:41 1146

原创 C#高性能的批量数据处理方案

我们经常会遇到这样的数据处理应用场景:我们利用一个组件实时收集外部交付给它的数据,并由它转发给一个外部处理程序进行处理。考虑到性能,它会将数据存储在本地缓冲区,等累积到指定的数量后打包发送;考虑到实时性,数据不能在缓冲区存太长的时间,必须设置一个延时时间,一旦超过这个时间,缓冲的数据必须立即发出去。看似简单的需求,如果需要综合考虑性能、线程安全、内存分配,要实现起来还真有点麻烦。这个问题有不同的解法,本文提供一种实现方案。

2023-08-01 09:12:41 1702

原创 C#百万数据处理

这里我给大家带来一个我自己所经历的百万数据处理案例,该案例中会拿优化前和优化后的代码进行对比,让大家更直观的感受优化给项目带来的效率提升。该项目优化用到了:线程同步,多线程,sqlSugar,异步,委托等知识。以上就是我个人所经历的大数据处理,虽然优化的并不算完美但是还是总结出了不少经验,也从中学习到了很多,比如,单线程和多线程的运用以及委托和线程同步等知识。

2023-07-30 13:10:58 1191

原创 C#多线程

随着业务的不断发展,程序的数据处理量需求也越来越高,例如,电商项目中的库存同步,和商品信息拉取等,一个门店都是几千个品种,每个品种都有几十甚至上百的的批次,如果是个连锁有一万家门店,那么这种情况库存同步如果用单线程处理的话效率是极其低的,同步几天都同步不完,接下来就该利用多线程来优化了。协程,英文名是 Coroutine, 又称为微线程,是一种用户态的轻量级线程。协程不像线程和进程那样,需要进行系统内核上的上下文切换,协程的上下文切换是由程序员决定的。

2023-07-27 14:30:40 878

原创 .Net Core依赖注入

相信大家在学习.net Core的时候都听说过依赖注入,和控制反转等概念。随着.net Core 6.0的到来,相比于之前的.net Core 3.1 做了不小的改变,依赖注入的方式也和之前的方式有些许不同,但是万变不离其宗,如果你会用.net Core 3.1那.net Core 6.0应该也能很快上手,不会.net Core 3.1的同学也不用担心,相信你看了下面的教程也能学会如果依赖注入。

2023-07-24 17:31:31 1435

原创 DataTable数据对比

开发中我们经常会出现查询数据库后返回DataTable的情况,那么DataTable中常用的一些操作阁下又了解多少呢,例如:两个结构不同DataTable怎么找出他们俩之间的交集和差集。

2023-07-19 17:16:13 2472 2

原创 SqlServer Update的各种使用方式

在平时的使用中常常会遇到一些批量修改或者根据某个表的数据去修改另一个表的数据。sqlserver 的Update 语句一定要加 where 条件,不然后果很严重。where条件尽量用索引列这样能有效提高效率。

2023-06-07 16:34:21 8910

原创 Js时间范围计算

在设置layui时间范围选择器的默认值时想动态设置近五天的时间。故此写下此段代码。

2023-06-02 15:04:04 242

原创 【C#优雅的合并两个DataTable】

这里我们只利用.Net 的LINQ语句进行的Join查询,当数据量过大是会明显的比用for循环拼接快得多。

2023-04-03 21:37:15 5207

原创 两个List集合做数据对比

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。比如集合A和集合B,A和B的差集就是A集合中有的而B集合没有的,也就是灰色的部分。集合A和B共有的数据,也就是图中灰色部分A和B的数据合并在一起的值,也就是灰色范围的值。

2023-03-21 14:36:44 5995

原创 loadCLodop驱动检测

先修改LodopFuncs.js中的打印对象为全局变量。引入lodop的js后判断Lodop对象是否为空。

2023-02-07 10:49:53 554

原创 Redis如何保证和数据库的数据一致性

Reids如何保证缓存数据与数据库数据的一致性

2023-01-05 21:08:34 656

原创 Redis过期键删除策略

想必大家都直到Redis它是一个key-Value结构的数据库,它的key是可以设置过期时间的,过了这是时间key就会被清除掉。那么当我们设置了过期时间后Reids它是怎么处理的呢?Redis中同时使用的惰性过期和定期清理这两种策略。

2023-01-05 20:50:23 925

原创 Redis的持久化机制

想必大家都知道,Redis是基于内存进行的读写操作,这也是它快的一个原因,但是正因为它是在内存中进行操作,数据的安全性得不到保障,如果服务器某天宕机了的化那我们数据将会面临丢失的风险。那么Redis是怎么解决这一问题的呢,答案就是持久化。接下来我将会给各位讲解reids的持久化的实现以及不同实现方法它们各自的优缺点。AOF文件比RDB更新频率高,优先使用AOF还原数据。AOF比RDB更安全,文件也更大RDB性能比AOF好如果两个都配置了优先加载AOF。

2023-01-02 00:22:51 1253

原创 Redis单线程为什么这么快?

在使用数据库是我们往往会使用reids来作为数据库前面的一道防护,由于reids的吞吐量更大所以一般都会用来作为缓存快速的响应,想必大家都或多或少听说过,或者使用过reids,如果你现在还只是知其然而不知其所以然,那么本篇文章将会给您带来帮助,让您看清reids内部的执行过程,让您知道它为什么是单线程却能那么快。

2023-01-01 15:00:50 1102

原创 vs2022使用单元测试

点击上方工具栏的扩展选择管理扩展选择联机 搜索mstest点击MSTest v2 Template注意安装的时候需要关闭 vs。

2022-12-30 15:47:42 4399

原创 对接API模型创建

这里继承的父类就是上面我们提取出公共属性的model.这里重写了父类的URL这种方式只需要在父类写一次验签方法就可以了,增加代码的复用率同时实现高内聚方便后期维护.//子类自己的属性 public string order_id {get;set;} //重写父类URL属性 protected override string Url {get {} } }//这里如果有其他单独属于这一个模块的属性可以写在这里 }

2022-12-29 14:08:35 519

原创 layui Table复杂表头导出

网上找了一天都没找到合适的layui复杂表头的导出解决办法,试过Table2excel,然并卵。最后还是在layui论坛里发现的了大佬给出了解决办法。table加载方法展示。导出的excel效果。

2022-11-26 11:40:32 2746 4

原创 C#计算两地点最近直线距离

C# 不通过第三方接口获取两个地址的直线距离

2022-11-02 16:41:01 536

原创 Python控制屏幕

Python 控制屏幕

2022-10-28 10:03:10 2056

原创 微信3.7版小程序数据分析

随着微信防爬技术的再度升级,之前Python+mitmproxy利用网络代理这种中间人的方式已经爬取不到微信小程序的数据了。俗话世上无难事只要肯放弃,本以为已经无计可施了,在某天不经意间发现一个神器依然可以抓到小程序的包,于是开始研究如何实现自动爬取。只要是数据交换那就一定能抓到包。不要轻言放弃有时候换个思考方式就能得到想要的答案。我在用这个神器之前也试过 Proxifier 、Wireshark等相对出名的数据分析程序。

2022-10-21 16:22:38 2130

google的数据清洗工具

内涵清理工具安装包,主要用于人工智能训练数据的数据清洗

2025-02-21

用于Http请求抓包,检查请求内容的工具

用于调试web网页请求,可以查看请求内容,请求头等数据的工具

2025-02-21

ML.net检测诈骗短信测试项目

文件内包含训练数据,以及训练好的模型,和模型调用方法

2025-02-18

语音识别项目部分代码提交

语音识别项目部分代码提交

2025-02-07

.net 8使用HangFire实现库存同步Demo

项目采用.net8 +HangFire+Reids+Sqlsugar实现了京东商城,天猫,抖音O2O,B2C等电商平台的库存同步 具体介绍 请前往:https://blog.youkuaiyun.com/qq_42455262/article/details/143933229?spm=1001.2014.3001.5501 查看

2024-11-21

C# 实现Redis队列

采用.net7.0\Newtonsoft.Json 序列化工具\StackExchange.Redis Redis工具

2024-08-19

采用领域驱动设计模式封装API

这里采用领域驱动设计思想,以对接中通快递拦截功能为例子,项目结构 Common:公共方法其中主要包含IRequest(请求模型父级接口)、IResponse(返回模型父级接口)、IZTOClient(请求方法父级接口) DataObject:数据交互实体,里面包含了两个文件夹分别是:Request、Response Utility:公共资源,里面包含了签名工具、公用枚举类 UnitTest:单元测试类 下载之后用vs打开点击UnitTest1,先在 Assert.IsNotNull(res);打个断点,之后再鼠标右键点击 “调试测试”

2024-08-01

Nginx负载均衡项目

项目内包含Nginx文件,Nginx官方中文文档,以及用于测试的C#项目, 使用方法: 1、将C#项目解决方案中的两个项目启动起来。 2、安装nginx,并把项目中的nginx文件启动起来,想起的启动方法请参考:https://blog.youkuaiyun.com/qq_42455262/article/details/122487787。 2.2、若nginx启动出现异常可使用:tasklist | findstr nginx 命令近行检测。 3、nginx中文文档是向官方申请下载的,里面包含了nginx详细的配置说明,每个配置对应的作用和方法,nginx的工作原理,以及调优方法等。

2024-01-11

layui excel.zip

配合layui将json导出为excel

2021-07-21

Lodop6.226_Clodop4.118.zip

打印小票需要的j驱动和s包

2021-04-12

things.zip

使用.Net Framework框架,MVC设计模式,利用C#调用事物进行存储。还用到vue-resource的一些知识。

2020-05-20

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

TA关注的人

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