技术

三次握手和四次挥手的各种状态 技术

三次握手和四次挥手的各种状态

关于四次挥手 说到四次挥手,可能有些人不知道是什么意思。可是如果说三次握手,应该说大部分学计算机的朋友应该都知道了吧。三次握手,不管是学网络还是学计算机,都应该是必修课之一了,具体是什么概念,在此就不再赘述了。 重新说回四次挥手,其实,四次挥手是三次握手之后的产物。TCP协议中,在发送数据之前,需要…
基于cookie的多系统登录 工作笔记

基于cookie的多系统登录

简介 G项目是在HJSD接触的第一个项目,是一个年长且功能强大的业务项目,子系统10+个,包含了数据采集、任务调度、报表展示、业务管理等一系列的功能。各个子系统公用一套用户体系,用户一次注册/登录即可实现系统间的相互切换 分析 一个项目多个子系统,在项目进行到后期是比较常见的情况。解决多系统之间授权…
记一次RSYNC的IO问题排查 工作笔记

记一次RSYNC的IO问题排查

前言 G项目是在HJSD接触的第一个项目,项目中包含了数据采集的功能,主要的逻辑是,合作方在对接的时候,根据我方需求在指定地方埋点,然后定时产生对应的日志数据,我方定时通过rsync脚本获取到数据日志,并对日志进行分析清理,最后出统计报表。 问题说明 A商家是项目的合作方,在对接刚开始,程序功能一切…
JDK版本不同导致的SSL异常:javax.net.ssl.SSLHandshakeException: Remote host closed connection during h… 工作笔记

JDK版本不同导致的SSL异常:javax.net.ssl.SSLHandshakeException: Remote host closed connection during h…

前言 遇到这个问题得说一下笔者的开发环境,笔者所在公司,平时开发用的web容器是jboss,使用的JDK是oracle的JDK,但是测试和生产环境用的是WAS,JDK用的是IBM的JDK,由于项目的不同,测试环境所安装的web容器和JDK版本都并不相同。这个也是笔者遇到问题的原因所在。 问题描述 笔…
Google Chrome Samesite cookie 新策略带来跨域问题解决 技术

Google Chrome Samesite cookie 新策略带来跨域问题解决

cookie作为web浏览器的重要组成部分,经常被用于增加用户的体验,比如:记住登录名,购物车、跨域共享数据等,但同时也带来了如CSRF攻击的安全问题。自Chrome 80开始,谷歌对用户实施了新的cookie政策,该政策添加了对Samesite的IETF标准的支持,并且默认将cookie的same…
一个nginx配置解决生产上的幽冥请求 技术

一个nginx配置解决生产上的幽冥请求

nginx经常被用来做生产的代理和负载均衡,它高效的处理能力,得到了很多公司的青睐。可是,随着业务的不断发展,随之而来,可能会因为nginx产生一些意想不到的问题,比如说幽冥请求。 本文所说的幽冥请求泛指以下几种情况: 一次客户端请求,前端能够收到返回的信息,但是后端位于不同VM的同个程序却被请求了…
redis的key能是空字符串? 技术

redis的key能是空字符串?

redis的key能是空字符串?这个问题,如果不是在生产遇到了,可能很多人都不会去想,也不会被刷新认知。因为,答案是可以的。 如图,通过代码可知,在对redis的进行设值的时候,当key为空字符串的时候,程序正常运行。那么,为什么呢? 在执行客户端命令的时候,所有的参数,都会被转换为一个 redis…
VERTICA 数据清理 工作笔记

VERTICA 数据清理

简介 G项目是一个比较综合的系统,这其中涉及到部分数据统计的功能,为此用到了Vertica。Vertica是一个列存储数据库,在数据查询方面有着显著的性能优势。不过有一点不怎么好,并不完全开源,社区版最多允许1TB的原始数据。因此,需要对数据库的数据进行监控,并定时清理无用数据,来保证不违反社区版的…
手机号码正则表达式(含虚拟运营商) 技术

手机号码正则表达式(含虚拟运营商)

之前有篇文章记录了自己常用的几个正则表达式,本来想把这个表达式也给写进去了,结果想想,还是独立出来,然后也丰富一下吧。 当下,越来越多的电商产品注册的时候都是采用手机号码进行注册的,这样就要求我们队注册时候的手机号进行合理性的检测。可是,随着移动通信的发展,各大运营商的手机号码段也越来 越多,让人眼…
mysql与oracle在groupby语句上的细节差异 技术

mysql与oracle在groupby语句上的细节差异

前言 之所以去纠那么细节的问题,是因为之前有过一个这样的场景: 有个同学,给了一条数据库的语句给我,问,为啥这样子的语句在oracle语句下执行不了。 select * from xx where xxx is not null group by yy; 拿到这条语句的第一时间,其实,我也并没有看出…