- 博客(172)
- 资源 (3)
- 收藏
- 关注
原创 对外开放接口的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
原创 【C#优雅的合并两个DataTable】
这里我们只利用.Net 的LINQ语句进行的Join查询,当数据量过大是会明显的比用for循环拼接快得多。
2023-04-03 21:37:15 3826 1
原创 两个List集合做数据对比
随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。比如集合A和集合B,A和B的差集就是A集合中有的而B集合没有的,也就是灰色的部分。集合A和B共有的数据,也就是图中灰色部分A和B的数据合并在一起的值,也就是灰色范围的值。
2023-03-21 14:36:44 4400
原创 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
原创 对接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
原创 微信3.7版小程序数据分析
随着微信防爬技术的再度升级,之前Python+mitmproxy利用网络代理这种中间人的方式已经爬取不到微信小程序的数据了。俗话世上无难事只要肯放弃,本以为已经无计可施了,在某天不经意间发现一个神器依然可以抓到小程序的包,于是开始研究如何实现自动爬取。只要是数据交换那就一定能抓到包。不要轻言放弃有时候换个思考方式就能得到想要的答案。我在用这个神器之前也试过 Proxifier 、Wireshark等相对出名的数据分析程序。
2022-10-21 16:22:38 1776
原创 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
原创 mitmweb打开页面空白
监听页面打开一片空白,F12 检查看到控制台报错 Error: Cannot find module ‘react’错误的意思是没有找到react,之前我一直被这个报错语句误导,去下载react ,下载了重新打开发现任然是一片空白,接着我清理了一下浏览器缓存他就正常了。
2022-09-27 14:40:21 480
原创 搭建国外服务器
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时间范围选择器,自动填充结束时间
Layui时间范围选择,自动填充结束时间效果展示:第一步:第二步:第三步:效果描述:当开始时间选择完成点击确定后自动再开始时间添加三十天,并将其填充到结束时间的文本框内
2022-09-14 08:46:23 1119
原创 LRU缓存机制
计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新内容腾位置。那么,什么样的数据,我们判定为「有用的」的数据呢?LRU 的全称是 Least Recently Used,也就是说我们认为最近使用过的数据应该是「有用的」,很久都没用过的数据应该是无用的,内存满了就优先删那些很久没用过的数据。常见的场景如手机的后台运行缓存,我们依次打开了[王者荣耀] [淘宝] [微信] [抖音],假设手机只允许同时打开个应用程序,那么在我们打开抖音的那一刻,就会将最久未使用的 [王者荣耀] 关闭,腾出空间给 抖音。
2022-09-07 17:12:48 1056
Nginx负载均衡项目
2024-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人