记一次nodejs源码bug分析

1. 问题 前几日,我在测试express框架的时候,构造了一个测试样例死活过不来,即便调试到测试框架superagent ,依然不对。最终发现是nodejs的bug,而且最新版本的nodejs已经"修复"了,导致我中间饶了几圈都没发现是nodejs的事,下面来重现问题流程。 2. 环境预备 安装一下gnvm 地址,后面需要控制一下版本(windows10 需要用管理员权限的cmd或者powershell) 安装git环境(主要要使用curl命令) 摘抄如下代码 // main.js var »

mysql字符集 小结

起因 公司的某个业务需要用到emoji编码,但是很早线上跑的mysql数据库是mysql 5.7.12 模拟 mysql root@127.0.0.1:test_yl_audit> show create table `1_text`; +--------+-------------------------------------------------------+ | Table | Create »

prometheus 笔记

笔记 go语言创造,静态编译,无需安装太多依赖环境 对于非法的路径,可以根据404返回头过滤成一类 others 使用 record.rules 能够提前把数据组合好,直接访问处理后的数据,而不是实时去求表达式 10分钟是个经验值,grafan 总是 能被 smoothed Counter // responseCounter Inc() 回复的总数 ,假设传入两个维度(默认还有其他维度) path 、method、 »

js PropertyName

本文是一篇大水文,辣眼睛 js中给普通对象(对象字面量,ObjectLiteral)初始化,key值可以是动态的 var k = 'you' var m = { [k]: 'are stupid' } console.log(m) // output {you: "are stupid"} 另外注意: var k = 'you' »

Text file busy 问题粗解

1. 问题起源 接手一个评论的项目,是用golang写的,采用了gin的web框架 发现里面并没有做热重启,尝试去了解了一下文档 推荐了一个endless的平滑重启库 当我尝试里面写的事例时候,会报错 文档里面提及的操作如下: Compile the example $ go build -o simple_server examples/simple.go Run it $ ./simple_server »

记一次定位js内存泄漏

来源 线上有个升级服务,隔一两个月时间内存会慢慢上涨到服务器内存80%以上,单进程内存到500M左右 原因一直不明确 heapdump 首先压测无果,初步猜测应该是压测量级或者特殊情况触发不够 就想着添加一下代码,等出现情况时,dump线上进程的内存 添加heapdump库,准备随时dump内存,但是由于内存过大,不能设置定时器,否则很可能影响性能 所以采用添加在路由里,等到情况复现时,手动触发 var heapdump = require('heapdump'); ... router.get( »

记一次端口转发

问题 有个管理后台的php项目,我搭建了一个docker 容器,放在了公网ip 47 阿里云服务器上,作为调试环境比较麻烦 本地xdebug 通常的调试手段 本机IP 10.10.1.42 监听本地9000 服务器IP 10.0.1.2 连接是80端口 xdebug.remote_host=10. »