Spring MVC 框架

spring-mvc-flow 

未分类 Comments(6) 2010年2月10日 23:29

听牛人介绍英语学习方法

网络时代学英语其实很简单,但是大部分人花在找英语学习资料上的时间比学英语本身还多,下面是我自己的一些结合网络学习的方法,信不信由你,我三年间从四级勉强及格到高级口译笔试210,口试232。找工作面试时给我口试的老外考官听我说了一分钟就说你的英语不用考了。我不敢说我的方法一定是最好的,但是我敢保证从现在开始随便谁不要再去找学习资料,每天花两个钟头照我说的做,坚持三个月的提高会超过你过去三年。 

不废话了,就按照听说读写一个个来。 

听: 
网上比较有代表性的论坛是普特 www.putclub.com 上面的听力资源很丰富,沪江 www.hjenglish.com 和旺旺 www.wwenglish.com 上的一些材料也很不错,从中间随便挑一个网站坚持即可。但是千万不要一个个都听过来。记住,开始阶段100篇文章听一遍,不如一篇文章听100遍。如果基础比较弱,那么每天慢速VOA(大概比四级听力稍难一些)听两篇,每篇10遍以后再看原文,弄清楚每个单词的意思,看完以后再听10遍以上。保证两周以后你回去听四六级听力会很不耐烦。过了慢速就可以听常速了,还是精听为主泛听为辅。 

常速还不过瘾,可以去找talkshow来听,譬如Saturday Night,在优酷或者土豆上都有。 

不要问这样做有没有效果,我坚持了三个月,以后看美剧大部分时间不需要看字幕。 

顺便说下论坛的作用,上论坛不要问这个词什么意思这类低级问题,不要指望别人替你查字典,别人的时间也是时间。但是一个句子弄不懂,就不要自个儿纠结了,尽管去问。另外要懂得投桃报李,有能力也尽量去回答别人的问题,教学相长。 

说: 
说起来很奇妙,我起初也只是打算先过听力关,按照上面的步骤坚持了3个月,不过在听的同时跟着读,后来因为听的太烂太无聊,会跟着录音一起背,两个月下来发现开口说英语变成了很自然的事情。回头来看,英语的口语真的是看似入门很难,但是真的进去了也就那么回事。不过高口训练的英汉对译还是很有用的,实际上拿新概念的材料就可以做,无非是看这英文说汉语看着汉语说英文,然后再对照原文进行纠正。 

再强调一下,我不是生来语言高手,四级考了两次,现在周围人觉得我英语很牛,实际上只要我的方法谁都能学会,看你能不能坚持。 

读: 
读的一个基础是单词量,单词不够的话读书是痛苦不是享受。四级单词是最最最起码的要求,有了四级基础,语法还凑合的话,建议直接看上国外报纸网站看文章,建议看经济学人,www.economist.com,或者纽约时报 www.nytimes.com 每天不要看多,看一篇就够了。开始碰到生词会很多,感觉很难受,但是一定要坚持,碰到所有不会的单词,都要记下来弄懂。 

碰到不会的单词怎么办,查谷歌字典 http://dict.google.com,或者 韦试辞典的在线版www.merriam-webster.com/ 

单词如果今天记住明天忘怎么办,最简单的办法,找本专门的本子记下来,不要大本子,要可以随身带的那种;如果能经常上网,也可以试一下一起背单词这个网站 www.17bdc.com,可以让你在线背单词,跟本子比最大好处就是不怕学习记录丢了,而且它有记忆曲线的功能可以提醒你复习。 

再说一点,英语阅读材料中,最简单的是专业文章,其次是新闻,最难的是小说。我花了一年多时间就毫不费力的可以读懂纽约时报,但是很久以后才能勉强读完Da Vinci Code。但是真的读完一本几百页的小说,带来的成就感是读几篇文章难以比拟的。 

写: 
这个其实要看个人目标了,如果是达到和他人书信email交流的目的,其实前面3个步骤下来,写已经完全不是问题了。 
如果还要追求文笔,可以去看看华尔街日报中文版http://www.cn.wsj.com/ 上的双语内容,可以通过比较来学习如何用于英语来进行正确和优美的表达。另外译言www.yeeyan.com 也是不错的选择。 

