上次推荐在《强势推荐ANT小蚂蚁》中提到使用ant可以完成同步svn代码、编译代码、打包代码、上传、部署的功能。这次再次将ant的功能提升一下,加入hudson持续集成引擎,将我们的程序化的工作更加的自动化完成。 Hudson 是一个可扩展的持续集成引擎,更多的信息可以下面网址。http://www.oschina.net/p/hudsonhttp://hudson-ci.org/ 配置使用步骤基本界面 我使用的Hudson的版本是2.2.1,已经有3.0.0RC的版本出来了,我求稳定,还是使用2.2.1,下载下来是个war,直接扔到tomcat下面就可以了。界面有中文,不过还没有实现全部的I18N,还有部分的英文,基本都认识的,不用担心。 基本界面如上,可以看到我有成功,也有失败的记录,我们的劳动总算是有记录了。建立构建工程 选择新建任务 我这里选择_自由风格_,根据项目实际情况选择。配置ant和任务调度 在任务配置界面中,因为我在ant脚本中已经写好了svn的信息,所以在这里就不配置版本管理了,只配置ant和任务调度两个。 在ant的配置中,只要你把ant脚本文件build.xml放在_C:.hudsonjobsTEST_下面,hudson就可以执行ant脚本了,当前在target中要配置了,在target中每行可以写一个执行的目标。 在_Build Triggers_中,我选择_Build periodically_,表示定时执行,需要写调度表达式。> ##### 调度表达式资料:Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分 时 天 月 年,*代表所有。 例如:0 9 * * * 表示在任何年任何月的任何天的9点的0分4. 构建工程 可以可以选择_立刻构建_或者等定时任务就可以开始构建工程了,在Hudson可以查看执行的日志和最后的结果。看到_BUILD SUCCESSFUL_就说明,你成功了,恭喜!Hudson下载地址
今天遇到个比较搞的事情,我们接口层的时间格式采用时间戳的格式来进行定义的。在各个语言上面应该是比较通用的吧! 我们讨论的焦点是c#不好处理,要把格式改成yyyy-mm-dd hh:mm:ss的格式,就这样产生了分歧。 我不做C#开发,也承认C#作为MS的产品,可能C#对于时间戳会没做很好的处理,可总有处理的办法吧!呀!这个问题纠结的啊! 为了测试有办法处理,给电脑装了VS2010,测试之后,才发现,这么容易处理! 发代码给大家瞧瞧,没学过代码的也能明白,啥叫个简单。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Console.WriteLine("时间戳转换为本地时间"); Console.WriteLine("1347872069"+"转换为本地时间:"); long l = 1347872069; // 本地时间为:2012/9/17 8:54:29 Console.WriteLine(FROM_UNIXTIME(l)); Console.WriteLine("================="); Console.WriteLine("本地时间转换为时间戳"); DateTime dt = DateTime.Now;//取系统当前时间 Console.WriteLine("系统当前时间:" + dt.ToLocalTime()); Console.WriteLine(UNIX_TIMESTAMP(dt)); Console.Read(); } //时间戳转换为本地时间 public static DateTime FROM_UNIXTIME(long timeStamp) { return DateTime.Parse("1970-01-01 00:00:00").AddSeconds(timeStamp); } //本地时间转换为时间戳 public static long UNIX_TIMESTAMP(DateTime dateTime) { return (dateTime.Ticks - DateTime.Parse("1970-01-01 00:00:00").Ticks) / 10000000; } }} 提供一个时间戳转换工具的网址,不相信,可以试试。http://shiningray.cn/toys/unix-timestamp
一大清早就听见下面垃圾车队出发的声音,吵得要命,再接着卫生管理者的大骂声,震耳欲聋啊!实在是睡不下去了!呵呵!最近把主系统改用linux了,使用的是linux deepin的版本,的确就像是linux deepin说的那样,免除新手痛苦、节约老手时间!在很多操作上面都已经很简单方便了!作为一个码农和一个软件爱好者,不得不承认,linux下面有很多软件是比不上windows的,我的win系统是win8预览版,装啦100多个软件,不包含游戏,在linux的可选就相当的少了!针对自己必需的软件,在linux也足够我使用了.娱乐办公类QQ:webqq或者采用wineqq2012音乐:本地使用深度音乐,深度音乐相当的给力,在线的选择就很多了,我主要使用的是虾米的air版本.下载:使用wine迅雷,或者浏览器下载,命令行的wget也是很不错的选择,wget -c还支持断点续传的.浏览器:主要是chrome,还有火狐也在使用.办公:libreoffice或者在线的,等待wps4linux.编辑器:自带的gnote,推荐用sublime text2,跨平台,我在win下面的主要编辑器…开发工具类:eclipse:自己装插件,可以定制自己使用各种开发工具,java.php.web等等等!tomcat:本身就跨平台mysql:同上uml:eclipse插件git:本来就是为linux服务的.特别一提的是,我喜欢用ms project去整理一些事情,在linux还有grant project可以替代的.个人用的笔记软件主要是wiz,wiz的linux版本太简陋,可以用wine来使用windows的版本.还有好多,不说了,要上班去了!来公司了,补充下自己使用的软件。http://pan.baidu.com/netdisk/singlepublic?fid=874434_2892209213
之前就知道ANT这个小蚂蚁,一直没有用过,这两天,下了点功夫,写了一个ANT的脚本。功能还行,可以完成同步svn代码、编译代码、打包代码、上传、部署的功能。直接上干货,看代码。[code]#JDK homejdk.home=/opt/Java/jdk1.6.0_33#webapp namewebapp.name=pmeappproject.name=pmeapp#svnsvn.url=http://127.0.0.1:9344/svn/pmeapp/trunksvn.uname=dapengsvn.pwd=dapengpwd#warwar.exclude=war.exclude.classes=#ftpftp.server=127.0.0.1ftp.password=dapengpwdftp.userid=dapengftp.path=/opt/ftp/#sshssh.host=127.0.0.1ssh.path=/opt/tomcat6/webappsssh.pwd=dapengpwdssh.uname=dapeng#sshssh.path.webapp=/opt/tomcat6/webappsssh.server.bin=/opt/tomcat6/binssh.cmd.sshClean=rm -rf /opt/tomcat6/webapps/${webapp.name}/ssh.server.start=/opt/tomcat6/bin/startup.shssh.server.stop=/opt/tomcat6/bin/shutdown.sh[/code]另外一个是关键中的核心[sourcecode]<project basedir=’.’ default=’usage’ name=’${project.name}’> <!– =================================================================== –> <!– 下句是import进ant属性配置文件,properties文件里存放基本的配置变量. –> <!– 该变量可以在build.xml中直接引用. –> <!– =================================================================== –> <property file=’ant.properties’/> <!– =================================================================== –> <!– 以下的几个属性是系统自带的,初始了tstamp之后,它们就有值了 –> <!– ${DSTAMP} ${TSTAMP} ${TODAY} –> <tstamp/> <property name=’war.name’ value=’${webapp.name}’ /> <!– =================================================================== –> <!– Init –> <!– =================================================================== –> <target name=’init’> <echo message=’————————————-‘/> <echo message=’start ant build ${project.name} – ${DSTAMP}${TSTAMP}’/> <property name=’debug’ value=’off’/> <property name=’optimize’ value=’on’/> <property name=’deprecation’ value=’on’/> <!– java源文件路径 –> <property name=’src.dir’ value=’${basedir}/src’/> <!– jar包路径 –> <property name=’lib.dir’ value=’${basedir}/WebRoot/WEB-INF/lib’/> <!– webapp路径 –> <property name=’webapp.dir’ value=’${basedir}/WebRoot’/> <!– 准备源文件路径 –> <property name=’build.src’ value=’${basedir}/AntBuild/build’/> <!– 编译源文件路径 –> <property name=’build.dest’ value=’${basedir}/AntBuild/bin’/> <!– 准备webapp文件路径 –> <property name=’buildwar.dest’ value=’${basedir}/AntBuild/warsrc’/> <!– 打包war文件路径 –> <property name=’war.dest’ value=’${basedir}/AntBuild/war’/> <!– jre lib路径 –> <property name=’jre.lib’ value=’${jdk.home}/jre/lib’/> <!– 引用svn task文件,使用svn任务可以使用–> <typedef resource=’org/tigris/subversion/svnant/svnantlib.xml’ /> <!– 设置svn相关属性 –> <svnSetting id=’svn.setting’ svnkit=’true’ username=’${svn.uname}’ password=’${svn.pwd}’ javahl=’false’ /> <!– classpath –> <path id=’classpath’> <!–web.lib–> <fileset dir=’e:/lib’> <include name=’/*.jar’/> </fileset> <fileset dir=’${jre.lib}’> <include name=’/.jar’/> </fileset> <fileset dir=’${lib.dir}’>…
分享了几篇bootstrap的文章,再来分享一个bootstrap的axure原型设计组件。axure是一个原型设计工具,可以有多优秀的组件可以使用,这里推荐下bootstrap组件,目前bootstrap的组件还不是很多,不过,也占据了大部分可以使用的。中午我抽空就用axure做了一个,采用的是bootstrap组件,算是我博客主题升级前的一些准备吧!demo地址:http://dapeng.me/demo/201207/axure-bootstrap/dapeng.me.htmlbootstrap组件下载地址:http://l3.yunpan.cn/lk/08f2nhl0ve
程序猿们都是些机械手,让制造东西很容易,如果需要把东西艺术一下,很太难为程序猿们了!Twitter Bootstrap在很大的程度上面解放了程序猿对页面的制作,前提就是web使用Twitter Bootstrap来制作的。Twitter Bootstrap很推荐每个程序员都来掌握一下,其中难度也没多少,如果说有难度,也就是一点点的E文吧!不过现在这点难度也解决了,已经有朋友将Twitter Bootstrap翻译成中文了,感谢这位朋友啊!Bootstrap 是基于 HTML,CSS,JavaScript 的简洁灵活的流行前端框架及交互组件集,由微博的先驱 Twitter 在2011年8月开源的整套前端解决解决方案。Bootstrap 有非常完备和详尽的使用帮助文档,热心的 @TV来客开发者 翻译成了中文,讨厌英文的朋友有福了。 Bootstrap 的口号是 Designed for everyone, everywhere.(适用于任何场景,适用于每一个人),主要有以下特色:适应各种技术水平 Bootstrap适应不同技术水平的从业者,无论是设计师还是程序员,大牛还是菜鸟。既能用来开发简单的小东西,也能构造复杂的应用。跨设备,跨浏览器 最初设想中的Bootstrap只支持现代浏览器,不过新版本已经能支持所有主流浏览器(甚至包括IE7)。从Bootstrap 2开始,提供对平板和智能手机的支持。12列栅格布局 栅格系统不是万能的,不过在应用的核心层有一个稳定和灵活的栅格系统确实可以让开发变得更简单。可以选用内置的栅格或是自己手写。响应式设计 从Bootstrap 2开始,提供完整的响应式特性。所有的组件都能根据分辨率和设备灵活缩放,从而提供一致性的用户体验。样式化的文档 与其他前端工具箱不同,Bootstrap优先设计了一个样式化的使用指南,不仅用来介绍特性,更用以展示最佳实践,应用以及代码实例。不断完善的库 尽管只有10kb(gzip压缩后),Bootstrap却仍是最完备的前端工具箱之一,提供了几十个全功能的随时可用的组件。定制的jQuery插件 一个出色的组件设计岂能没有易用易扩展的人机界面?Bootstrap为此提供了定制的jQuery内置插件。用LESS构建 当传统的枯燥CSS写法止步不前时,LESS横空出世了。LESS中使用变量,嵌套,操作,混合编码,让CSS编写更快更灵活。 Twitter Bootstrap 中文帮助文档:http://wrongwaycn.github.com/bootstrap/docs/index.html原文网址:http://www.cnblogs.com/lhb25/archive/2012/07/26/bootstrap-documentation.html