- 使用 Ant 进行自动化处理时,不想记住每一个 target 的名称,而是让默认的 target 列出需要的 target 出来,让用户输入名称或数字选择执行哪个 target。这样做自然是多了一步,有时候确也方便不少,但 Ant 还是有个缺点,它不能持久性的保持在 Ant 控制台下,持续的进行用户交互。
对于实现 Ant 的简单用户交互,我们可以借助于两个 Task,input 和 antcall, input 用来提示用户输入值,再根据 input 设定的属性来确定 antcall 调用哪个 target。执行完退出到系统 Shell 下,想要再来,就再执行一下 ant 吧,我也只能做到这一步了。
看下面的例子 build.xml 内容 Read More - Emacs 默认的样子总觉不怎么可爱,所以想要找个主题来装饰一番。试过 http://www.emacswiki.org/emacs/ColorTheme 介绍的办法,从这里下载 http://www.nongnu.org/color-theme 主题文件,并且在 ~/.emacs 中添加了以下几句话:
(require 'color-theme)
重启 Emacs 后不能发现界面有变化,但是在 Emacs 中可以用
(color-theme-initialize)
(color-theme-robin-hood)M-x color-theme-select看到装载进来的主题,M-x color-theme-hober执行后也能看到应用上了这个主题,就是无法持久到下次 Emacs 运行。再次试验了ColorTheme 提到的多种方法都不奏效。
好像是因为我安装的是 Emacs 24 的版本,它有自己的默认主题deftheme, 和其他备选主题,M-x customize-themes可以看到下面这样的界面 Read More - 本人博客几经周折,最初 BPS,到独立的域名、空间,每一次也是为向更自由的管理迈进一步。现在终于搞了个 VPS,不过是在美国的,慢是慢了点,不过自己想怎么弄就怎么弄,现也无需经常性的找客服了。
VPS 是 768M RAM, 1536 的交换空间,40G硬盘空间,2500G带宽,两固定 IP,其实我只要一个就行了。服务器是在我所在的城市,所以管理起来应该要快些,至少感觉会有点。
基于系统资源和稳定性的考虑,我选择了 Debian 系统,Ubuntu 就是基于它的。在一个干净的系统上要搭建 Wordpress 需要预先准备好 Apache2+PHP5+MySQL5 这样的环境,Apache2 是以 worker 模式运行,PHP 是 FastCGI 方式,Wordpress 连接 MySQL 可以本地 Socket 方式。下面是步骤:一. 系统设置
配置时区,方便查看日志能对应上你当地的时间#dpkg-reconfigure tzdata
选择相应的城市,这步会修改 /etc/timezone 和 /etc/localtime 文件 Read More - 在 Apache 应用的目录中有 .htaccess 文件来进行重定向,目的是实现省略扩展名 .php 来访问相应的 php 文件,例如用 url
http://localhost/unmi/forgotPassword 来访问 http://localhost/unmi/forgotPassword.php
.htaccess 文件的内容是:RewriteEngine on
结果访问 http://localhost/unmi/forgotPassword 时出现错误:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
实际上文件 /data/unmi/forgotPassword.php 是存在的。这就奇怪了,怀疑过是文件权限的问题(Mac 平台),改成 755 也不行。也经为是 AllowOverride 的问题,可它的值我设置成了 All 啊,又不是 None,应该不是症结所在。Not Found
The requested URL /data/unmi/forgotPassword.php was not found on this server.
费了一番功夫也明白了我是配置了别名来访问应用的,在 Apache httpd.conf 中是这样定义的别名: Read More - JDK8 都快要出来了,在 JDK 5 中仍有许多好宝贝值得去挖掘。提到 JDK5 我们或许只知道它给了我们泛型,其实还有那个并发包 java.util.concurrent 却不那么引人注目,其实就是 NIO。
若是并发包是在某个 JDK 版本中单独奉上,反响就不同了,想想 JDK 6 似乎未带来多少改变--至少对于编程者来说没有明显感受。java.util.concurrent 包中的东西对于我们处理线程带来了很大的便利,例如线程池,线程同步,Future, Callable 等。
这里我记录一下 CountDownLatch 的使用,在此之前在处理
线程 A 等待线程 B,C,D 全部执行完后才继续执行 (比如要每个线程都访问一个 Web 服务,等所有的请求响应成功后进行结果处理)
这样场景的时候,我一般能想到的办法是,初始一个计数器,线程 B,C,D 各自初始化的时候,计数器加一,然后 A 线程等待,每个线程执行完后计数器减一,当计数器为 0 时表明所有任务执行完毕,就通知 A 可以开始运作起来。但这样的方案还是得小心的处理好同步的问题。 Read More
In this article,We are providing the best tutorials of Autocomplete in jQuery , ajax autocomplete and autosuggest with examples. jQuery Autocomplete an input field to enable users quickly finding and selecting some value, leveraging searching and filtering.In these days every body want fast and instant search,for this reason many popular search engines like google are using this feature ajax autocomplete.Combination of Php,ajax and jQuery autocomplete gives some extra feature to autosuggest.1. Ajax AutoComplete for jQuery
Ajax Autocomplete for jQuery allows you to easily create autocomplete/autosuggest boxes for text input fields. Built with focus on performance – results for every query are cached and pulled from …
Read More我最爱在 Mac 下用 TextMate 了,2.0 后 TextMate 可免费使用了。在 http://macromates.com/download 上目前提供有 1.5.10, 1.5.11 和 2.o alpha。而且还开源了,见 https://github.com/textmate/textmate。但 2.0 之前的版本要用的话仍是需要注册,TextMate 2.0 还是自动更新的,可在 http://macromates.com/download,也可在 https://github.com/textmate/textmate/downloads 下载。
本来可以用 TextMate 2.0 挺好的,可是在 2.0 安装 Scala 的 Bundle 后,即使为它设置了 SCALA_HOME 仍是无法在 TextMate 中运行 Scala 程序,于是不得已为这个还得用 TextMate 1.5.11 了。
在此附上 Scala 和 Play2 的 Bundle 的下载安装方法:
$ git clone git://github.com/mads379/scala.tmbundle.git; open scala.tmbundle
$ git clone git://github.com/drewhjava/Play2.tmbundle.git; open Play2.tmbundle
使用 TextMate 是必须注册的,否则只能试用 30 天,从网上找来注册方法: Read More通常在使用 AspectJ 时都是基于识别方法的规则来进行方法拦截,例如切片里这样写@Pointcut("execution(* *..StockService.getBaseInfo(..))")它拦截到的是以 StockService 结尾的,方法名为 getBaseInfo,参数任意,返回值任意的方法。而我这里要说的一种方式是基于自定义注解来拦截方法的,此处的注解不是指 @Aspect, @Pointcut, 或 @Before 那一堆东西,而是指你可以自定义一个注解,如 @cc.unmi.testaspectj.MonitorMethod,被它所注解的方法即被拦截,像:
@cc.unmi.testaspectj.MonitorMethod
public void foo();
这可以给我们很大的自由度来快捷控制哪些方法需要被拦截,加个上面的注解 @MonitorMethod 即可,而不像从前那般要想像用什么规则去匹配某个方法,用 || 连接起来,同时还要防止影响到别的不期望被拦截的方法。
需要的代码并不多,四步,创建自定义注解类 MonitorMethod, 需被拦截的方法加上 @MonitorMethod,方面类,测试类。 Read MoreAndroid 既然是开源的,那么我们开发时自然会想要得到一份它的源代码,这大大有助于我们更好的深入理解这个平台,更快捷的定位程序出错的根源。当然对于国内那些想自主研发 Mobile OS 的厂商来说,下载 Android 源码是步骤是不可或缺的。
我在标题中为什么要加上说是适合于各种平台呢,因为大概不少的地方都专门说在 Linux 下怎么去下载 Android 源代码,好说 Windows/Mac 下就不是那么回事似的,其实并无区别。
官方在说明怎么下载 Android 源代码(http://source.android.com/source/downloading.html) 的解说中也挺啰嗦的,不光要 git,还要 repo sync 来同步。
其实不管是什么平台,只要有 git 客户端就行了。想要下载哪个版本的 Android 源码,先在浏览器里打开 https://android.googlesource.com/platform/frameworks/base,就能看到在 Tags 下有什么版本的源码可下载。如图: Read More