[转][译]面向分布式系统工程师的分布式系统理论

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

原文:Distributed systems theory for the distributed systems engineer 译者:youngsterxyf Gwen Shapira,大腕级的解决方案架构师(SA),如今Cloudera的全职工程师,在Twitter上提的一个问题引起了我的思考。 如果是以前,我可能会回答“嗯,这里有篇FLP论文,这里有篇Paxos论文,这里还有篇拜占庭将军问题的论文...”,我会罗列一箩筐重要的材料,如果你一头扎进去,至少花费6个月的时间才能过一遍这些材…

继续阅读[转][译]面向分布式系统工程师的分布式系统理论

Stack Overflow 的 HTTPS 化:漫漫长路的终点

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

原文作者:Nick Craver 翻译作者:罗晟 @luosheng&狄敬超 @alswl 原文地址:Nick Craver - HTTPS on Stack Overflow: The End of a Long Road 本文为原创翻译文章,已经获得原作者授权,转载请注明作者及出处。 本文首发在「沪江技术学院」公众号 今天,我们默认在 Stack Overflow 上部署了 HTTPS。目前所有的流量都将跳转到 https:// 上。与此同时,Google 链接也会在接下去的几周内更…

继续阅读Stack Overflow 的 HTTPS 化:漫漫长路的终点

App 图片体验指标

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

网络图片作为 App 的一个重要组成,自然也需要一些关键指标来衡量,有了指标方便看到优化的效果。不过目前貌似没有比较广泛采用的指标,跟其他公司交流时,当聊到 Crash 率,大家都有统一的认知,但聊到图片体验,就很难进行比较了:我们这块一直都不错,用户反馈也不多。但事实可能并不如此。 为什么图片的指标不好定?因为环境比较复杂,边界也不太好确定(不像 Crash,判断条件非常清晰)。 网速比较慢,图片出不来或出来得很慢正不正常。 图片本身就比较大,下载过程自然就慢了,耗时长一点也正常。 即使下载速…

继续阅读App 图片体验指标

如何读懂火焰图?

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

软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。 火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 一、perf 命令 让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。 $ sudo perf reco…

继续阅读如何读懂火焰图?

使用 RxTest 来建立基于 RxSwift 的自动化测试

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

最近开始一个 iOS 新项目,我开始完全用 RxSwift 来构建所有逻辑了。本篇文章将讲述如何通过 RxTest 来架设起一个「响应式」的自动化测试环境。 我学习和使用 Rx 的经历 RxSwift(或 Reactive 响应式编程),我了解还算早,但是一直没有全面地采用它。一方面有项目的原因,经典项目因为忙着加 Feature,牵扯的地方比较多,所以只会谨慎局部使用,采用不多,比如奇点,只在一些和复杂网络请求有关的新特性上使用了它。另一方面,我虽然是一个追求新技术的人,但是也不想「有了锤子见…

继续阅读使用 RxTest 来建立基于 RxSwift 的自动化测试

使用 RxTest 来建立基于 RxSwift 的自动化测试

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

最近开始一个 iOS 新项目,我开始完全用 RxSwift 来构建所有逻辑了。本篇文章将讲述如何通过 RxTest 来架设起一个「响应式」的自动化测试环境。 我学习和使用 Rx 的经历 RxSwift(或 Reactive 响应式编程),我了解还算早,但是一直没有全面地采用它。一方面有项目的原因,经典项目因为忙着加 Feature,牵扯的地方比较多,所以只会谨慎局部使用,采用不多,比如奇点,只在一些和复杂网络请求有关的新特性上使用了它。另一方面,我虽然是一个追求新技术的人,但是也不想「有了锤子见…

继续阅读使用 RxTest 来建立基于 RxSwift 的自动化测试

[译]使用 bcc/BPF 分析 go 程序

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

BCC 是基于 BPF 的 Linux IO 分析、监控、网络工具集合。BPF Compiler Collection (BCC) 是创建高效内核追踪和处理程序的工具包,包含几个有用的工具和用例。BCC 扩展了 BPF (Berkeley Packet Filters) 的用途,BPF 之前被称为 eBPF,是 Linux 3.15 新增的一个新特性。BCC 大部分的功能都要求 Linux 4.1+。 本文翻译自性能分析大牛Brendan Gregg的 2017年中旬的一篇文章:Golang b…

继续阅读[译]使用 bcc/BPF 分析 go 程序

MySQL Alter Table锁表相关的....提纲?

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

(瞅一眼才发现四个月没写了,确实是好久没写代码了,没啥心得,不过想想好像可以写个提纲凑个数) 我们的业务主要还是用 MySQL 存储业务数据。 MySQL 一个很麻烦的问题是,alter table 的时候往往要锁表,而业务在最初设计的时候,又没法为未来的所有改动预留合适的字段,结果就是,要么另外建一张表横向扩展,要么熬到半夜,忍受锁表带来的业务中断;不过在多次实践中还是有一些心得体会,可以简单列一下。 1. alter table 是否都会锁表? 不都会,有些情况可以不锁表,例如,修改默认值,…

继续阅读MySQL Alter Table锁表相关的....提纲?