niyue

Archive for the ‘learning’ Category

MIT OpenCourseWare

In learning on 1月 5, 2008 at 9:48 下午

MIT的OpenCourseWare可是个好东西,上面有不少的课程资源.以前曾经有段时间看过CLRS的视频就是在那个上面看的.上次看的时候是自己下载下来看的,avi格式的,非常大.目前最新的这个课程是2005的了,格式也已经变成rm格式的,需要在线观看.不过总是感觉在线看不爽,快进什么的都不太方便,于是就想下载下来看.直接使用下载工具下载在线播放的链接下不下来,去eMule上面找了下,只找到老的版本的视频.直接Google以后找到的办法来下载MIT OCW的rm视频:

Is it possible to save the RealPlayer video file to a disk or to my hard drive? 

顺便还找到了个地方 — MIT  iTunes U, MIT OCW上的很多课程都可以通过iTunes 商店找到,都是免费的,可是使用iTunes直接播放, Bingo~

Goodbye ink

In learningother on 8月 20, 2006 at 9:48 上午

前段时间帮同学写了一篇英语作文,主题是“信息时代传统书籍是否还有存在的必要”,今天整理的时候翻了出来,post到这里,立此存照。可惜字数要求在200字左右,很多东西都没写清楚,感觉没写够:-(

Good bye ink

With the advent of the Internet era, computers play a more and more important role in our life. Increasingly more information is delivered through the Internet rather than the traditional ink-based media, such as newspaper and books. In my humble opinion, the daily newspaper and books will be vanishing away, sooner than you think.
In such an information-exploded world, newspaper could not keep pace with the change of things. The zippergate scandal of Bill Clinton was unveiled by an unknown blogger, and the 9/11 attacks was mainly reported through thousands of sites in the Web. People are accustomed to acquire the latest news from their favourite websites rather than the newspaper they subscribed. Power has moved from the old elite to bloggers.
In the same era, more books are digitized. What are the advantages of digital books? Let me count the ways. I don’t have to decide what to take on holiday to read; I just take my whole library. Colour is free: it costs no more to produce a colour book than a black and white one. Publishing costs are really low, and amateurs can publish books just as easily as publishers can. Small language groups can afford to keep their literature available. There’s no need to go on. Although real books smell nice, it’s inevitable that they will be eliminated in the near future.
To sum up, our generation will finally witness the demise of these traditional media. It is with a mixture of great sorrow and joy, in the same time, it is signiture of social progress and is unavoidable to happen.

Vim extremely boosts my productivity!!!

In learningprogramming on 7月 26, 2006 at 3:53 下午

使用Vim大概半年时间了,终于可以算走过了Vim最陡峭的那段学习曲线,现在越来越感觉到它的效率了.今天使用vim完成的一个工作真正体现了这一点。

这次的工作是要比较两个列表中的人名,看列表一中的人名是否在列表二中,每个人名占了一行。如果用一般的编辑器可就麻烦了,只能用鼠标选中列表一中的某一行,然后Ctrl+C,然后Ctrl+F,然后Ctrl+V,然后Enter查找是不是有相同的字符串在第二个列表中也有出现。第一个列表一共大概有80个人,都要这样来一遍可是非常痛苦的一件事情。于是Google了一下找到了一个vim approach来完成,效率和准确率都提高了不少。我是这样做的:

  1. normal mode: q a
  2. 0 v $ h y j
  3. :%s/Ctrl+R  “/&/g Enter
  4. q

以后查找每一行只要按@a就可以知道在列表二里面是不是有相同的人,如果有会高亮显示并且跳到列表二的这个人名,再按一次n又回回到列表一,没有比这个更方便的更好的效果了:-)

不过要克服前面的这个学习曲线可是很累人的一件事情,不过相信vim会给你带来回报的~

learning curve

怎样做研究

In learning on 6月 6, 2006 at 5:15 下午

开始准备毕业论文了,不过根本没想好应该怎么来完成它.看了一些相关的指导性文章:

  1. 如何做研究?
  2. 如何做研究
  3. 做大事,成大业 YOU AND YOUR RESEARCH (节选)
  4. How to Write a Master’s Thesis in Computer Science
  5. How to Write a Greate Research Paper,非常好的一个slide,生动易懂
  6. Basic Steps in the Research Process,非常非常有用的网站,真希望能早几年看到

