- 博客(9)
- 收藏
- 关注
原创 把环境作为程序的一部分——docker
为什么会突然想起用Docker?因为最近的在写的开源项目(github:https://github.com/phospher/goMonitor)里用到了spark作为数据处理的框架,而spark的MapReduce在单机下运行(所有任务在同一个JVM下运行)跟在真正分布式方式下运行的结果是不一样的。为了测试程序的正确性,虚拟化技术似乎能帮到我很大的忙。
2016-10-18 17:18:13 1141
原创 说说数据分析类项目
前言 今年的下半年,由于RP原因被分配到了部门一个关于数据分析类的项目中,一个能通过配置规则,实现对原始数据进行各种加工后,输出成特定报表的通用平台。说起来也挺牛气哄哄的,但实际上由于各种原因,这个平台并没有使用很多前沿的技术,因此尽管是我工作以来参与的最大的项目(当然是针对业务来说的),但技术上的收获却是最少的。 正因为如此,这篇文章不谈技术,却谈谈项目
2013-11-09 20:20:29 849
原创 论程序员的自我修养——自动化功能测试友好的设计
自动化功能测试对软件设计的影响 功能测试的目的是为了模拟用户操作,从而验证系统能按照预想的方式运行,因此自动化测试的脚本无可避免地需要访问软件的用户界面。相信很多放弃使用自动化功能测试的团队对于自动化功能测试的态度和我刚刚接触自动化测试时一样,UI的易变性和测试脚本与UI的紧密耦合,加上维护测试脚本的团队(测试)和UI开发的团队(开发)往往不是同一个团队(或同一个人),导致了维护
2013-07-20 19:50:30 763
原创 论程序员的自我修养——自动化功能测试
为什么自动化功能测试与开发有关系? 把程序员和自动化测试联系起来,估计很多人都没有想过这个问题,或者也有人能联系上,但也仅仅止步在自动化单元测试了。是的,自动化测试是一个很广泛的概念,单元测试、功能测试、容量测试等等都可以自动化,但这篇文章仅仅只会设计功能测试,毕竟每种测试涉及的东西都很多,在一篇文章里都说清楚是不现实的。 说到功能测试,很多人第一反应就是:嗯,
2013-07-04 20:19:14 719
原创 论程序员的自我修养——重构(2)
重构与设计模式 设计模式是一个好东西,它能把复杂的代码变得简单,让系统具有更高的扩展性。但它在某程度上会增加代码结构的复杂性,因此对于规模不大的系统,滥用设计模式,只会让系统变得莫名的臃肿。不过随着系统不断地增加功能,变得日益庞大的时候,设计模式便是磨练出一个良好系统的利器。 重构便是一个系统从没有设计模式到有设计模式之间的桥梁。在系统还相对简单的时候,可能还不
2013-06-08 21:29:58 648
原创 论程序员的自我修养——重构(1)
重构与我 想写重构,完全是因为上个月看了一本关于重构的书,里面介绍了十几种不同的重构方法。真的是手把手形式的教你各种重构的方法,书名叫《重构:改善既有代码的设计》(http://book.douban.com/subject/1229923/)。不能说这本书能带给我多大的启发,里面介绍的大部分代码设计的方法,都是我已经学过或知道的,但这算是我第一次真正系统地接触重构。尽管以前一直
2013-06-06 20:31:05 890
原创 谈谈我的首个开源项目WeiboSpider(1)——单元测试
我眼中的单元测试 实际上我接触单元测试的时间并不算短,大三的时候就有一门课是讲测试的,我很早就知道什么是单元测试,要怎么设计测试用例。当然我不打算在博客中炫耀自己的理论知识,所以不要期待我在博客中介绍边界值法、逻辑覆盖、路径覆盖什么的。但把单元测试真正用在实际项目中,还是去年的事情,就算做毕业设计,我也没有写单元测试。 去年我工作的团队开始推广单元测试,当然我不
2013-05-20 23:14:49 1212
原创 谈谈我的首个开源项目WeiboSpider(0)——WeiboSpider的总体架构
为什么是微博爬虫? WeiboSpider,顾名思义就是一个微博的爬虫。去年(2012年)年中的刚开始学习python的时候,我同时在看一本关于自然语言识别的书。对自然语言识别有兴趣是因为看了吴军博士的《数学之美》,而且随着数据挖掘、大数据的兴起,自然语言处理在互联网中会有越来越多的应用。 但学习自然语言处理是需要语料的,特别我感兴趣的是统计的识别方法而不是基于
2013-05-14 23:49:51 2232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人