摘要: 周一接到通知需要到布里斯班出差一个月,周五就踏上飞机。第一次出国,终于有机会近距离接触“万恶的资本主义”了。虽然在ThoughtWorks出差、出国是家常便饭,但是这是自己第一次出国,还跑这么远,难免有些兴奋。 阅读全文
posted @ 2013-07-22 20:07 黄博文 阅读(1568) 评论(2) 推荐(0) 编辑
摘要: 今天全球CEO来成都office做每月一次的“老郭说事”。在会议的末尾一个应届毕业生问了他一个问题“你是否有每天都需要进步的压力那?”。该毕业生提出这个问题我想很可能是由于她现在处于试用期,感受到了比较大的压力。为了能让毕业生尽快的适应工作节奏,能够独立胜任工作,试用期的员工压力都是很大的。他们要在一定时间内表现出自己,让团队中其他人能够明确看到自己在某段时间内的进步。我们不担心你目前的技术水平,我们关心的是在有限的时间内你能否进步。 阅读全文
posted @ 2013-07-20 22:10 黄博文 阅读(7339) 评论(41) 推荐(51) 编辑
摘要: 包管理器是神马东西?让我们看看wikipedia上的介绍。 In software, a package management system, also called package manager, is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer’s operating system in a consistent manner. 简单的来说,包管理器就是一个提供对一系列软件包的安装、卸载、升级的自动化工具。 包管理器大体分为两种,一种是管理预编译好的软件(Binary installation/Precomplied 阅读全文
posted @ 2013-07-01 16:25 黄博文 阅读(3021) 评论(1) 推荐(1) 编辑
摘要: 如果我要新建一个java的项目,那么有两个类库是必备的,一个是junit,另一个是Guava。选择junit,因为我喜欢TDD,喜欢自动化测试。而是用Guava,是因为我喜欢简洁的API。Guava提供了很多的实用工具函数来弥补java标准库的不足,另外Guava还引入了函数式编程的概念,在一定程度上缓解了java在JDK1.8之前没有lambda的缺陷,使使用java书写简洁易读的函数式风格的代码成为可能。 阅读全文
posted @ 2013-06-28 01:49 黄博文 阅读(5182) 评论(9) 推荐(1) 编辑
摘要: 在做web项目的自动化端到端测试时主要使用的是Selenium WebDriver来驱动浏览器。Selenium WebDriver的优点是支持的语言多,支持的浏览器多。主流的浏览器Chrome、Firefox、IE等都支持,手机上的浏览器Android、IPhone等也支持,甚至还支持PhantomJS(由于PhantomJS跑测试时并不需要渲染元素,所以执行速度快)。 阅读全文
posted @ 2013-06-25 22:44 黄博文 阅读(6683) 评论(7) 推荐(5) 编辑
摘要: 如今代码静态检查越来越重要,已经成为构建高质量软件的不可或缺的一个验证步骤。如果你使用的是java语言,那么CheckStyle则是一个利器。 CheckStyle能够帮助程序员检查代码是否符合制定的规范。通过将CheckStyle的检查引入到项目构建中,可以强制让项目中的所有的开发者遵循制定规范,而不是仅仅停留在纸面上。如果发现代码违反了标准,比如类名未以大写开头、单个方法超过了指定行数、甚至单个方法抛出了3个以上的异常等。这些检查由于是基于源码的,所以不需要编译,执行速度快。 阅读全文
posted @ 2013-06-21 14:55 黄博文 阅读(27872) 评论(1) 推荐(1) 编辑
摘要: 本来这篇文章的名称为”ThoughtWorks的培训体系”。但是培训这个词总给人一种正襟危坐的感觉,而在ThoughtWorks中的培训则是非常轻松自在的。而且培训有种老手教新手的味道,而在ThoughtWorks不管资历高低,只要你敢秀,都随时欢迎。所以我将培训改为了知识分享。”Knowledge sharing”可以说是ThoughtWorks的标志性文化之一。在ThoughtWorks大家庭,大家都很乐于把自己的所学、所想通过各种方式分享出来。正因为ThoughtWorks建立了立体化、全方位的知识分享体系,每一个新加入ThoughtWorks大家提的人都能得到快速的成长,而经验丰富的老员工也能不断的突破自身。这个体系有力的保证了公司员工的技术水平。下面我简略的讲解下这个体系。希望大家都能有所借鉴。 阅读全文
posted @ 2013-06-13 14:42 黄博文 阅读(2242) 评论(6) 推荐(1) 编辑
摘要: 最近在做一个小的应用,需要通过程序设置安卓手机的AP(Access point, 即将手机变为一个移动热点,其他机器能够通过wifi连接到此手机)。原以为很简单的一个东西,还是花费了一番周折,最终还是搞定了。 阅读全文
posted @ 2013-06-05 12:25 黄博文 阅读(3029) 评论(3) 推荐(0) 编辑
摘要: 使用场景: 如果你有很多工作目录,需要每天在这些目录中跳来跳去。那么你就应该试试goShell. 一个使用简单、功能恰到好处的terminal下的小工具。 gtShell支持将常用的一些目录保存为bookmark,提供快速跳转功能。这样你就不需要在使用cd后面跟随一长串的目录名称。 它也支持自动完成,你只需要输入开头的几个字母,然后按tab键就可以自动匹配。 目前源码被我host在github上。 阅读全文
posted @ 2013-05-31 10:26 黄博文 阅读(1860) 评论(2) 推荐(3) 编辑
摘要: 自从接触并践行了敏捷的一些实践之后,便深深的喜欢上了敏捷。尤其是测试自动化和持续集成这两个实践,可以显著的提高软件的质量和集成效率,实时检测项目健康度,使团队成员对项目保持充足的信心。 但是对于个人项目而言,虽然测试自动化好实现,但是要实现持续集成还是稍有难度。因为持续集成需要搭建一个集成服务器,并建立某种反馈机制。而大多数人来说并没有自己的独立服务器,并且配置也极为繁琐。 阅读全文
posted @ 2013-05-30 15:48 黄博文 阅读(8614) 评论(1) 推荐(0) 编辑