Ubuntu下使用Tasksel安装LAMP

做个笔记,在Ubuntu下使用tasksel安装LAMP。环境是Virtual Box + Ubuntu 11.10 + 10G硬盘 + 1G内存 + 无限CPU。

最近开始学习搞服务器,各种不会,哎呀,学习的快感还满足的。

做个笔记,在Ubuntu下使用tasksel安装LAMP。环境是Virtual Box + Ubuntu 11.10 + 10G硬盘 + 1G内存 + 无限CPU。

继续阅读“Ubuntu下使用Tasksel安装LAMP”

使用Aptana进行基于jQuery框架的开发

Aptana Studio 3.0.5之后,可以通过Commands > Install Bundle > jQuery来增加对jQuery的引用。

慢慢的,Aptanta Studio已经升级到3.0.6,新版本具体更新哪些内容我也没在意——我只是追新而已——不过我终于发现了增加类库支持的方法。

Aptana Studio 2.0的时候,要使用什么类库就直接添加引用(Reference)就好了,非常方便;和其它开发工具同类型的操作方式也很相似,用起来很舒服。可是3.0升级后取消了这一功能,搞得大家很不适应,开发者承诺会让这个功能回归,结果确是另一副样子:添加对应sdocml文件到项目当中,而且得是物理添加,但是在我的环境中怎么搞都不成功。

从3.0.4起Aptana增加Start Page,介绍一些Features和Bug修复信息。我就是从里面的“Adding JavaScript libraries to your projects”了解到上面功能的。这次升级后我随手点开,发现“JavaScript Library Support”指向的是另外一个地址,里面提到,从3.0.5之后,可以直接通过添加包的方式来增加jQuery类库支持,方法如下:

  1. Commands > Install Bundle > jQuery
  2. 右击项目,选择Properties > Project Build Path,然后勾上jQuery 1.6.2的复选框
这样操作起来简单得多了。
PS:3.0.6之后,不再需要步骤2
PS2:在“Install Bundle”时我还发现其它一些包,比如WordPress和Github,有机会试用一下。

Flash Player 11 找不到JSON?

想试用FP11的新API,需要Flex 4.5.1,并且在编译的时候增加参数-swf-version=13

2011-11-23 更新

需要使用FP11中的新API,使用Flex 4.5.1默认编译仍然不行,必须在编译时增加参数:-swf-version=13,强制mxmlc输出13版本的swf文件。

在FD里面,应该右击项目 > Properties > Compiler Options > Additional Compiler Options > 添加参数,保存。

之后,编译通过,测试通过。


继续阅读“Flash Player 11 找不到JSON?”

Flash Player的TextField自动缩放机制

Flash Player在处理文本时,出于效率考虑,不会随时根据代码来调整文字排版——据我所知文字排版消耗非常大——而是在添加到显示列表或每一帧结束时再做处理。

今天发现一个问题,先详细描述一下我的需求:

  1. 显示一段文字,文字字数不定,但文本框长度有限,短于限制则完全显示,超过限制则截断只剩一行,并续以“…”
  2. 必须应对多语言环境,比如中文、英文、俄文等

继续阅读“Flash Player的TextField自动缩放机制”

禁用鼠标滚轮事件

Firefox下,想阻止浏览器默认行为,return false是不够的,还需要 evt.preventDefault 和 evt.stopPropagation。

接到一个需求,要在flash里面使用鼠标滚轮控制壁纸地板的替换,这本身是一个小需求,但是在网页测试中发现滚动鼠标滚轮时,网页也会跟着滚动,这样鼠标就没法固定在滚动元件的上面,对用户体验造成了不良影响。

继续阅读“禁用鼠标滚轮事件”

给URL加上合理的“/”收尾

var tail = url.substr(url.lastIndexOf(‘/’) + 1);
if (tail != ” && tail.match(/\.(s?html?|php|asp)/) == null && tail.charAt(tail.length – 1) != ‘/’) {
url += ‘/’;
}
return url;

Astinus 0.2版升级过程中,有一个Feature是这样的:

小雷的数据源只能识别如“http://www.zol.com.cn/”的请求,前面必须有http,后面必须有“/”。我的目标是无论用户输入什么,都能得到正确的结果。

开始想的比较简单,直接就这么写了

function correctURL (str) {
  var tail = url.substr(url.lastIndexOf('/') + 1);
  if (tail.indexOf('?') == -1 && tail.charAt(tail.length - 1) != '/') {
    url += '/';
  }
  return url;
}

写这段代码时已过午夜,脑子比较糊涂,次日中午反应过来,赶紧修改,经过反复调试,得到正确结果:

function correctURL(str) {
  var tail = url.substr(url.lastIndexOf('/') + 1);
  if (tail != '' && tail.match(/\.(s?html?|php|asp)/) == null && tail.charAt(tail.length - 1) != '/') {
    url += '/';
  }
  return url;
}

顺便说下,Chrome的JavaScript控制台在调试时真好用。另外,将来也要考虑采用测试驱动的方法来写JS了。

不推荐使用TortoiseGit 1.7.2版

我很喜欢尝鲜,所以看到TortoiseGit升级到1.7.2版之后就兴冲冲跑去升了级,结果出现一个bug折腾到现在,终于还是放弃了。装回1.6.5之后一切正常。鉴于google到的资料(尤其是中文)非常有限,所以不建议大家安装最新版。

我很喜欢尝鲜,所以看到TortoiseGit升级到1.7.2版之后就兴冲冲跑去升了级,结果出现一个bug折腾到现在,终于还是放弃了。装回1.6.5之后一切正常。鉴于google到的资料(尤其是中文)非常有限,所以不建议大家安装最新版。

PS:这会儿(2011-08-22 22:26)发现Google Code上1.7.2的下载链接已经去掉了,想必官方也发现了这个致命bug。

PS2:官方已经发布了1.7.3版,修复了我所说的这个bug,可以试用。

继续阅读“不推荐使用TortoiseGit 1.7.2版”