文本压缩算法的对比和选择

本文主要粗略介绍数据压缩主要算法类别,以及最新针对Web文本资源的zStd和Brotli算法的设计要点。为Web业务应用如何使用它们替换传统gzip提供些参考。最后是一个文本有损压缩的尝试。...
阅读(1878) 评论(2)

让工作节奏慢一点, 再简单的工作也能做出大成就

快,是当下的工作主旋律。拿到任务,快刀斩乱麻,达成目标交差。相对于这种做事做到恰到好处的做法,我更喜欢要做就往大了做。除了解决问题,我自己能从其中得到什么提高产品能做什么改变。总之有机会就要尝试慢下来,让事情更具广度和深度。只有深入到细节,才更有机会发现优化和创新的机会,根本不需要依赖从一个高大上的项目中来提高自己。...
阅读(2997) 评论(2)

Perl & Python编写CGI

最近偶然玩了一下CGI,收集点资料写篇在这里留档。 现在想做HTTP Cache回归测试了,为了模拟不同的响应头及数据大小,就需要一个CGI按需要传回指定的响应头和内容,这是从老外的测试页面学习到的经验。CGI其实就是使用STDIN和环境变量作为输入,  STDOUT做为输出,依照Http协议生成对应的数据。一. 数据输出数据输出遵循HTTP协议,分为四部分:  状态行 (Status Line)...
阅读(3555) 评论(0)

转换GDB调用栈到流程图

如果你想在GDB调试时把调用堆栈保存下来归档,那下面这个脚本就方便你了。原理是将调用堆栈的函数抽取出来,再完成调用关系就可以了。稍加改动就可以同时读取多个调用栈,生成一张流程图。...
阅读(5276) 评论(5)

程序员看数据分析

“世上有三种谎言:谎言、该死的谎言和统计” ------这是一句著名的西方谚语,其中让统计有如此名声的非平均值莫属了,可见数据分析并不能只是简单地求和、求平均。  作为程序员现在也开始接触到大量数据,也需要有数据分析的工作。比如在发布前进行一系列的测试,对测试结果进行分析,以便决定能否正式上线。 本人不是学习统计的,这里只是总结一下工作中使用R进行数据可视化分析的经验。概括为三个步骤:...
阅读(5153) 评论(1)

几个有用的R小函数

最近写的代码基本是R脚本了,越发感到R的强大。现在用它做一些数据分析以及进行一些模拟。 收几个常的函数在这里。 1. 批次替换data frame中的数据      i. 将所有为0的数据替换为100         res2$valueX[res2$valueX %in% 0]      ii.将NA替换为0          res2$valueX[is.na(re...
阅读(11017) 评论(0)

R绘制动态曲线

使用R语言绘制动画可以方便地观察到数据的变化行为。以之前Chrome在收集页面资料时使用的指数平滑算法为例,绘制一个在不同系数且目标值不断变化(应用场景不是页面访问统计)的情况下的曲线逼近行为。 首先要确保在R中安装了animation包, 如果需要保存成GIF动画,还需要安装ImageMagick。GIF的每一帧是基于一个plot操作的。...
阅读(3283) 评论(0)

程序员统计知识-看懂数据

中位数、平均值、标准差、箱形图...
阅读(2639) 评论(0)

实时监控Android设备网络封包

对Android网络抓包分析,一般是使用tcpdump抓个文件,再到PC用Wireshark打开分析。能不能达到直接使用Wireshark的效果? 答案是可以的,至少已经非常接近了。实现起来很简单,原理就是将tcpdump的数据重定向到网络端口,再通过管道(pipe)转到wireshark就可以了。使用到的指令有tcpdump, netcat和wireshark。...
阅读(9018) 评论(2)

GDB扩展之Command File - 提高调试效率

工欲善其事,必先利其器。GDB的扩展可以通过command file和python脚本完成,这里针对Command file,一个简单高效的扩展方案。GDB Command File可以简单地理解为一串自定义的GDB指令,也就是GDB允许用户使用define将一串GDB操作定义为一个指令。...
阅读(6155) 评论(0)

[WebKit]C++类的数据结构及在反汇编上的应用

在反汇编常常要在无法使用调试信息和源代码的情况下查看数据内容,数据结构比较好处理,如果是C++的类,就需要做些总结了。 基础 - POD? C++的成员变量的排列顺序关键在于区别是不是POD(Plain Old Data)类型,从而确定是否需要有VPTR。POD类型会保持和struct相同的数据排列顺序,但在类的定义中不能出现虚函数、析构函数及拷贝的赋值函数等,否则编译器会增加一个Vi...
阅读(3722) 评论(1)

提高编译效率:Unity Builds

最近,我发现了一个方法来减少在C/C++项目的编译时间,就是所谓的Unity Builds(UB)。这项技术非常简单, 通过减少磁盘访问的数量而减少了编译时间。 在编译过程中include的文件会被多次访问, 每一个编译单元(Translation Unit,指的是编译出一个object文件的过程)都会访问到。除非你用一个固态磁盘,不然一般的硬盘一定会拖慢编译过程。 在示例的项目中...
阅读(3677) 评论(0)

什么是好的测试用例[51Testing]

这项研究部分基于NSF制定的EIA-0113539 ITR/SY+PE:“提高软件测试者的教育。” 材料中表达的任何观点、发现和结论或者评论都属于作者,不代表国家科学基金会(NSF)的观点。 摘要      设计好的测试用例是一门复杂的艺术。其复杂性有三个原因:        1.测试用例能帮我们发现信息。不同类型的测试对不同类型的信息有效。        2....
阅读(2986) 评论(0)

iOS上的一个自动化测试工具

在模拟器打开Accessibility可以观看到每个控件,即使是在网页上的. 所以是有可能做到更精准的自动化测试的。下面转了份博客,如果有兴趣可以找时间一起研究如何应用。 虽说回归测试很重要,反复执行的事可以让脚本去做。 今天找到了一个开源的工程,官网:testingwithfrank.com   Features      Easy Setup -...
阅读(3052) 评论(0)

使用LLDB脚本简化打印复杂数据的操作

上次提到用了LLDB脚本来扩展一些功能。 这次是简化打印复杂数据的操作。   不知道大家都没有遇到过在gdb和lldb里输出一个类时困扰,常常要一个个属性展开下去,或者调用提供函数来检查。分享一个使用LLDB脚本来简化变量输出的方法。   以输出Element的属性为例,其下面的属性很多,我们其实只想知道属性名称和值就可以了。数据结构展开如下:   如果使用lldb脚本,只需要输入...
阅读(3204) 评论(1)
43条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:1524016次
    • 积分:16767
    • 等级:
    • 排名:第617名
    • 原创:221篇
    • 转载:30篇
    • 译文:47篇
    • 评论:362条
    微博/MSN/EMail

    新浪微博:Horky
    QQ:324014340
    Mail:horky.chen@gmail.com
    微信公众号 (聚焦软件开发):
    博客专栏
    最新评论