编写Firefox扩展

In learningprogramming on 1月 20, 2006 at 4:25 下午

最近想写一个Firefox的扩展用来自动的改变网站的编码,开始的时候想使用GreaseMonkey来做这件事情,似乎容易一些,但是稍微看了一些资料感觉可能无法实现,只能直接写一个Firefox的扩展来做这个事情了。

搜集的一些编写Firefox扩展的资料:

  1. How to write Firefox extensions using BugMeNot as an example
  2. How to create Firefox extensions中文翻译:如何创建Firefox扩展
  3. Writing an Extension for Firefox
  4. Firefox Extension Tutorial
  5. Extension development
  6. Building an Extension

SN元数据相关资料

In learningsemanticweb on 8月 18, 2005 at 1:01 下午

稍微看了一些关于现在正兴起使用的社会网络方面的元数据相关的资料,现整理如下:

  1. XFN(Xhtml Friends Network)基于Xhtml的朋友网络
  2. Why Attention.xml Could Change PR Forever
  3. Attention.xml初探

Google API与yahoo API

In learningprogramming on 5月 23, 2005 at 2:18 下午

这几天在做Agent的课程设计,这个MAS的原型是一个RSS的搜索引擎,我主要是做前端的一些东西,如用户界面等,比较麻烦的地方是Agent与web环境的交互,尤其是并发的问题.

由于后端的搜索同学还没有做好,所以要测前端的界面的时候要Mock一些数据来显示.由于同样是搜索,最先想到的就是调用Google的API获取一些数据到前端来显示.其实满早以前就试玩过一下Google的API,所以Licence Key什么都已经有了,现在只要下载一下api的sdk就可以了.不过发现Google的API网站居然下载不了(后面使用的yahoo的api sdk也同样下载不了),考虑到是否有可能被Great Firewall给禁止的问题,用了一个香港的代理服务器,果然可以了,sigh~

不过事情还没有结束,尽管下载了Google的API,但是用的时候发现报Connection Timeout的异常,连不上Google的Web Service,就连Google的API demo也一样连不上,怀疑是不是又被GFW给喀嚓了,于是就放弃了这个打算.不过到了晚上看新闻的时候,突然想起来yahoo也公布了自己的api给开发者使用,就又有了试一试的想法.yahoo的api和google大致相同(我只用过java的),所以很快就上手了,三下五除二就搞定了一段简单的搜索代码,效果看上去还不错呵呵,就是有一个问题,怎么每次得到的都是10个搜索结果??

学习Struts

In javalearning on 1月 28, 2005 at 2:34 上午

最近不断在看Struts方面的资料,应该说Struts已经是很成熟的一种技术了,在网上的相关介绍也是连篇累牍,但是看了能够增进理解有所帮助的还是比较难见到。下面是我觉得在Struts学习中对我有帮助的一些资料:

下面是我学习中遇到的一些困难及解决:

    • 在Tomcat上部署Struts的例子的时候碰到了问题,解决:Unable to find a javac compiler
    • 表单数据验证失败时发生错误,“No input attribute for mapping path”,原因是没有填写配置文件action中的input属性值。解决:Struts中不同的Action和ActionForm组合
    • 两次输入密码比较的验证,解决:Struts Validator: Validating Two Fields Match by Matt Raible. Howto article.开始漏看了最后一句重要的话,没看完就开始了,结果因为那个小问题浪费了两个多小时,真是不值得。
    • 实现下拉框时出现错误”Cannot find bean under name org.apache.struts.taglib.html.BEAN”。解决:JSP FAQ @ jGuru
    • 部署新的action时发生错误”No Action Instance for Path /CreateContent could be created”,开始在网上找了一下,发现大多数此类错误都是由于Action的type名称写错了,但是我仔细核对发现这里没有错,我的错误在于没有将Action的type类声明成public的!
    • 上面的数据验证的例子中采用的API调用已经被deprecated掉了,Struts 1.2用也还可以用,但是Eclipse里面会出来感叹号说不赞成使用ValidatorUtil和Resources.getActionError()方法,解决:Struts Upgrade Notes 11 to 124
    • 开了一个新的sample应用的时候,出现异常java.lang.IllegalArgumentException: Resources cannot be null.
      at org.apache.commons.validator.Validator.(Validator.java:188)
      后来发现是strut
      中没有添加validator插件,同时validation.xml文件和validator-rules.xml文件不存在
    • 使用Struts将应用分成为几个模块配置的时候,无论如何配置,一直出现找不到子模块中的action的异常,”Cannot retrieve mapping for action /mindforce/SubmitLogon”.后来发现原来是tab的链接没有通过action进行转发,而是直接写了要显示的jsp页面视图的url,因此struts进行模块间转换时无法自动识别,故action mapping找不到对应的action.正确的配置方法是:子模块中的action路径均填写模块下的相对路径,jsp页面中的action也填写相对于模块的路径而不要加上模块名称,struts会自动在模块切换时添加模块名.模块切换方法请见:5.3.3 Switching Modules

