- 博客(86)
- 问答 (2)
- 收藏
- 关注
原创 为什么form表单提交没有跨域问题
form请求是提交请求,提交form表单到另外一个域名,原来的页面是无法获取新也迷奸案的内容,护着说form提交后不需要返回,但是ajax是需要返回的。浏览器的策略本质是:一个域名下面的js,没有经过允许是不能读取另外一个域名的内容,但是浏览器不阻止你向另外一个域名发送请求。世界本无跨域,是浏览器不允许js访问别的域,但是浏览器没有限制自己,img标签和script标签都是跨域加载其他域的图片。浏览器的安全策略限制的是js脚本,并不限制form,src表单提交之类的请求。
2024-11-02 17:16:11
189
原创 IoT MQ设计篇:调研与协议选型
mqtt与coap目前是使用最广的物联网通信协议,其中mqtt实际上使用最多的物联网协议,对与这两种协议而言,主要应用场景都是物联网,coap基于UDP,复杂度主要在于消息的可靠性,顺序,重传等需要自己处理,同时UDP保证了很高的性能,没有连接的开销;设计复杂度: 设计系统时,系统的复杂度主要有“高可用,高性能,高可靠,规模,成本,安全,高扩展”等,其中“三高”是比较难设计的,对于Kafka,RocketMQ等就是“三高”的系统,所以内部很复杂,使用协议也是其自定义的私有协议。大棚温度,光照数据采集设备;
2024-11-02 17:10:41
387
原创 IoT MQ设计篇:调研与协议选型
mqtt与coap目前是使用最广的物联网通信协议,其中mqtt实际上使用最多的物联网协议,对与这两种协议而言,主要应用场景都是物联网,coap基于UDP,复杂度主要在于消息的可靠性,顺序,重传等需要自己处理,同时UDP保证了很高的性能,没有连接的开销;设计复杂度: 设计系统时,系统的复杂度主要有“高可用,高性能,高可靠,规模,成本,安全,高扩展”等,其中“三高”是比较难设计的,对于Kafka,RocketMQ等就是“三高”的系统,所以内部很复杂,使用协议也是其自定义的私有协议。大棚温度,光照数据采集设备;
2024-10-25 21:16:40
393
原创 秒杀系统瞬时百万并发流量的六种应对之道(十年高并发大促经验总结,文末有福利)
安全校验就是要识别出请求的流量哪些是安全流量,哪些是不安全的流量,这里说的不安全的流量指的是友商、黄牛党或者不怀好意的用户发起的刷单流量、CC攻击等,这种流量对系统是有害的,能够消耗大量的系统资源,为系统造成比较大的压力,并且这种方式挤占了正常抢购的通道,对正常参与秒杀活动的用户是不公平的。没错,秒杀系统的瞬时流量是巨大的,如果秒杀系统的流量与其他业务系统的流量不加以分离处理,其他系统势必会由于巨大的瞬时流量而导致各种连锁问题,所以,在设计上,务必将秒杀系统与其他业务系统的流量进行分离。
2024-10-25 21:16:08
845
原创 秒杀系统瞬时百万并发流量的六种应对之道(十年高并发大促经验总结,文末有福利)
安全校验就是要识别出请求的流量哪些是安全流量,哪些是不安全的流量,这里说的不安全的流量指的是友商、黄牛党或者不怀好意的用户发起的刷单流量、CC攻击等,这种流量对系统是有害的,能够消耗大量的系统资源,为系统造成比较大的压力,并且这种方式挤占了正常抢购的通道,对正常参与秒杀活动的用户是不公平的。没错,秒杀系统的瞬时流量是巨大的,如果秒杀系统的流量与其他业务系统的流量不加以分离处理,其他系统势必会由于巨大的瞬时流量而导致各种连锁问题,所以,在设计上,务必将秒杀系统与其他业务系统的流量进行分离。
2024-10-25 21:15:01
495
原创 记一次MySQL崩溃修复案例,再也不用删库跑路了
研究MySQL源代码,调试并压测MySQL源代码时,MySQL崩溃了!问题是它竟然崩溃了!而且还损坏了InnoDB文件!还好是在调试环境下发生的,赶紧看看如何解决这个问题,经过一系列的查阅资料、验证、对比、MySQL源码调试跟踪、修复损坏的InnoDB文件、总结等流程,整理成此文,如果以后真的发生在线上的生产坏境,也不用担心是不是要跑路的问题了,可以分分钟搞定MySQL的崩溃问题了!今天给大家带来一篇MySQL数据库崩溃的修复案例,废话不多说,我们直接上正文,走起~~
2024-10-25 21:13:55
290
原创 这一次彻底搞定秒杀
1 Scenario 场景具体场景有哪些?微信抢红包 ,抢春运火车票,抢购小米手机。QPS 分析:平日 1000人/s访问该页面,秒杀时数10万人/s访问,QPS 增加 100 倍以上。实际需求有什么?详细流程怎么样?商品购买和下单流程:秒杀系统需要解决问题瞬时大流量高并发,Large flow and high concurrency服务器、数据库等能承载的 QPS 有限,数据库一般单机1000 QPS,需根据业务预估并发量。Over Sale,有限库存,不能超卖。
2024-10-25 21:12:31
623
原创 商品订单库存一致性
方案1 :下单后减库存,用户下单,然后库存加锁,判断库存是否充足,用户下单完成,减库存,最后释放库存锁。方案2:支付才减库存,用户支付,然后库存加锁,判断库存是否充足,用户支付完成,减库存,最后释放库存锁。
2024-10-20 21:58:41
1114
原创 mysql中怎么进行慢查询
set global slow_query_log=1set global long_query_time=0.1show VARIABLES like ‘%slow_query_log%’
2024-09-19 21:17:52
103
原创 mysql中怎么进行慢查询
set global slow_query_log=1set global long_query_time=0.1show VARIABLES like ‘%slow_query_log%’
2024-09-19 19:44:05
102
原创 redis为什么这么快,
虽然这听起来可能会限制Redis的并发处理能力,但实际上,由于Redis操作主要是内存操作,且大多数操作都是轻量级的,因此单线程模型能够避免多线程带来的上下文切换开销,从而提高性能。除了上述几点外,Redis还通过其他多种优化措施来提高性能,如使用高效的内存分配器、优化数据结构的存储方式、减少锁的使用等。综上所述,Redis之所以能够快速处理大量数据和高并发请求,主要得益于其基于内存的数据存储、高效的数据结构、单线程模型、异步非阻塞I/O以及优化的持久化机制等多个方面的优势。
2024-09-18 10:31:32
200
原创 Redis中的setnx的使用场景
Redis中的SETNX命令是一个非常有用的工具,特别是在处理分布式系统和并发控制时。SETNX是“Set if Not Exists”的缩写,用于设置键的值,但仅当键不存在时。
2024-09-18 09:43:15
736
原创 关系数据库和非关系数据库
关系数据库和非关系数据库(NoSQL数据库)在多个方面存在显著差异,这些差异主要体现在适用性、数据一致性要求、扩展性、数据模型、数据查询语言以及使用场景等方面。
2024-09-18 09:04:56
851
原创 解决Mybatis mappe同时传递 List 和其他参数报错
想要实现这个接口,同时传入planId和projectPlans,屡次报错。好在一路坎坷,解决了多方bug,最后终于搞定了。
2024-09-10 10:58:06
501
原创 时间戳有什么重要作用
今天做前后端联调的时候,发现请求url路径后面跟了一段数据:“t=1725537660463”,我蒙圈了,为什么是一段乱码明明我的后端写了id这个参数,而且前端传给后端的参数只有这个7,那“?”后面跟的t=1725537660463去哪里了,为什么消失了?仔细查了一下,发现1725537660463其实就是我们大名鼎鼎的啊,平时我遇到的它,都是长这样放在真实环境中,竟然被我意外地当成了乱码。
2024-09-05 20:17:31
380
原创 NAT技术-将多个内部网络设备映射到一个公共IP地址
不是的, 内网的IP地址并不是“随便定义”的,尽管它们是在私有网络范围内分配的,但仍然需要遵循一定的规则和最佳实践。10.0.0.0/8(或10.0.0.0至10.255.255.255)172.16.0.0/12(或172.16.0.0至172.31.255.255)192.168.0.0/16(或192.168.0.0至192.168.255.255)如果不是上面的那样。
2024-09-05 14:06:15
1771
原创 开发软件,什么类型的重要信息的日志要存到数据库表里面
在开发软件时,选择将哪些类型的重要信息日志存储到数据库表里面,主要取决于这些日志的用途、查询需求、性能考虑以及系统架构。
2024-09-04 20:54:22
444
原创 集合的删除修改并发异常问题
删除数据,i++,但是后面的数据会移到前面,此时会出现漏掉数据的情况。forEach的底层是增强for循环,也不要用。方法1. 倒序遍历,这里不举例子,太简单。使用迭代器删除,不要让集合自己删除。其他循环无法解决修改并发异常。这里拿两个例子 说明一下。
2024-09-04 15:13:02
256
原创 git无法pull仓库refusing to merge unrelated historie
这样的错误在执行 git pull, git push, git merge 命令可能会遇到,这是因为两个分支没有取得关系,具体的操作是在你操作命令后面加 --allow-unrelated-histories 参数就可以了。克隆一个全新的仓库并试图与现有仓库合并:如果你从 GitHub 或其他地方克隆了一个全新的项目,并打算将其合并到正在工作的本地仓库中,Git 会识别到两者历史上的断层,从而拒绝合并。合并两个长期独立发展的项目:如果你有两个长期独立发展且未曾合并过的历史,试图将它们合并也会遇到此问题。
2024-09-02 13:54:41
689
原创 Git错误:Incorrect username or password ( access token )
问题描述:在第一次输入账号密码,但是输入错误,系统自动保存了错误账号密码输入,当你需要时,访问的是错误的输入。普通凭据下git:https://github.com/或git:https://gitee.com/删除操作:点击删除->git push origin master->重新弹出输入账号密码界面。Username for ‘https://git.com’: JIQIU(回车键输入密码)控制面板->用户账户->凭据管理器->Windows凭据。修改操作:点击修改->填写正确的账号密码->保存。
2024-09-02 13:51:44
840
原创 一篇搞懂classpath,resources
Classpath(类路径)在Java开发中是一个非常重要的概念,它指定了Java虚拟机(JVM)和Java编译器寻找类文件和包的位置。具体来说,Classpath告诉Java执行环境在哪些目录下可以找到所要执行的Java程序所需要的类或者包。这些目录可以是文件系统中的普通目录,也可以是包含编译后的Java类文件(.class文件)的JAR文件或ZIP文件。
2024-08-31 22:41:40
711
原创 idea的springboot里面的resources是什么
在IDEA(IntelliJ IDEA)中的Spring Boot项目中,resources目录扮演着非常重要的角色。这个目录主要用于存放项目的非代码资源,包括但不限于配置文件、静态资源文件(如图片、CSS、JavaScript等)、模板文件(如Thymeleaf或FreeMarker模板)等。
2024-08-31 22:38:33
826
1
原创 数据库里面的updateTimed选择代码更新和还是数据库触发器自动更新?
在项目中,当对数据库的数据进行修改时,updateTime(或类似的表示最后更新时间的字段)的更新时机通常取决于你的应用程序逻辑或使用的数据库框架(如ORM)的行为。总之,updateTime字段的更新时机取决于你的具体需求和所使用的技术栈。无论你选择哪种方式,确保数据的一致性和准确性都是非常重要的。
2024-08-31 22:03:13
521
原创 HttpServletRequest的getParameter获取的是http请求行里占位符的参数数据还是查询参数
因此,当使用HttpServletRequest的getParameter方法时,你实际上是在获取HTTP请求中的查询参数值。如果请求中没有包含相应的查询参数,那么getParameter方法将返回null。HttpServletRequest 的 getParameter 方法获取的是HTTP请求中的。(Query Parameters),而不是请求行里的占位符参数数据。
2024-08-31 21:18:17
427
原创 Http的get请求中的URL中的占位符参数和查询参数有什么区别
Http的GET请求中的URL中的占位符参数和查询参数在功能、位置和用途上存在明显的区别。
2024-08-31 21:07:01
688
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人