看到这篇来自 IBM 的文章标题中出现“有限状态机”,顿时觉得非常亲切,大学的时候有门课叫《编译原理》,其中就讲到有限状态机,基本都忘的差不多了,呵呵。
JavaScript 中的有限状态机,第 1 部分: 设计一个小部件
有限状态机很早就已用作设计和实现事件驱动的程序(比如网络适配器和编译器)内复杂行为的组织原则。现在,可编程的 Web 浏览器为新一代的应用程序开辟了一种全新的事件驱动环境。基于浏览器的应用程序因 Ajax 而广为流行,而同时也变得更为复杂。程序设计人员和实现人员能够大大受益于有限状态机的原理和结构。本篇文章将向您介绍如何使用有限状态机来为一个简单的 Web 小部件 —— 一个能够淡入和淡出的工具提示 —— 设计复杂的行为。
本系列的第 2 部分将描述如何在 JavaScript 内实现此设计,以及如何充分利用 JavaScript 独特的语言特性,比如关联数组和函数闭包。第 3 部分则会涵盖如何使此实现能够在所有流行的 Web 浏览器中正常工作的内容。最终的代码紧凑简练,逻辑清晰透明,动画效果即使在负载极重的处理器上也能平稳流畅。
已经搬到新办公室有两周了,今天才想起来拍几张照片。

窗户往外正好看到我们以前的办公室所在地--双子座大厦。

我的办公桌,很宽,暂时还没有什么东西可放,只放了 MacBook Pro 在台上,呵呵。

美工用的大显示器。

Apple Mini,麻雀虽小,五脏俱全,CPU、内存、硬盘都在这个小小的机器里头。

Apple iMac,看似一个显示器,实际上显示器里边集成了 CPU、内存、硬盘,光驱在侧面,还带一个和 MacBook Pro 一样的遥控器。
我们现在急切需要 PHP 开发人员,如果你正在寻找工作,谋求发展机会,那请不要犹疑,加入我们吧。
中级程序员
CakePHP、MySQL、Apache、AJAX、SVN/CVS、JavaScript、CSS、HTML
初级程序员
Joomla、MySQL、JavaScript、CSS、HTML
此外,需要有一点英文基础,公司会提供英语培训。
公司介绍请看:http://www.dianjingkeji.com
有意向的同学可以将 中英文 简历发到 hr#dianjingkeji.com(请将 # 号换成 @)。
Synchronizing a Web Client Database: LocalCalendar and Google Calendar
Rich Internet Applications (RIAs) are becoming more and more popular as the capabilities available to internet clients increase. There is a growing demand for RIAs to be able to store rich, structured, searchable data on the same machine as the web browser, and to be able to synchronize this data with a centralized data store running behind the web server.
Thickbox - 基于 jQuery,支持 AJAX,轻量级的而且比较高效。可以在 lightbox 中使用图片或 HTML。大小约为 40k,目前还可作为 WordPress 的插件使用。
GreyBox - 创建 iframe 的弹出界面,可使用图片、HTML 及 URL,大小约为 20k。
GreyBox Redux - 基于 jQuery,比 GreyBox 更轻。
Lightbox v2.0 - 最初是为了显示图片设计的,使用了 prototype 和 sciptaculous,所以有些沉重,但对于图片来说很好用。
Lightbox with moo.fx - 基于 prototype,但只能用于图片。
Lightbox Gone Wild - modal 模式窗口的 lightbox,可使用 html、表单及图片,也是基于 prototype 的,所以有一些 heavy。
Multi-faceted LIghtbox - 又一个基于 prototype 的,不过这个为各种可用于 lightbox 的数据类型提供了选项。
Leightbox - 和 Lightbox Gone Wild 很相似,只是 Leightbox 以 html 方式存放内容,所以可以被搜索引擎索引到。
xilinus - 使用简单,基于 prototype,很容易定制,可使用多种内容选项。
Lightbox Plus - 可以自动根据窗口的大小缩放图片。
Suckerfish Hover Lighbox - 和传统的 lightbox 不一样,它在打开 lightbox 的时候,还可以点击访问页面上的其它元素。
Litebox - 这是 Lightbox 的另一个版本,代码量减少了,使用了 moo.fx 和 prototype-lite,如果页面需要减肥的话,可以选择这个。
LITBox - 使用类写的 lightbox,所以可以创建多个对象实例,并且单独进行控制。基于 Thickbox。