自定义博客皮肤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,等编程语言相关知识,以及在开发过程中遇到的坑和解决方式

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

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

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

2024-03-25 11:16:22 705

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

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

2024-03-25 10:46:46 478

原创 .Net Core 中间件验签

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

2024-03-13 09:10:19 754

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

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

2024-01-13 15:41:41 1017

原创 Sqlserver 多行合并为一行

我们要实现的查询父表数据的同时利用一列展示子表种的数据时应该如何处理呢?这里我来给大家介绍一种性能不错的操作方式。

2023-11-20 10:40:42 305

转载 C#高性能的批量数据处理方案

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

2023-08-01 09:12:41 669

原创 C#百万数据处理

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

2023-07-30 13:10:58 541

原创 C#多线程

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

2023-07-27 14:30:40 792

原创 .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 421

原创 DataTable数据对比

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

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

原创 SqlServer Update的各种使用方式

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

2023-06-07 16:34:21 5414

原创 Js时间范围计算

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

2023-06-02 15:04:04 164

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

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

2023-04-03 21:37:15 3826 1

原创 Sqlserver字符串截取函数

SQLServer 存储过程中参数按特定符号截取,截取出来作为一个Table

2023-04-01 11:43:03 385

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

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

2023-03-21 14:36:44 4400

原创 loadCLodop驱动检测

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

2023-02-07 10:49:53 391

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

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

2023-01-05 21:08:34 530

原创 Redis过期键删除策略

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

2023-01-05 20:50:23 758

原创 Redis的持久化机制

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

2023-01-02 00:22:51 635

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

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

2023-01-01 15:00:50 748

原创 vs2022使用单元测试

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

2022-12-30 15:47:42 3079

原创 C# RSAWithSha256

注意这里需要安装  Org.BouncyCastle。

2022-12-30 10:51:39 1465

原创 对接API模型创建

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

2022-12-29 14:08:35 309

原创 layui Table复杂表头导出

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

2022-11-26 11:40:32 1939 3

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

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

2022-11-02 16:41:01 443

原创 Python控制屏幕

Python 控制屏幕

2022-10-28 10:03:10 1866

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

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

2022-10-21 16:22:38 1776

原创 pip 提示证书失效

【代码】pip 提示证书失效。

2022-10-06 15:48:09 701

原创 window常用命令

【代码】window常用命令。

2022-10-03 15:41:07 346

原创 VsCode启动Vue项目报错

很明显,这是vue版本冲突问题,但是,主要问题不是vue-loader和vue-template-compiler的冲突,而是vue和vue-template-compiler的冲突,所以,我将vue版本修正为与vue-template-compiler相同,问题就这样愉快地解决了;可就是好不到,什么原因呢?若上述仍不能解决,那你可能遇到和我一样的错误,运行的是一个很久之前的项目,上述操作之后又报了新的错误。还有一种情况,打开的是当前文件夹,但是文件夹package.js里的scripts确实没有dev,

2022-09-30 10:18:05 2104

原创 PC端3.7微信小程序无法抓包

微信小程序架构升级,据我判断微信小程序这次架构升级,不再像以往用http协议,现在改成了用Tcp协议。

2022-09-27 22:28:19 1025 1

原创 mitmweb打开页面空白

监听页面打开一片空白,F12 检查看到控制台报错 Error: Cannot find module ‘react’错误的意思是没有找到react,之前我一直被这个报错语句误导,去下载react ,下载了重新打开发现任然是一片空白,接着我清理了一下浏览器缓存他就正常了。

2022-09-27 14:40:21 480

原创 Python控制鼠标

如果出现如下提示,就去升级一下pip:教程在这里升级完成后安装输入以下命令出现如下界面就是安装成功了。

2022-09-25 11:56:46 607

原创 升级PIP

命令:pip show pip。

2022-09-22 13:59:45 571

原创 Redis实现队列

本文介绍如何使用reids实现队列,并利用多线程处理redis队列中的数据

2022-09-22 10:42:32 604

原创 配置服务器入栈

书接上回。

2022-09-20 23:16:40 727 5

原创 搭建国外服务器

SHH工具下载链接:http://www.hostbuf.com/downloads/finalshell_install.exe。随后登录我们的服务器控制界面,点击面板,将对应路径复制上去就可以了,这里复制了之后就可以直接用我们的域名登录了。这里的ip输入的是你主机的ip,用户名默认是root,面膜就是之前设置的根密码。网站网址:https://my.hosteons.com/index.php。随后需要输入密码,这里输入的时你的 cloudflare账户的登录密码。

2022-09-20 22:39:08 12557 57

原创 layui tabl 工具栏按钮双击事件

layuiTable工具栏按钮双击事件

2022-09-15 13:53:41 759

原创 Layui时间范围选择器,自动填充结束时间

Layui时间范围选择,自动填充结束时间效果展示:第一步:第二步:第三步:效果描述:当开始时间选择完成点击确定后自动再开始时间添加三十天,并将其填充到结束时间的文本框内

2022-09-14 08:46:23 1119

原创 LRU缓存机制

计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新内容腾位置。那么,什么样的数据,我们判定为「有用的」的数据呢?LRU 的全称是 Least Recently Used,也就是说我们认为最近使用过的数据应该是「有用的」,很久都没用过的数据应该是无用的,内存满了就优先删那些很久没用过的数据。常见的场景如手机的后台运行缓存,我们依次打开了[王者荣耀] [淘宝] [微信] [抖音],假设手机只允许同时打开个应用程序,那么在我们打开抖音的那一刻,就会将最久未使用的 [王者荣耀] 关闭,腾出空间给 抖音。

2022-09-07 17:12:48 1056

Nginx负载均衡项目

项目内包含Nginx文件,Nginx官方中文文档,以及用于测试的C#项目, 使用方法: 1、将C#项目解决方案中的两个项目启动起来。 2、安装nginx,并把项目中的nginx文件启动起来,想起的启动方法请参考:https://blog.csdn.net/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关注的人

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