如果你的目标是普利策奖或者诺贝尔文学奖,那,大哥,你根本不该浪费时间看我这篇文章......

english Comments(1) 2009年12月12日 21:48

VIM常用命令

          1、移动及跳转:

                   :n 跳转到n行,n表示行号

                   nG 跳转到n行,n表示行号

                   CTRL-] 跳转到当前光标所在单词对应的主题

                   CTRL-O 回到前一个位置

                   h

                   j

                   k

                   l

                   W 向前移动一个word

                   b 向后移动一个word

                   $ 命令将光标移动到当前行行尾

                   ^ 命令将光标移动到当前行的第一个非空白字符上

                   0 命令则总是把光标移动到当前行的第一个字符上

                   fx 在当前行上查找下一个字符x

                   % 跳转到与之匹配的括号处

                   gf 命令方便地跳转到光标下的文件名所代表的文件中

                   `. 跳转到最近修改过的位置

                   `` 跳转到最近光标定位的位置

                   m{mark} 将当前光标下的位置名之为标记{mark},从az一共可以使用26个自定义的标记

                   `{mark} 跳转到一个你定义的{mark}标记

                   50%mF 到文件的半中间("50%")处设置一个名为F的全局标记

                   G 光标定位到最后一行上

                   gg 光标定位到第一行上

                   50% 光标定位在文件的中间(扩展到任意的数字)

                   H 光标定位在显示屏的第一行

                   M 光标定位在显示屏的中间

                   L 光标定位在显示屏的最后一行

                   CTRL-U 命令会使文本向下滚动半屏

                   CTRL-D 命令将窗口向下移动半屏

                   CTRL-F 命令将向前滚动一整屏(实际上是整屏去两行)

                   CTRL-B 命令将向后滚动一整屏(实际上是整屏去两行)

                   zz 命令会把当前行置为屏幕正中央(z字取其象形意义模拟一张纸的折叠及变形位置重置)

                   zt 命令会把当前行置于屏幕顶端(t意为top)

                   zb 命令会把当前行置于屏幕底端(b意为bottom)

                   :jumps 列出关于你曾经跳转过的位置的列表,你最后一个跳转的位置被特别以一个">"号标记

                   :marks 列出自定义的标记,包含VIM内部自定义的标识

         2、搜索

                   / 命令可用于搜索一个字符串,在键入的过程中还可以用箭头键和删除键进行移动和修改

                   ? 命令与“/”的工作相同, 只是搜索方向相反

                   n 继续搜索下一个字符串

                   N 命令与“n”的工作相同, 只是搜索方向相反

                   * 向下完整匹配光标下的单词

                   # 向上完整匹配光标下的单词

                   g 向下部分匹配光标下的单词

                   Ctrl-P 向前搜索可匹配的单词并完成

                   Ctrl-N 向后搜索可匹配的单词并完成

                   :set ignorecase 设置忽略大小写

                   :set hlsearch 高亮显示搜索结果

                   :set incsearch 键入目标字符串的过程中Vim就同时开始了搜索工作

                   :set nowrapscan 会使搜索过程在文件结束时就停止

         3、编辑(新增、删除、移动、复制)

                   x 代表dl(删除当前光标下的字符)

                   X 代表dh(删除当前光标左边的字符)

                   D 代表d$(删除到行尾的内容)

                   C 代表c$(修改到行尾的内容)

                   s 代表cl(修改一个字符)

                   S 代表cc(修改一整行)

                   diw 删除当前光标所在的word(不包括空白字符),意为Delete Inner Word

                   daw 删除当前光标所在的word(包括空白字符),意为Delete A Word

                   dG 删除当前行至文件尾的内容

                   dgg 删除当前行至文件头的内容

                   cis 修改一整个句子,意为change Inner Sentence

                   R Vim进入replace模式,在此模式下,每个键入的字符都会替换掉当前光标下的字符

                   p 取回被删除的内容,可以使用命令记数(Vim中这叫put)

                   P "p"一样取回被删除的内容, 不过它把被取回的内容置于光标之前

                   yw 复制一个word,同样可以使用命令记数,c表示change而不是copy

                   yy 复制一整行

                   y$ 复制当前光标至行尾

                   ~ 改变当前光标下字符的大小写

         3、在vi中替换字符串:

                   :s/vivian/sky/ 替换当前行第一个viviansky

                   :s/vivian/sky/g 替换当前行所有vivianskyg表示global

                   :n,$s/vivian/sky/ 替换第n行开始到最后一行中每一行的第一个vivianskyn为数字

                   :n,$s/vivian/sky/g 替换第n行开始到最后一行中每一行所有viviansky

                   :.,$s/vivian/sky/g 替换当前行开始到最后一行中每一行所有viviansky

                   :%s/vivian/sky/(等同于 :g/vivian/s//sky/ 替换每一行的第一个 vivian sky%表示所有行

                   :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g)替换每一行中所有 vivian sky

                   :s#vivian/#sky/# 替换当前行第一个vivian/sky/,可以使用#作为分隔符,此时中间出现的/不会作为分隔符

                   :3,$s/^/some string/ 在文件的第一行至最后一行的行首前插入some string

                   :%s/$/some string/g 在整个文件每一行的行尾添加some string

                   :%s/\s\+$// 去掉所有的行尾空格,“\s”表示空白字符(空格和制表符),“\+”对前面的字符匹配一次或多次(越多越好),“$”匹配行尾(使用“\$”表示单纯的“$”字符)

                   :%s/\(\s*\n\)\+/\r/ 去掉所有的空白行,“\(”和“\)”对表达式进行分组,使其被视作一个不可分割的整体。

                   :%s!\s*//.*!! 去掉所有的“//”注释

                   :%s!\s*/\*\_.\{-}\*/\s*!!g 去掉所有的“/* */”注释

         3、文件处理

                   :w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1

                   :20,59w /tmp/1 或者仅仅把第2059行之间的内容存盘成文件/tmp/1

                   :X 文件加密,会提示输入密码。

                   vim -x exam.txt 新编辑的文件加密,会提示输入密码。

                   vim -R file 只读方式打开文件。

                   vimdiff main.c~ main.c 显示两个文件的不同之处

                   :args 显示文件列表

                   :n 切换到文件2 (n=next)

                   :N 切换回文件1

                   :scriptnames 显示VIM加载的vimrc

                   VIM命令的固定模式: 操作符命令+位移命令

                   :version 显示VIM版本信息,包含特性、编译方式及配置文件目录

                   :map 列出当前已定义的映射

                   :options 打开一个新窗口, 在该窗口的最开头的注释下面是一个选项列表

                   :help E37

         5、常用快捷方式:

                   .”:重复上次的修改命令

                   Ctrl-X Ctrl-L”:搜索可匹配的行并完成

                   Ctrl-X Ctrl-F”:搜索可匹配的文件名并完成

                   Ctrl-G”:显示文件名,当前光标所在行的行号,总的行数,以及当前行所在文件中的百分比和当前光标所在的列的信息

                   ZQ”:无条件退出

                  ZZ”:(存盘退出)

                  ga”:显示光标下的字符在当前使用的encoding下的内码

                 :%!xxd”:以十六进制显示

                 :%!xxd -r”:从十六进制返回显示文本方式

                 guw”:光标下的单词变为小写

                gUw”:光标下的单词变为大写

                xp”:左右交换光标处两字符的位置

               ddp”:上下交换光标处两行的位置,p命令把它取回来(Vim中这叫put)

               J”:两行合并为一行, 也就是说两行之间的换行符被删除了

               u”:撤消上一次命令

               Ctrl+R”:重做上一次命令

               o”:在当前行的下面另起一行, 并使当前模式转为Insert模式

  6、执行外部命令:

               :!命令”:可以在 Vim 中执行一个外部命令

                   :r!”:命令可以在外部命令执行的结果插入到当前编辑的缓冲区中

                   :%!nl”:要对包含空行的所有行进行编号

                   :!echo $VIMRUNTIME 显示VIM的目录(/usr/share/vim/vim63

                   vimtutor 显示VIM30分钟的教程

         7set选项:

                   :set list 查看制表符,现在每个制表符都会以^I显示. 同时每行行尾会有一个$字符。

                   :set key= 去掉文件加密。

                   :syntax enable 打开彩色

                   :set number? 显示number的值

                   :set number& 恢复选项的默认值

                   :set autoindent Vim在开始一个新行时对该行施以上一行的缩进方式

                   :set showcmd Vim窗口的右下角显示一个完整的命令已经完成的部分

                   :set autowrite 设置自动存盘

                   :set backup 设置备份,生成的备份文件名将是原文件名后面附加一个~

                   :set backupext=.bak 设置备份文件名后辍

                   :set fileformats=unix,dos 自动识别UNIX格式和MS-DOS格式

                   :set display=uhex 二进制文件中很多字符都是不可打印字符,以十六进制格式显示这些字符

 

p.s. 1. 如何让vi显示行号?

      a:在/etc/vim/vimrc文件末尾加上set nu

 

linux Comments(1) 2009年12月12日 04:16

Ubuntu下Totem视频播放(rmvb等)

$ sudo apt-get remove totem-gstreamer
$ sudo apt-get install totem-xine libxine1-ffmpeg libxine1-gnome libxine1-plugins libxine1 libstdc++5
$ sudo apt-get install w32codecs

linux Comments(1) 2008年11月23日 07:02

Google Toolbar for Firefox 3

http://dl.google.com/firefox/google-toolbar-ff3-win.xpi

http://dl.google.com/firefox/google-toolbar-ff3-linux.xpi

google Comments(1) 2008年7月30日 07:06

Ubuntu(LinuxMint)的几个设置

几条有用的Ubuntu设置,每次重装系统都得上Ubuntu中文论坛找一番,现在把它们记录下来,以后就不用现找了,呵呵!

  1. 默认的桌面上总是会显示我的电脑、家目录、加载的分区卷图标,想把这些去掉,可以这么来:终端输入
    gconf-editor
    到/apps/nautilus/desktop/分支下,可以看到诸如volumes_visible,trash_icon_visible,home_icon_visible,computer_icon_visible这样的属性项,只要修改复选框的值,就可以设定是否在桌面上显示这些图标。
  2. 在右键菜单中加入“打开终端”
    sudo apt-get install nautilus-open-terminal
  3. 删除回收站中无法删除的文件
    Ubuntu 8.04:
    cd ~/.local/share/Trash
    sudo rm -r *
  4. 删除旧的linux内核
    查看当前系统使用的内核:
    uname -a
    列出当前内核,带image的是已经安装的内核:
    dpkg --get-selections|grep linux
    删除旧内核:
    sudo apt-get remove linux-image-2.6.24-18-generic
  5. 删除多余的scim输入法
    输入法码表的位置在/usr/share/scim/tables,而智能拼音的码表不在里边,如果只需要用智能拼音,则可以将这个文件夹删除:
    sudo rm -R /usr/share/scim/tables

     

 

 

linux Comments(1) 2008年6月18日 07:39

LinuxMint + openSuse + Windows的生活

电脑:HP Compaq V3706TX

Intel Core2双核CPU,2G 内存,独显 NVidia 8400M,120G硬盘。

自带的Windows Vista,除了系统经常会假死和崩溃以外,界面还是挺华丽的,而且好歹也是一个正版系统,另外也是自己懒得换XP,还得自己下一堆驱动,所以至今还用着。

想用Partition Magic划个区出来装linux的,结果发现原来很好用的PM在Vista下居然不能运行,只得用Vista自带的磁盘管理工具划了个10来个G的空间(再也划不出多的来了),装了个刚出的Ubuntu Hardy ****的,后来受论坛蛊惑,说是Mint更好,于是又换成了Mint,感觉就是影音播放的体验要好很多,不用自己安装解码器了,呵呵!

不过发现Mint的一个问题,有时候当前桌面鼠标好像会失去响应。我的处理方法是切换桌面,然后再切回来。发现Mint的一个好处是居然识别触摸板的屏幕滚动功能,这是在多个Linux版本中都没有的功能(包括Ubuntu)。

网上溜达的时候发现openSuse 11的正式版马上就要放出来了,趁周末去颐高买了刻录盘,周一上班一看到到suse的BT种子,就连忙下了下来,晚上下班就刻成了盘,装在了前两天不小心删除的Vista系统恢复分区上。这下我的电脑就有3个系统了,哈哈!

LinuxMint + openSuse + Vista!

应该可以安定一阵了!

明天Firefox的正式版就提供下载了,至少要在windows上装一个先体验一吧!

 

linux Comments(0) 2008年6月18日 06:45