2009年2月5日星期四

考虑使用UberNote代替Google Notebook

刚刚发现一款新的Web应用:Ubernote
  • 展现方式同Google Notebook非常相似
  • 采用了不分层的Tag方式进行管理
  • 可以对Note进行所见即所得的富文本编辑
  • 可以多人合作共享Note
  • 有浏览器插件,可以直接抓取网页。而且插件很丰富:Toolbar, Clip, Bookmark, Snap
  • 居然能够直接从Atom导入现有的Google Notebook内容。
  • 缺点是对于每一个Note不能折叠显示。
所以真的可以考虑切换过去?

另一个可选的替代方案是:TiddlyWiki + Clipmarks,只是Clipmarks的速度比较慢。

2009年2月4日星期三

Google Notebook的备选替代品

Google Notebook停止开发了。虽然现在还能够使用,但是还是需要准备一些备选产品了。另外,Google Notebook的功能一切都好,唯一的问题是,不能存储网页篇幅很大的文章。
替代品列表:
  1. Office OneNote 2007:非常好的产品,文字编辑非常灵活方便,支持表格。分类清晰,功能强大,能够直接抓取网页。不能支持在线同步,但是只需要配合Dropbox就可以完美解决。唯一的问题是商业产品,需要收费。另外只能基于Windows平台。
  2. Evernote:也是业界很出名的产品。Tag方式的管理,支持全文搜索,能够直接抓取网页。有在线同步功能,同时还有桌面客户端。
    缺点是:体积庞大,免费版本每月有数据量的限制。并且不支持表格,编辑功能稍弱,不够灵活。
  3. TiddlyWiki:体积小巧,功能灵活。基于Tag方式管理,可以安装第三方插件。开源。支持UBB方式的自定义格式,非常方便。配合Dropbox可以实现在线同步。单一的HTML文件,所以跨平台。
    缺点是:不支持直接抓取网页。
现在看,TiddlyWiki的方式很好。所以正在寻找能够直接抓取网页并能够在线同步的工具进行配合使用。

对面向对象以及极限编程新的理解

传统的面向过程的开发是自顶向下逐步细化的过程。这是非常符合人们习惯的思维方式的。所以自然由需求分析->概要设计->详细设计->编码->测试->发布的瀑布模式成为了最规范的软件过程。
面向对象的开发是自底向上的过程。在这样的过程中,往往是先实现已经了解的局部。逐渐的随着过程的推进,系统的全貌浮出水面。而基于面向对象开发的特点,在这个过程中,前面的工作成果往往能够很好的进行复用,重构的成本也很低。自然而然的,开发的过程会形成多次的迭代。但是,在这个过程中,最重要的是需要按照面向对象的思维方式进行设计与开发。

基于上面的认识,在回顾XP的各项原则会发现,以前认为不现实的内容其实都是顺理成章的事情了。唯一的问题仅仅是现场客户的问题,不过这个在一定的程度上 面也能够克服。由此可见,当深入了解了面向对象的开发的精髓之后,XP的各项原则实际上都是面向对象过程的一些内在的需求而已。

极限编程的12个原则:
  1. 计划的制定
  2. 小版本
  3. 简单设计
  4. 测试驱动
  5. 持续整合
  6. 重构
  7. 配对编程
  8. 代码共享
  9. 每周只工作40小时
  10. 现场客户
  11. 隐喻
  12. 编码标准