基于testcontainers的现代化集成测试进阶之路

大型的软件工程项目除了大量的产品级代码外必不可少的还有大量的自动化测试。自动化测试包含从前端到后端甚至到产品线上不同模块和环境的各种类型的测试。一个比较经典的关于自动化测试分布的理论就是测试金字塔,是说在一个正常的项目中合理的测试数量应该是单元测试 > 组件测试 > 集成测试 > 端到端测试(系统测试)> 人工验证测试。

时间回到去年,德云社来纽约演出,在纽约的华人们全城出动,把林肯中心堵得水泄不通。上次见到这番盛况还是纽约国际电影节时是枝裕和的《小偷家族》首映,满眼望去都是穿着精致的亚洲面孔。 那场演出里郭德纲和于谦有一段相声叫“艺术人生”,从郭德纲阐述相声的艺术引入“艺术艺术,既要有艺,也要有术。只有艺没有术,曲高和寡卖不动票;只有术没有艺,作品难成气候。“ 第一次从一位在相声行业深耕多年的大师级的人物口里听到这番对于艺术的阐释,颇有醍醐灌顶之意…

自从12年开始入迷建站技术以来,Wordpress一直是我首选的建站工具。简单易学的PHP脚本语言,可本地部署测试的LAMP架构,丰富的技术社区资源,高度可自定义化的模块化设计,这些都是Wordpress吸引无数入门者的亮点。回首我刚开始折腾时,Wordpress最新的官方模板还是Twenty Ten, 第一次见到“娄琦彬的个人博客”网站标题赫然出现在Twenty Ten的标题一栏,内心激动不已,仿佛悟到了什么真谛。

提到Java没有人不想到大名鼎鼎的NPE(Null Pointer Error),可见广大程序员受其毒害之深。所以做接口设计的时候,一个好的习惯就是注明Nullbility。 对于Nullable的参数或者返回值,从Java 8后Optional 是推荐的方式,因为它强迫接口使用者显示进行空值检测。 但如果接口设计中是想注明非空的情况呢,通常情况下你会发现有两个看起来很类似的annotation, @NotNull 以及 @Nonnull, 而且你可能会发现代码库里使用两者的都有。但是,正如Stackoverflow上的这个帖子分析道…

举个例子:在windows系统中,有用户“Farmer John"(注意中间有空格分隔),在用户根目录下有用户的头像图片”C:UsersFarmer Johnphoto.jpg“。现在有一对图片操作的库函数foo,foo的输入参数即为图片路径,由于foo的实现不完善导致如果路径中包含空格符的话会有bug(比如遇到空格截断),但用户又不能修改该函数,更不可能为了这个bug而去修改用户名,此时的一个很好的hack方式就是用mklink来fix包含空格的那个目录或者文件。对于现在这个bug,可以这么解决…

收到SAE发来的云豆不足的通知,提醒我该去给他进贡铜臭了。话说我差不多已经做了半年的SAE的付费用户了,每个月交个10多元我那几个小网站差不多就能撑起来了,BAE从此就是路人了。不过由于上次github的Edcucation Package想到好像有送1~2的云主机优惠,于是就简单看了下。DigitOcean又有绑定信用卡太蛋疼也怕不安全,意外发现了亚马逊的AWS支持一年的free tier试用,花了点时间研究了下,最后决定把主机挪到AWS一年玩玩。 这是网站第二次大迁移…

It is a rule in math that the absolute value of a number must be no less than zero. Is it true in computer languages? Well, most of the case except one. Let me take C language for example.

For a 32-bits C interger, its value ranges from [-2147483648, 2147483647] .So for x = -2147483648, what is the result of abs(x)? 2147483648, -2147483648, 2147483647, 0 or something else?

闲的蛋疼又来改首页了。二话不说,先上结果:戳我!。 为什么要改版呢?一来老的版本看腻了。。二来之前那个内容太少,加上flickr老是被屏蔽,网页上就真没啥东西可以看的了。而且其实之前1.0的时候对移动设备支持不太好,基本在手机上就是废了…

很多情况下在写一些小页面时想用一些字符串模板,但Javascript又不原生支持字符串模板,只好用一些第三方库,但引用第三方库的缺点在于很多功能的冗余, 浪费前端加载时间和流量,甚至会造成命名冲突等问题。 其实有时候的需求很简单,不需要很高级的字符串模板功能,只需要像'My Name is {name}. Hello {herName}这样的线性替换就行。其实这个需求实现起来非常容易,四行代码就搞定了。如下…

花了一下午更新了下网站首页代码,主要进行了下面工作: 1. 重写了Flickr模块的代码,利用正则表达式提高了图片URL获取速度和加载速度…

在 QQ 已经登录的情况下,手动输入网址打开 QQ 邮箱 或者 QQ 空间 等腾讯网站,可以看到网页已经检测到本地 QQ 客户端已经登录,于是用户可以很方便地一键登录网站而不必再输入用户名密码。这实际上是典型的异构系统单点登录 SSO(single-sign-on)技术。网页怎么会知道我登录的 QQ 号码?腾讯是如何实现的呢? …

最近乌云社区里有位童鞋发了一个帖子:http://zone.wooyun.org/content/6103 说一个域名不知道用了什么手法居然绑定了李毅吧的url,既不是301重定向,也不是域名跳转,也不是域名转发。访问www.liyiba.com 这个域名感觉李毅吧仿佛单独成立了一个网站一样!而且这个域名的权重居然涨到了6!现在这个域名利用李毅吧带来的权重和流量已经独立建立论坛赚钱了!每日几十万的IP看的大家眼馋!

他是怎么做到的呢?