- 博客(24)
- 收藏
- 关注
原创 redis实现简易消息队列
该方案综合了Redis的高性能和Spring Boot的便捷性,适用于低延迟、高可靠性的消息处理场景。实际生产环境中建议结合具体业务需求调整超时时间和休眠策略。
2025-03-29 11:25:32
253
原创 算法题常用数据结构及用法
Doubly-linked list implementation of the List and Deque interfaces. Implements all optional list operations, and permits all elements (including null). 又可以当做queue,又可以作为队列。set的底层就是map,主要处理不需要value又需要去重的场景,常用的方法就是put、size。小技巧,如果比较复杂的排序,可以定义一个新的get方法来处理。
2025-03-20 02:48:59
316
原创 超链接打开新页签传递参数
有一个需求,网站1点击按钮后跳转到页面2,页面1和页面2的域名不同,并且需要传递参数A,再那么最简单的就是 在url上带参数A 比如,从url上的queryParam上就能获取参数但很可惜,参数A由于是敏感数据,不能通过get请求传递,否则每个传输层(Nginx、Tomcat)都会存留该数据。首先就找不通过url传递参数的方式,那么有的同学就会问,为什么不能把参数放请求体里,因为get方式实际也是支持请求体传参的,但他是打开链接啊!
2025-03-07 22:56:28
431
原创 引入CDN
CDN(Content Delivery Network,内容分发网络)是通过将源站内容分发至靠近用户的加速节点,使用户可以就近获得所需的内容,解决Internet网络拥挤的状况,提高用户访问的响应速度和成功率,从而提升您业务的使用体验。您可以在CDN管理控制台添加加速域名,然后前往域名服务商处配置CNAME解析,即可启用CDN加速。还可以根据业务需要,为加速域名进行缓存、安全、性能优化配置,优化加速效果、缓解源站压力。
2024-07-14 11:45:55
623
原创 web服务端安全漏洞
常见的就是富文本编辑器保存的html,需要到页面上渲染,如果保存了钓鱼网站的超链接,或者恶意引导,则渲染时会触发xss攻击。
2024-07-14 10:46:43
664
原创 业务逻辑外挂--规则引擎概述
通过在POJO上添加注释,以声明的方式定义通过RuleBuilder API,以编程方式定义更多案例可以到这看 https://github.com/j-easy/easy-rules/tree/master/easy-rules-tutorials规则引擎最佳实践面向业务人员或需求人员规则引擎不是银弹,只有在规则变化频繁及业务逻辑多且边界清晰时才使用多一层中间件,多一层分险,特指将规则引擎独立为中间件的方案。
2024-07-13 22:28:34
1154
原创 js之map及转换json、Object
展开一看,有三个部分组成:size长度、_proto_提供了一堆方法、[[Entries]] 存键值对的二维数组,所以是[[key,value],[key1,value1]]这样存储的。第一个,默认是null对象,啥方法都没有、后两个一样继承了object类,有两个内置方法。以上简单的创建了一个map,显然存值用set、取值用get,和java 的还是蛮相似。map转obj,因为map打印出来其实是数组里套长度为二的数组,和java的不同。搞后段HashMap用的还是很多,其实js里也有提供了map。
2024-07-13 22:27:15
608
原创 mac之idea卡顿修改内存设置
那么具体需要改什么值才会让mac不那么卡,当然内存给的越多越好,但是太多就浪费了,参考其他博客配置。卧槽 慌得一批,看来vue项目不能一起放进来,update indecing这么消耗性能。这里看博客,也有直接进app右键显示包内容,直接找到文件的,这样就不用find好久了~4.UseConcMarkSweepGC,设置年老代为并发收集。重启试一下,开启内存指示器,看看~1.Xms128m,最小内存。2.Xmx750m,最大内存。3.预留代码缓存的大小。调出iterm.app。然后vi 进去修改配置。
2024-06-25 23:14:31
2202
原创 MVC向cola迁移
3)领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)的方法对App层提供业务实体和业务逻辑计算。此外,领域防腐的重任也落在这里,外部依赖需要通过gateway的转义处理,才能被上面的App层和Domain层使用。2)应用层(Application Layer):一般用于业务处理,可以直接调用基础设施层,调用client层,调用domain层实现的gateway、model、充血模型。
2024-06-19 22:45:22
286
原创 Chrome的小技巧
在F12 的sources,XHR/fetch Breakpoints 中输入匹配的url,则会debug,做一些window注入的操作。在F12 network面板,对接口点击右键,可以针对接口做内容替换,达到mock的效果。有很多网站限制了复制,使用阅读模式就可以绕过,或者禁用js。重写响应头,可以规避跨域的问题。# mock 替换内容。# 接口级别debug。
2024-06-19 21:36:39
215
原创 springboot连接Redis报NOAUTH Authentication required
项目接入redis,连接报错,百度后是没有输入密码,但是在测试环境是正常的。修改多次密码失效,直接使用redis-cli连接,也是只有没输入密码时才会报这个错,密码错误是另一个提示。那应该和redis版本和redis客户端有关。
2024-05-05 13:42:56
1553
原创 常用的加密算法
任何消息经过散列函数处理后,都会获得唯一的散列值,这一过程称为”消息摘要“。一般用MD5、SHA、或者MAC算法的数字指纹。经MAC算法得到的摘要值也可以使用十六进制编码表示,其摘要值长度与参与实现的算法摘要值长度相同.这里重点讲Hmac SHA256,他是传入data和key来进行摘要算法的。// 还原秘钥 SecretKey secretKey = new SecretKeySpec(key , "HmacSHA256");
2023-07-26 08:54:51
251
原创 web日志杂谈
管理界面对数据的增、改、查都非常重视,因为一个小改动都有可能对系统造成深远影响,所以需要审计日志,并且根据重要程度还需要落库。用户输入的参数未做任何验证直接写入日志文件,导致攻击者可以通过特殊字符(\r \n)在日志中注入新的日志条目,破坏系统日志的完整性。隐私数据包含了密码、token、秘钥、电话号码、手机号、邮箱等等,这些都是业务数据,IT运维时需要脱敏。每个xml节点的类都是可以自定义的,比如归档后的日志文件权限只能是440以下,log4j就又一个。的配置,而logback不支持这个属性,只能继承。
2023-07-11 01:06:19
220
原创 使用vue-dompurify-html防御xss攻击
之前的防御xss攻击的前端方案太low,影响到了现网用户的体验,但是富文本渲染势不可挡,v-html确实又会被xss攻击,这时vue-dompurify-html就来了!!
2023-04-11 08:34:22
6724
原创 设计(掌控)系统--五大视图就够了
一般解决跨域问题,使用Nginx进行proxy转发,也可以实现负载均衡。rewriteNginx的rewrite模块即ngx_http_rewrite_module标准模块,主要功能是重写请求URI,也是Nginx默认安装的模块。匹配正则将其中部分替换成。而flag则表示替换的程度为了避免一个请求经过两次WAF,又能实现转向到静态页面,用了 redirect重定向,让第二次请求由浏览器发出aliasvue的应用入口是index.html,打包后,访问nginx的80端口想要出这个网页,就需要配置
2022-06-30 08:23:53
1565
原创 Nginx proxy、rewrite、alias配置
一般解决跨域问题,使用Nginx进行proxy转发,也可以实现负载均衡。rewriteNginx的rewrite模块即ngx_http_rewrite_module标准模块,主要功能是重写请求URI,也是Nginx默认安装的模块。匹配正则将其中部分替换成。而flag则表示替换的程度为了避免一个请求经过两次WAF,又能实现转向到静态页面,用了 redirect重定向,让第二次请求由浏览器发出aliasvue的应用入口是index.html,打包后,访问nginx的80端口想要出这个网页,就需要配置
2022-06-29 01:16:58
1375
原创 身份认证Cookie、Session、Token、JWT
Http是无状态的请求-应答协议。HTTP在1.0版本引入了重要设计在报文中增加了Header属性列表,每个Header都是一个Key/Value键值对,整个Header列表可以被视为一个Map数据结构,Header与请求或响应的正文是互相独立的,并且用户可以灵活扩展。采用了HTTP作为通信协议的分布式系统天然具备了无侵入性的基础设施能力全面改进的优势。想要让HTTP请求有状态,可以通过header上的cookie。HTTP Cookie新增的两个扩展性的HTTP Header,其中一个是Set-Cooki
2022-06-29 01:15:20
207
原创 经典的递归-java
1.阶乘嗯,这个就是 高中还是初中学的,比如4的阶乘 4!=1x2x3x4 ,那么也就是说自己调用自己的方法,一直乘n-1一直到n=2为止。//1.阶层public class factorial{ public static int def(int n){ if(n>0){ if(n==1){ ...
2016-08-23 23:43:44
338
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人