测试代码和可测试代码
项目中有一个要将指定时间和当前时间比较,计算相对时间的逻辑(比如显示 3 分钟前),
由于当前时间和执行测试用例的时机有关,每次执行用例都会不同,如何让这个代码可测试呢?
有些人可能想到 Mock 当前时间,测试的时候让当前时间凝固,于是有了如下代码:
这个业务代码是 可测试 的代码吗?我认为不是。
Read more...项目中有一个要将指定时间和当前时间比较,计算相对时间的逻辑(比如显示 3 分钟前),
由于当前时间和执行测试用例的时机有关,每次执行用例都会不同,如何让这个代码可测试呢?
有些人可能想到 Mock 当前时间,测试的时候让当前时间凝固,于是有了如下代码:
这个业务代码是 可测试 的代码吗?我认为不是。
Read more...终于在年前把车的事情搞定了,这是 2015 年做成的唯一一件大事,经历了不少坎坷,一路摸索过来,很多都是懵懂, 因此想通过这篇流水记录,帮助到一点大家,如果有写的不好不对的地方,大家可以给我提出,我尽力改进。
『车图』
Read more...
使用 Git 的你,想必会更喜欢在终端(命令行)中使用 Git。在终端中,可以将 Git 的特性发挥的淋漓尽致。
为了信息安全,公司搭建了 gitlab.company.com 管理代码,同时限制了必须使用工作邮箱 hotoo@company.com 进行提交。
公司 gitlab 有大大小小很多仓库,不时的需要 clone 代码下来,有时忘记设置就开始提交, 提交了几次开始 push 到 gitlab 并准备提交 MR 时发现,push 被拒绝,或者 MR 无法 自动合并,因为没有使用公司的邮箱进行提交。只好取消之前的提交操作,修改邮箱配置 之后重新提交。
虽然 clone 下来配置一次就可以了,但是每个仓库都需要配置,每次 clone 都需要配置, 忘记设置了需要取消之前的提交并再来一次。
有没有办法自动进行配置呢?
Read more...很幸运获得了集团开源星人奖:最活跃个人奖,奖品是 IKBC POKER II 机械键盘,同时 还有一件 Tee。
获得这个奖,主要得益于前端天然的开源
W3C Web 性能工作组 在 2012 年给我们带来了 Navigation Timing,这个 API 现在 基本上在主流浏览器上都可用。Navigation Timing 定义了一套用于测量主页面性能的 JavaScript API。例如:
用 Resource Timing 来同统计资源下载性能
是非常赞的方式,但不幸的是,几乎所有和我聊过的人都是使用 duration 属性,
而且他们都没有意识到 duration 包含了 blocking 时间。结果 duration 时间
GitHub 是汇集了众多开源项目的闭源系统,
GitLab 是汇聚了较多闭源项目的开源系统。
-- @hotoo
对于个人开发者,不可避免的会有私有项目的需求。
目前比较靠谱的私有项目托管服务有:
下面我们稍做评比。
Read more...齐宣王使人吹竽,必三百人。南郭处士请为王吹竽,宣王说之,廪食以数百人。 宣王死,湣王立,好一一听之,处士逃。
《韩非子·内储说上》
某日,突然收到报警,某发现实时异常监控趋势图上,静态资源 404 异常有明显的上升。 分析详细的异常信息发现是某个发布操作引起某几个系统引起的。
Read more...