kongjun01 / panaihua Goto Github PK
View Code? Open in Web Editor NEWblog
Home Page: https://www.panaihua.com
blog
Home Page: https://www.panaihua.com
https://www.panaihua.com/apisix-sni-notfound/#more
Apisix上线后发现有很多错误日志: failed to find SNI。第一反应就是可能有恶意ip在扫描端口。于是捞出400个ip查询ip信誉接口,发现80%的ip都是恶意的,反正也是报错就放着先不管它。 再后来迁移一个绑定了阿里云 waf
的域名(阿里云的cdn也有同样的问题),访问一直是502,上面的报错日志也更多了,然后就好奇 SNI 到底是啥
https://www.panaihua.com/lettuce-blocked/#more
EasyCache升级兼容 Springboot2
,有个业务系统启动总是会卡住,最后抛出超时异常,springboot 版本是 2.2.x,springCloudVersion 版本是 2.2.x, lettuce版本是5.2.x,如果使用jedis客户端没有,所以问题一定是出在lettuce。
https://www.panaihua.com/py-setup/
setuptools
是 distutils 增强版,不包括在标准库中。其扩展了很多功能,能够帮助开发者更好的创建和分发 Python 包。大部分 Python 用户都会使用更先进的 setuptools 模块...
https://www.panaihua.com/pyppeteer-process/
收到告警后,笔者先登录到告警机器中, top 命令查看此时此刻的各个应用程序占用的内存大小,发现没有占用很大内存的进程。 执行 ps -ef
发现有很多chromium,查了资料都说是僵尸进程,但是僵尸进程应该不占用内存和cpu的...
https://www.panaihua.com/mysql-binlog/
我们现在遇到一个问题,每次在发券系统里面增加一个表操作的时候,都会实现缓存,实现了缓存就要实现通知刷新,所以程序里只要有更新的操作都要硬编码发送一次消息。这个过程维护成本太大,就想到是否有什么方法可以实现自动通知刷新。
https://www.panaihua.com/spring-bean/
ElasticJob官方只有xml注册job,有很多job的时候文件非常臃肿而且不好维护,还有官方的控制台也不好用,系统多之后非常卡,页面加载的时候要一次性加载所有任务。所以我们开发出使用注解来创建job和自研的控制台。问题出在在手动触发job,通过job的class获取实例时获取不到,而且只有一个系统有问题
https://www.panaihua.com/aqs-clh/
CLH 同步队列是一个 FIFO 双向队列,AQS 依赖它来完成同步状态的管理:当前线程如果获取同步状态失败时,AQS则会将当前线程已经等待状态等信息构造成一个节点(Node)并将其加入到CLH同步队列,同时会阻塞当前线程。当同步状态释放时,会将某个节点唤醒(是否首节点取决于公平锁/非公平锁),使其再次尝试获取同步状态。
https://www.panaihua.com/elastic-job/
一般来说,系统可使用消息传递代替部分使用作业的场景。两者确有相似之处。可互相替换的场景,如队列表。将待处理的数据放入队列表,然后使用频率极短的定时任务拉取队列表的数据并处理。这种情况使用消息中间件的推送模式可更好的处理实时性数据。
https://www.panaihua.com/android-catchhttp/
这篇文章主要想解决的问题是,在对安卓手机APP抓包时,出现的HTTPS报文通过MITM代理后证书不被信任的问题。如果有些https,在之前设置了好各种证书和配置后,看到的unknown..而无法看到我们希望的明文数据
https://www.panaihua.com/about/
人淡如菊,心淡如水 把人生的悲苦和喜悦,都看淡;把生活的磨难和阴暗,都看透。活得干净透明,才会有阳光照耀进来,有清风缓缓拂过。那些活得污浊的人,其实是把阳光和清风堵在了生命之外。“境由心生”,人生多少事,看不透,就成了屏障,看透了,就成了风景。 做人的最高境界莫过于此,自己也在不断尝试在这个道路上前行。 关于博客博客主要是对自己学习、思考内容的记录。人长时间不做总结,回过头发现你还在原地。
https://www.panaihua.com/react-base/
开始的时候我是很抵触的,因为觉得后端写前端最后肯定会不三不四,之前也写过前后端全包的项目,但是对后面的工作都没什么帮助,所以觉得对个人发展也不是很好,而且全栈工程师在杭州需求也不多。没办法,公司就是不给配前端,只能一个人整,想想不能影响项目进度啊,最后倒霉还是自己,所以硬着头皮跳下去了...
https://www.panaihua.com/git-revert/
今天同事不小心把develop未测试的代码合并到了master,想取消这次合并,让分支回到位,肿么办?如果master上已经有了新的提交以及没有新的提交都该怎么办?
https://www.panaihua.com/gradle-refresh/
团队里使用SNAPSHOT版本每次修改都要重新发布个版本,本身就是快照版,为什么都要升级呢,还不如用release版本呢。之前一直使用maven没有发现这个问题,是因为gradle为了加快构建的速度,对jar包默认会缓存24小时,缓存之后就不在请求远程仓库了。
https://www.panaihua.com/tomcat-allocate-memory/#more
今天测试环境的服务总是挂掉,上面部署了6个服务,也不怎么吃内存的。但是我这个服务总是启动之后过不了多久又挂了。
https://www.panaihua.com/concurrency-limits/
一般的限流常常需要指定一个固定值(qps)作为限流开关的阈值,这个值一是靠经验判断,二是靠通过大量的测试数据得出。但这个阈值,在流量激增、系统自动伸缩或者某某commit了一段有毒代码后就有可能变得不那么合适了。并且一般业务方也不太能够正确评估自己的容量,去设置一个合适的限流阈值。
https://www.panaihua.com/airtest-sum/
一开始调研的时候使用的就是Appium,功能全,文档也很多,而且元素定位方式比Airtest靠谱很多。我们要爬的是美团的活动广告页,开始使用appinum都很顺利,但是遇到webview的时候,它的页面是canvas的结构,根本没办法使用元素定位,所以这个时候Airtest的图像定位就起作用了。
https://www.panaihua.com/apisix-preftest/#more
针对接口分别执行线程总数 400(jemter1台)、800(jemter2台) 进行压力测试,并对产生的每秒TPS,响应时间(min,ave,max)及错误率进行统计
https://www.panaihua.com/mybaits-cursor/
由于数据不断增加,查询的时候如果一次性加载出来,会导致mybaits的mapper对象非常大,可以选择分页但是觉得太麻烦了所以选择了游标。之前使用游标是jdbc自带的,没有遇到读取数据游标状态会closed的情况。
https://www.panaihua.com/same-key/
防止有人篡改证书或者私钥,导致网关无法解析,所以需要验证私钥和证书是否匹配。开始以为Java会有这种方法直接校验,网上找了一圈都没找到。翻了 X509Certificate
的源码,发现可以获取到公钥,那么也可以通过私钥获取到公钥,所以判断两个公钥是否相等就可以了。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.