摘要:
Spring框架的Web项目中可以使用properties文件来存储需要显示在jsp页面的一些值,比如label值或者error messages。然后通过Spring提供的ResourceBundleMessageSource将这些properties文件注入进来使用。一个简单的配置如下。 阅读全文
摘要:
原书标题为《Practices of An Agile Developer》。中文名为《高效程序员的45个习惯-敏捷开发修炼之道》。敏捷这个词已经烂大街了,关于敏捷的书籍俯拾皆是。很多人是敏捷的狂热粉丝,而另一些人却讨厌敏捷,认为只是个噱头。我觉得很可能的原因之一是敏捷这个名字没起好。它的原名为“轻量型软件开发过程”(”lightweight process”),但后来阴差阳错成了agile(敏捷)。 阅读全文
摘要:
npm全称为Node Packaged Modules。它是一个用于管理基于node.js编写的package的命令行工具。其本身就是基于node.js写的,这有点像gem与ruby的关系。
在我们的项目中,需要使用一些基于node.js的javascript库文件,就需要npm对这些依赖库进行方便的管理。由于我们的开发环境由于安全因素在访问一些网站时需要使用代理,其中就包括npm的repositories网站,所以就需要修改npm的配置来加入代理。 阅读全文
摘要:
我目前工作的一个项目后端使用java和spring建立了一个restful service,前端使用AngularJS来渲染页面,提供用户接口。在前端的AngularJS项目中,我们使用Jasmine来写单元测试,使用AngularJS自带的Angular_scenario来写端到端测试。运行这些测试则使用的是Karma。
虽然使用Karma在命令行下可以很方便的运行所有的测试,但是我们想将这些集成到gradle 阅读全文
摘要:
在我工作的项目中有这样一个需求。当通过自动部署脚本将当前一个CI构建的WAR包部署到指定服务器后,需要验证该WAR包是否被部署成功。
在这个项目中,持续集成服务器使用的是Jenkins,构建脚本使用的是maven,向服务器的部署使用的是Groovy写的部署脚本,调用了Tableuax API。
在Jenkins上有两个job,一个CI job,一个dev job。
每次提交代码都会在Jenkins上trigger CI ob,这个job会执行配置的maven命 阅读全文
摘要:
即使用octopress写博客又需要同步到其他站点的同学们有福了。本人写了一个octopress下的插件,用于将octopress中的最新的一篇博客同步到支持MetaWeblog API的博客站点中去。(wordpress、博客园、CSDN、51CTO、新浪、网易……)
这款插件源码被host在github上,地址是https://github.com/huangbowen521/octopress-syncPost。 阅读全文
摘要:
Karma是一款运行JavaScript测试的工具。它支持大部分的JavaScript测试框架,并支持多浏览器跑测试、自动监听文件运行测试等功能,实在是JavaScript开发的必备测试利器。有了它,基本不用再一遍遍手动刷新页面来trigger测试了。它的原名是testacular,也不知道作者咋想的,突然之间把项目名称改了。
而WebStorm则号称是世界上最聪明的JavaScript的IDE。(事实证明,确实如此)。JavaScript code自动提示、浏览器实时同步更新、支持HTML5, node.js, TypeScript, CoffeeScript, ECMAScript Harmony, LESS…秉承了JetBrains这个牛逼公司的一贯传统。 阅读全文
摘要:
前段时间曾经写过一篇文章,《优秀程序员无他-善假于物也》。其中谈到一点是优秀的程序员必须要能灵活的掌握常用软件的快捷键。对于程序员来说,每天使用时间最长的软件恐怕就是IDE(Integrated Development Environment)了。如果你是C#的程序员,那么就基本非Visual Studio莫属了。而如果你是Java的程序员,那么eclipse,myeclipse或者Intellij都有人用之。如果你是Ruby等动态语言的程序员,那么Vim、Emacs、RubyMIne…有太多的选择可以成为你的IDE。 阅读全文
摘要:
List在函数式语言中是一个重要的抽象,很多事情离了它就很难做到。函数式语言的鼻祖Lisp名称就来自List processing。
Haskell本身也给List操作提供了一系列的操作符以及库函数。 阅读全文
摘要:
重构越来越成为项目中必需品,而不是奢侈品。推动这个的一个原因之一就是IDE对重构的支持越来越强。不仅要了解重构手法,还要熟练使用IDE的提供的各种快捷键,并且要灵活的使用这些快捷键。 阅读全文