进行Struts开发时一些有用的工具:

    • Scioworks™ Camino

      Visual Modelling Tool for Struts

      Scioworks™ Camino is a visual modelling tool for Jakarta Struts Framework, the de-facto J2EE web MVC framework. Designed for rapid assembly of web applications, its unique visual drag-and-connect paradigm allows for rapid development and re-wiring of web application with minimal coding.

Exadel Struts Studio now supports Eclipse 3.0.x. This version includes design-time JSP Preview, JSP, CSS, JavaScript and XML Prompting with autocomplete functionality, Java debugging of Web applications under the Tomcat, JBoss and Sun J2EE SDK environment, and one-step adding of Struts support to J2EE projects created with other Eclipse plug-ins.

    • JamesHolmes.com

Struts Console

The Struts Console is a FREE standalone Java Swing application for developing and managing Struts-based applications. With the Struts Console you can visually edit JSP Tag Library, Struts, Tiles and Validator configuration files.

The Struts Console also plugs into multiple, popular Java IDEs for seamless management of Struts applications from one central development tool.

FWA Software‘s Visual Tags Dreamweaver extension suites for JSTL and Struts enable web developers to use Macromedia’s Dreamweaver MX web design and development product to

  • Visually design, implement, and maintain web pages for JSTL and Struts-based web applications
  • Rapidly prototype web pages for JSTL and Struts-based web applications
  • Exploit open source technologies with Dreamweaver to create JSTL and Struts-based web applications

文档文档

In javalearning on 12月 3, 2004 at 6:55 上午

今天看Pluto看了半天,一边对着Apache,一边对着developerWorks把两边找到的Pluto的资料加在一起看,还是没看懂怎么在Pluto上面部署portlet,相关的文档太少了,而且还不是最新的,看了两个多小时,连一个HelloWorld的portlet都没搞定,sigh,文档到用时放恨少~

What’s a methodology?

In learning on 12月 1, 2004 at 8:43 上午

看论文或者书籍的时候经常看到methodology这个词,只知道翻译成方法论,到底什么算是一种方法论确一直没有搞清楚,前段时间看paper的时候看到了Arnon Sturm的一篇文章Evaluation of Agent-Oriented Methodology,里面给出了我想要的答案:一种方法论包括了以下一系列的指导原则和活动:

we refer to a methodology as the entire set of guidelines and activities:

  • a full lifecycle process;
  • a comprehensive set of concepts and models;
  • a full set of techniques (rules,guidelines, heuristics);
  • a fully delineated set of deliverables;
  • a modeling language; a set of metrics;
  • quality assurance;
  • coding (and other) standards;
  • reuse advice;
  • guidelines for project management.

These are each associated with one of four major divisions: concepts and properties, notations and modeling techniques, process, and pragmatics.

一种方法论覆盖了开发生命周期中多个阶段:

Each methodology may have elements that are useful to several stages of the development life cycle. In this paper, the lifecycle stages are defined as follows:

• Requirements’ gathering is the stage of the lifecycle in which the specification(usually in free text) of the necessities from the system, is done.

• Analysis is the stage of the lifecycle that describes the outwardly observable characteristics of the system, e.g., functionality, performance, and capacity.

• Design is the stage of the lifecycle that defines the way in which the system will accomplish its requirements. The models defined in the analysis stage are either refined, or transformed, into design models that depict the logical and the physical nature of the software product.

• Implementation is the stage of the lifecycle that converts the developed design models into software executable within the system environment. This either involves the hand coding of program units, the automated generation of such code, or the assembly of already built and tested reusable code components from an in-house reusability library.

• Testing focuses on ensuring that each deliverable from each stage conforms to, and addresses, the stated user requirements.