`
何足道
  • 浏览: 33178 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
程序员都是"懒惰"的,哪怕是执行一个命令的时候少敲了一个字母也感觉特舒坦。Git就允许为命令设置别名。 以git status为例,如果敲git st 显然无法识别。 new-host-2:designer XXX$ git st git: 'st' is not a git command. See 'git --help'. Did you mean one of these? status reset stage stash svn 我们可以在 ~/.gitconfig 文件里面进行别名设置,即加上下面这几行 [alias] ...
开发人员常常遇到这种情况:花了几天时间一直在做一个新功能,已经改了差不多十几个文件,突然有一个bug需要紧急解决,然后给一个build测试组。在Git问世之前基本上靠手动备份,费时且容易出错。 git stash命令简而言之就是帮助开发人员暂时搁置当前已做的改动,倒退到改动前的状态,进行其他的必要操作(比如发布,或者解决一个bug,或者branch,等等),之后还可以重新载入之前搁置的改动,很cool吧? 首先,用git add把所有的改动加到staging area。 git add . 接着用git stash把这些改动搁置。
今天因为工作需要打算在Eclipse上安装一下Eclipse RCP Plugin-in Developer Resource 3.7.2的插件,照常使用Eclipse自带的最方便的“Install New Software”如图。 结果报错说Cannot complete the install because of a conflicting dependency. 笔者已经安装了3.6版本的RCP Developer Plugin,所以和想要安装的3.7版本产生了冲突。笔者个人认为Eclipse这一点是比较弱的,理想情况下应该询问是否需要从3.6升级到3.7,Eclipse没有这样 ...
  简单来说,VoiceXML就是语音网络世界的HTML,一种用于语音应用的开放标准的标记语言。VoiceXML的问世使得为HTML发展起来的web体系也能够轻松地创建和使用语音应用。   发展历史:   1995年AT&T研究院的Dave Ladd, Chris Ramming, Ken Rehor以及Curt Tuckey在头脑风暴关于互联网会如何改变电话应用的时候,产生了一些新的想法:为什么不设计这样一个系统来运行一种可以解析某种语音标记语言的语音浏览器,用来把互联网的内容和服务提供到千家万户的电话上。于是,AT&T就开始“电话网络项目”(Phone Web ...
Someday, all software will be built this way. 原文链接:http://alblue.bandlem.com/2011/02/someday.html (笔者注:文章主要介绍Git,Gerrit,Jenkins为代表的版本控制,代码审核,持续集成工具在现代软件开发中的使用,笔者认为这些都是当下最时髦,最先进的开发工具和工程思想,特做简单翻译与大家共享。)   先从代码审核说起,代码审核系统总的来说分为两类,各有优缺点:   提交前的审核,即把所做的改动附到审核系统。好处是避免了因为不准确或者不存在的版本号码而搞乱版本控制系统;缺点是提交的 ...
笔者的环境是Mac OS X 10.7.3,安装了XCode 4.3。 在Terminal试图使用GCC命令时发现找不到这个命令,在/usr/bin下面也没有gcc这个路径。   解决方案: 1、打开XCode,进入Preferences --> Downloads 2、点击Command Line Tools (180 MB) 这行的 Install 按钮 (如图)   安装结束后,在/usr/bin里面就发现了gcc。(同样使用$whereis gcc命令亦可打印出/usr/bin/gcc)    
使用mac的朋友肯定见过下图这个Activity Monitor 系统把内存分成了4块: Free - 顾名思义,就是可用内存 Wired - 系统(包括OS X内核)占用的内存 Active - 现在正在使用的内存 Inactive - 你刚刚退出的程序仍然占有的内存,实际上mac保留了你之前退出的程序的一些信息在RAM里面,这样当你再次打开这个程序的时候,加载会快很多。 很显然,当Free内存不够的时候,打Wired的主意很难,当然可以关掉一些软件以减小Active memory,但最有效的方法是释放inactive memory,大不了就是下次再打开之前打开过的程序的时候稍 ...
UML2 Tools 是Eclipse的一个用于支持画UML2图的重要插件,可是如果你用的是Hellios或者Indigo版本的Eclipse,会发现无法安装下载的UML2 Tools SDK,提示错误一般是找不到包括org.eclipse.emf.ocl feature在内的dependency。 原因是:从Hellios开始,这个feature就不再被Eclipse支持,虽然仍然有不少plugin依赖这个feature,比如这个UML2 Tools SDK。 在UML2 Tools取消这个依赖之前,如果想使用它,唯一的办法就是临时装上org.eclipse.emf.ocl这个featur ...
smartGWT的Canvas提供了两个方法分别用来对传入的Object或者Canvas组件直接打印和显示打印预览。   printComponents public static void printComponents(Object[] components) Generate printable HTML for the designated components and trigger the native print dialog, without ever showing the printable HTML to the user. Parameters: comp ...
刚给公司一个web项目添加了前台export表格到excel以及pdf的功能,下面把实现过程记录在这篇blog中。 一些背景交待: 1、UI技术使用的是smartgwt,MVP模式,表格ListGrid使用的是DataSource 2、整个项目基于OSGi,下面提到的ExportService接口和ExportServiceImpl类不在同一个OSGi bundle中,原因是ExportService需要向几乎所有bundle开放,所以放到了common的bundle中。   第一步,写一个ExportForm   public class ExportForm extends ...
选择一个secret key,这个key的复杂度可以很高,最好不要直接用姓名或者生日 把这个key结合注册网站的域名形成一个String (e.g. keyrenren, keycsdn) 打开一个md5密钥生成器(各种客户端都有,在线的也有) 使用步骤2里面得到的String,生成md5密码(md5密码很有,可以根据自己的习惯选择其中的一部分,但是要记住这个习惯~) 使用这个密码来注册以及登录该网站 这个方法的好处显而易见,第一,我们只需要记住一个key,就做到了所有密码都独一无二;第二,一个网站泄露了你的密码,绝不会影响到其他网站账号的安全。 缺点我目前能想到的就是,例如 ...
如果org.mortbay冲突问题已经解决,而又遇到gwt.junit.JUnitFatalLaunchException(错误例子如下)   <span style="font-family: SimSun; font-size: 16px;" mce_style="font-family: SimSun; font-size: 16px;">com.google.gwt.junit.JUnitFatalLaunchException: The test class 'com.google.gwt.sample.stockwatche ...
当对GWT项目构建单元测试,第一次用Eclipse Google插件运行test case (Run As -> GWT Junit Test)时,很可能会遇到下面这个错误。 Starting Jetty on port 0 [WARN] failed org.mortbay.jetty.nio.SelectChannelConnector$1@137742d java.lang.NoSuchMethodError: org.mortbay.thread.Timeout.<init>(Ljava/lang/Object;)V at org.mortbay.io. ...
笔者在前文 《MVP和MVC》中提到了两者的区别,以及MVP日趋流行的原因:即随着各种给力UI框架的发布,View的功能越来越强,已经足以完成一些简单的不需要与后台或其他view交互的event handling工作。 一位.NET工程师在他的博客写了MVP的14条规则,个人感觉十分靠谱,所以转载过来,并稍注翻译。 14条具体规则之前,他提到了一些MVP设计的基本共识,比如View必须实现Display接口,Display接口定义了View里面与Presenter交互的所有方法,通过Display的存在,View和Presenter得到完美的解耦,使得架构变得清晰,也为Presenter代码 ...
JS的特性决定了它的重要性,也带给了开发人员无数的烦恼,语法松散,测试困难,调试困难,可读性差,可维护性差。水平参差不齐的程序员写出来的JS代码可以千差万别。而JAVA,作为一种成熟的开发语言,各种相关的辅助工具一应俱全。在日常开发中,有时候很难让专门的前台工程师去写JS,后台工程师写Java,一是因为人手不一定够,二是写前台的时候也需要知道后台知识,而一旦让Java工程师同时负责Java和JS,则会相当痛苦。在协调上,开发组里面一个优秀的JAVA工程师可以很相对轻松地为新手设计好pattern,也比较容易纠正一个JAVA新手犯下的错误,而JS则很难。正因为如此,GWT应运而生。   GWT ...
Global site tag (gtag.js) - Google Analytics