Lua 5.3.4 的一个 bug

  • Post author:
  • Post category:IT
  • Post comments:0评论

昨天我们一个项目发现了一处死循环的 bug ,经过一整晚的排查,终于确认是 lua 5.3.4 的问题。 起因是最近项目中接入了我前段时间写的一个库,用来给客户端加载大量配置表格数据。它的原理是将数据表先转换为 C 结构,放在一块连续内存里。在运行时,可以根据需要提取出其中用到的部分加载都虚拟机中。这样做可以极大的提高加载速度。项目在用的时候还做了一点点小修改,把数据表都设置成 weaktable ,可以让暂时不用的数据项可以回收掉。 正式后面这个小修改触发了 bug 。 排除掉是我这个库引起的…

继续阅读Lua 5.3.4 的一个 bug

Python自动监控代码修改进行reload

  • Post author:
  • Post category:IT
  • Post comments:0评论

最近在用 grpc1,发现 grpc 的 Python server 目前还没有像 Flask 那样的修改后自动 reload ,开发不是很方便。 所以就看看有什么比较好的实现,发现 werkzeug2已经有个比较好的实现,而且 Flask 用的就是它。就不用重复发明轮子了。 假设我们的启动 server 的代码写在了run_server里面,我们可以将其传入到 werkzeug 的run_with_reloader,就会拥有监控文件改变自动 reload 的功能。 1 2 3 4 5 6 7 …

继续阅读Python自动监控代码修改进行reload

净推荐值(NPS):用户忠诚度测量的基本原理及方法

  • Post author:
  • Post category:IT
  • Post comments:0评论

初识NPS 作为互联网行业的用户体验从业者,我们都或多或少会接触一些衡量用户与产品或服务之间关系的指标,常见的指标如活跃度、留存率、用户满意度等。近几年,NPS(Net Promoter Score净推荐值)在国内流行起来,越来越多的行业及企业开始使用NPS指标作为衡量用户口碑的工具,如通信服务行业的中国移动、金融保险行业的中国平安、互联网行业的天猫和腾讯、家电企业海信等。中国平安从2013年开始引入NPS评价指标,并在2016年8月首次对外发布了公司NPS的相关数据,平安集团经过两年多的NPS…

继续阅读净推荐值(NPS):用户忠诚度测量的基本原理及方法

移动 H5 首屏秒开优化方案探讨

  • Post author:
  • Post category:IT
  • Post comments:0评论

随着移动设备性能不断增强,web 页面的性能体验逐渐变得可以接受,又因为 web 开发模式的诸多好处(跨平台,动态更新,减体积,无限扩展),APP 客户端里出现越来越多内嵌 web 页面(为了配上当前流行的说法,以下把所有网页都称为 H5 页面,虽然可能跟 H5 没关系),很多 APP 把一些功能模块改成用 H5 实现。 虽然说 H5 页面性能变好了,但如果没针对性地做一些优化,体验还是很糟糕的,主要两部分体验: 页面启动白屏时间:打开一个 H5 页面需要做一系列处理,会有一段白屏时间,体验糟糕…

继续阅读移动 H5 首屏秒开优化方案探讨

移动 H5 首屏秒开优化方案探讨

  • Post author:
  • Post category:IT
  • Post comments:0评论

随着移动设备性能不断增强,web 页面的性能体验逐渐变得可以接受,又因为 web 开发模式的诸多好处(跨平台,动态更新,减体积,无限扩展),APP 客户端里出现越来越多内嵌 web 页面(为了配上当前流行的说法,以下把所有网页都称为 H5 页面,虽然可能跟 H5 没关系),很多 APP 把一些功能模块改成用 H5 实现。 虽然说 H5 页面性能变好了,但如果没针对性地做一些优化,体验还是很糟糕的,主要两部分体验: 页面启动白屏时间:打开一个 H5 页面需要做一系列处理,会有一段白屏时间,体验糟糕…

继续阅读移动 H5 首屏秒开优化方案探讨

SYN和RTO

  • Post author:
  • Post category:IT
  • Post comments:0评论

前两天,我在微博上推荐了一篇朝花夕拾的文章:The story of one latency spike,文章中介绍了 cloudflare 工程师如何一步一步 debug 网络延迟问题,细细读来受益良多,不过我并不打算详细介绍那篇文章的细枝末节, 本文只摘录一个点: When debugging network problems the delays of 1s, 30s are very characteristic. They may indicate packet loss since …

继续阅读SYN和RTO

基于办公的 IM 的基础设计

  • Post author:
  • Post category:IT
  • Post comments:0评论

现在的 IM 在设计上是基于会话的,多个人可以组成一个会话,相当于一个聊天室,当一个人加入到一个会话后,就可以看到从加入开始之后这个聊天室里所有参与人的发言。有的 IM 会把两人对话也抽象成同一个东西,也可能出于优化的考虑把双人对话特殊处理。 所以,这些 IM 在操作界面上会有一个会话列表:表现出来会是联系人名单、聊天群列表等等。选中会话列表中的项目,进入会话查看聊天记录、发言,就是这类 IM 的使用逻辑。 我认为,这种对即时通讯的抽象方式,其实是不适合办公环境的。和日常个人社交环境不同,办公群…

继续阅读基于办公的 IM 的基础设计