Conner's profile☆ Conner Wang ☆PhotosBlogListsMore Tools Help

☆ Conner Wang ☆

〖 学生→老师→学生 〗  § 生活是如此美好,请珍惜、热爱并善待她…

Conner Wang

Occupation
Location
Interests

最近10条日志

Loading...Loading...
June 16

真的毕业了

  最后一次回到学校,感觉不一样了。

  传香曾问我是不是看到咱同学都感觉特别亲切啊。我觉得何止是亲切,更多的是舍不得。最后一次同他们打牌,最后一次跟他们吃饭,最后一次与他们合影,最后一次听他们说笑……一想到这些都是所有重复之中的最后一次,心里就不免有些感伤。

  今天早晨,我又去了一次330。一切还是那么熟悉,但人已不在。作为吴老太太的最后一届学生,知道人一走这里就物是人非了。看一看摸一摸那些熟悉的物件,睹物思情,泪水再也止不住了。

  作为离校比较早的一个,我是幸福的,因为有鑫、小燕和Liuyong来给我送行。不知道何时才能再听到鑫的歌声;不知何时才能再听到小燕说“你给我闭嘴”;至于Liuyong,真有点相识恨晚的感觉。

  真正的结束了我的学生时代,这不正是我所期待的吗?但天虽热,心悲凉……

June 09

Headers and Includes: Why and How

一篇很好的介绍C++头文件如何组织和引用的文章:

Headers and Includes: Why and How [By Disch]

June 01

我的姥姥

  姥姥有两个儿子五个女儿共七个子女,这些子女又给她生育了15个孙子、孙女、外孙、外孙女。自从二十多年前姥爷去世以后,姥姥把所有的爱都倾注到了我们这一代孩子身上。

  姥姥有着劳动妇女的传统美德,她一生勤苦,为子女忙活了大半辈子。到了老年,子女们都长大成人了,她也不愿意向子女们伸手要钱花。她有力气的时候就养兔子、养鸡、卖鸡蛋。直到最近几年,她由于身体原因,经常卧病在床。

  姥姥是除了父母以外疼爱我最多的人。她疼我爱我26年,而我陪在她身边真正尽我孝心的时间却只有很少的几天。昨天当我眼睁睁地看着亲爱的姥姥离开我们而去的时候,我心里是说不出来的滋味,我恨自己不能在姥姥最后的这段日子里天天陪着她。

  姥姥虽然有这么多的(外)孙子(女),但姥姥却由衷的偏爱我。姥姥对我的爱除了我和我的母亲以外没有另外的人能够读懂。

  母亲在七个子女中排行第三。母亲小的时候很聪明,也很喜欢学习。她上学上到两个月的时候就破格升到二年级了,但随后就辍学了。母亲是孩子当中最听话,干活最勤快的,是姥姥最好的帮手。也正为这,姥姥无论如何也不舍得母亲去上学。学校里的老师为了母亲上学的事,曾亲自到家门劝说姥姥十几次。但姥姥决定的事情谁也改变不了,为此母亲不知道哭过多少回。

  最后的结果是,母亲成了所有这些子女中学习最有天赋,最渴望上学,却是唯一一个未能真正上学的。母亲一辈子羡慕那些识字的人,心里一直埋怨姥姥偏心,不给她上学的机会。印象中直到前两年母亲还在姥姥面前哭诉过没有上过学的遗憾。姥姥嘴上什么都不说,心里其实也很后悔。后来母亲就把她对知识的渴望都寄托在了我的身上,这也是我为什么能走到今天并读完研究生的一个因素吧。

  后了母亲嫁给了我父亲,一个普通的不能再普通的农民,从此开始了一辈子的穷苦生活。母亲成了七个子女中最贫穷的一个,从而也是受到娘家接济最多的一个。母亲刚嫁过来的时候,家里经常是吃了上顿没下顿。当时姥爷还在世,他们家还算富裕,所以就经常往我们家送吃的。由于怕丢人,只得三更半夜的时候来我家。据母亲说:有一天夜里,雨下得很大,道路泥泞,姥爷推着手推车往我们家送吃的,半路车子陷在泥里出不来,又不好意思叫人来帮忙,等到家的时候浑身都湿透了。

  再后来就有了哥哥和我,姥姥很疼我们。由于家里穷,吃不好,哥哥在姥姥家里一住就是好几年。这些都是后来听母亲告诉我的。对于小时候的事情我记得不是很多。

  其实姥姥很喜欢爱学习的孩子,所以我后来认为姥姥当初不让母亲上学只是一时的糊涂。也许是我遗传了妈妈的优良基因吧,我也爱上学。母亲对我寄予厚望,希望我能好好学习,完成她所没完成的心愿。对此,姥姥也很支持,因为她逢人便夸她这个外孙学习如何如何的好。

  我从高中开始住校,大学和研究生都一直都在外地。每逢寒、暑假我回家,姥姥都会来我家看我好几次。后来姥姥老了,走不动了,我就会去看她。尤其是最近几年,姥姥一直卧病在床,我每次从回家放下行李后要做的第一件事就是去看望姥姥。每次姥姥见到我,都会关心地问我在外面上学累不累,吃得好不好,穿得暖不暖。她知道我们家穷,怕我在外面吃不饱饭,还经常会把自己半年来辛辛苦苦攒下的钱硬塞到我的衣兜里。你知道从满脸皱纹,头发花白的八十多岁的老人手里接下皱皱巴巴的几百块钱的时候心里是什么滋味吗?我当时只能祈祷姥姥将来一定要长命百岁,好让我这个外孙有尽孝道的机会。

  现在我终于要研究生毕业了,也找到了一份能养活自己的工作。可是姥姥啊,你为什么要走得那么早?您为什么不给我机会让我来报答您老人家的恩情?悲痛、眼泪、响头,一切皆无法表达我此时的心情……

May 23

毕业前的倒数第二次回学校

  最近安排挺紧的,上周日喝小猪的喜酒。这周一回家,周三喝晓娜的喜酒。眼看着身边的朋友一个个的都结婚了,我是不是也该抓抓紧了啊?

  周三中午喜酒还没喝完我就匆匆地赶火车回学校了。周四早上预答辩,周五下午参加了正式答辩。一切都很顺利,还得了个优秀。至此,学校方面的事情算是圆满完成了。

  今天中午我们三个人和吴老师一起吃的午饭,饭后吴老师又给我们买了一样又一样的好吃的。过马路时,看着吴老师略显苍老的身影,突然间一阵感动…

  今天下午同鑫和小燕一起重游了植物园,一路说说笑笑,虽然有点累,但是很尽兴。最搞笑的是那两张斗鸡眼的照片了,简直是绝了,哈哈~~

  由于这几天旅途有点劳累的缘故吧,得了感冒。两天来一直昏昏沉沉的,状态不好,做什么事情都是硬撑着,希望赶快好起来吧。

  明天下午就要回青岛了,毕业前还有一次回学校的机会,期待中…

May 11

在交互式shell脚本中设置读超时和缺省值

最近在写一个auto test的工具,以使程序build完以后进入RT。
想实现的功能为:编译完成以后提示是否进行RT,如果什么都不选,则10秒钟以后测试自动开始。
我打算通过在makefile中调用shell脚本来实现的。关键是这个读取操作超时如何实现?
通过man手册查到,在Linux下,read命令有一个超时参数-t,通过设置该参数可以直接控制read命令的超时时间。
但我们的脚本要求能在Solaris和Linux下同时使用,很遗憾的是Solaris下的read命令没有这个-t参数。
在Gary同志的提示下,终于找到了如下方案:
----------------------------------
while :;
  do
  stty -icanon min 0 time 100
  echo -e "\n RT will automatically start in 10 sec. Run Test?[yes]: "
  read ANSWER
  case "$ANSWER" in
    y|Y|yes|YES|"") stty sane; break ;;
    n|N|no|NO) echo "RT not runned!"; stty sane; exit ;;
  esac
done
test code...
----------------------------------
March 14

重拾校园生活

    回学校两周了,但是过得很不规律。白天写论文,晚上还得工作。而且从校园网连公司的网络特别慢还不稳定,只有凌晨的时候能连上。可怜我只好三更半夜爬起来写代码、看邮件。

    眼瞅着论文写了一大半了,又惦记着缺少实验结果。费了两天的牛劲,好不容易写了个简易算法,但又没找到合适的视频。

    找同学借了一圈的DV也没借着,只好求助于老太太了。还好,老太太很热心地就答应了,就等着明天拿了DV找ZX和小燕拍视频了。也不知道实验结果能不能用,嗨~

    上周搞了个健身卡,也不知道还能去几次。半年没练,不在状态了,呵呵!

    整天让焦头烂额的事烦着,怎么着也找不回做学生的感觉了……

February 18

Vimdiff的用法

手工做code merge的时候,经常会用到文件比较与同步的工具。vimdiff是我比较喜欢的。

首先保证系统中的diff命令是可用的。Vim的diff模式是依赖于diff命令的。

Vimdiff的基本用法就是:
# vimdiff  FILE_LEFT  FILE_RIGHT
或者
# vim -d  FILE_LEFT  FILE_RIGHT
屏幕被垂直分割,左右两侧分别显示被比较的两个文件。两个文件中连续的相同的行被折叠了起来,以便使用者能 把注意力集中在两个文件的差异上。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异 的行显示为粉色背景,引起差异的文字用红色背景加以突出。
除了用这种方法启动vim的diff模式之外,我们还可以用分割窗口命令来启动diff模式:
# vim FILE_LEFT
然后在vim的ex模式(也就是"冒号"模式)下输入:
:vertical diffsplit FILE_RIGHT
也可以达到同样的效果。

如果希望交换两个窗口的位置,或者希望改变窗口的分割方式,可以使用下列命令:
1. Ctrl-w K(把当前窗口移到最上边)
2. Ctrl-w H(把当前窗口移到最左边)
3. Ctrl-w J(把当前窗口移到最下边)
4. Ctrl-w L(把当前窗口移到最右边)
其中1和3两个操作会把窗口改成水平分割方式。

光标移动
接下来试试在行间移动光标,可以看到左右两侧的屏幕滚动是同步的。这是因为"scrollbind"选项被设置了的结果,vim会尽力保证两侧文件的对齐。如果不想要这个特性,可以设置:
:set noscrollbind
可以使用快捷键在各个差异点之间快速移动。跳转到下一个差异点:
]c
反向跳转是:
[c
如果在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远。比如如果在位于第一个差异点的行输入"2]c",将越过下一个差异点,跳转到第三个差异点。

文件合并
文件比较的最终目的之一就是合并,以消除差异。如果希望把一个差异点中当前文件的内容复制到另一个文件里,可以使用命令
dp (diff "put")
如果希望把另一个文件的内容复制到当前行中,可以使用命令
do (diff "get",之所以不用dg,是因为dg已经被另一个命令占用了)
如果希望手工修改某一行,可以使用通常的vim操作。如果希望在两个文件之间来回跳转,可以用下列命令序列:
Ctrl-w, w
在修改一个或两个文件之后,vimdiff会试图自动来重新比较文件,来实时反映比较结果。但是也会有处理失败的情况,这个时候需要手工来刷新比较结果:
:diffupdate
如果希望撤销修改,可以和平常用vim编辑一样,直接
, u
但是要注意一定要将光标移动到需要撤销修改的文件窗口中。

同时操作两个文件
在比较和合并告一段落之后,可以用下列命令对两个文件同时进行操作。比如同时退出:
:qa (quit all)
如果希望保存全部文件:
:wa (write all)
或者是两者的合并命令,保存全部文件,然后退出:
:wqa (write, then quit all)
如果在退出的时候不希望保存任何操作的结果:
:qa! (force to quit all)

上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各6行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数,可以这样设置:
:set diffopt=context:3
可以用简单的折叠命令来临时展开被折叠的相同的文本行:
zo (folding open,之所以用z这个字母,是因为它看上去比较像折叠着的纸)
然后可以用下列命令来重新折叠:
zc (folding close)

February 15

GDB中查看STL容器类的内容

    使用GDB的"p variable-name"查看STL容器类,只会显示该容器的一些信息,并不能很友好的显示该容器的内容。使用stl-views.gdb这个脚本可以很好地解决这一问题。下载stl-veiws.gdb文件,将其放到~/目录下,直接将其改名为~/.gdbinit,或者在你已有的.gdbinit文件中用source ~/.stl-views.gdb命令将其包含。这样你就可以用下面的命令显示STL容器类了。

 容器类型 GDB 命令
std::vector<T> pvector stl_variable
std::list<T> plist stl_variable T
std::map<T,T> pmap stl_variable
std::multimap<T,T> pmap stl_variable
std::set<T> pset stl_variable T
std::multiset<T> pset stl_variable
std::deque<T> pdequeue stl_variable
std::stack<T> pstack stl_variable
std::queue<T> pqueue stl_variable
std::priority_queue<T> ppqueue stl_variable
std::bitset<n><td> pbitset stl_variable
std::string pstring stl_variable
std::widestring pwstring stl_variable

举例:

如果你的C++代码中有定义: set<string> s;
则在GDB中可以使用如下命令查看该set的信息与内容:
pset s - 打印该集合s的定义和大小
pset s char* - 打印该集合s的大小以及该集合的所有元素

February 10

Solaris同Linux的一点区别

Solaris经常会同时提供一些常用命令的两个版本,它们一般会分别位于以下两个文件夹中。
/usr/bin         标准地System V命令
/usr/ucb        传统地BSD命令
虽然是同一条命令,但在这两个目录中的不同版本的用法可能不同。
比如ps命令,两个目录下的ps分别属于不同风格的unix命令,其参数自然略有不同,输出也可能会有所不同。
Solaris中默认使用/usr/bin中的ps版本,用惯了Linux的朋友可能发现ps aux不能work了。这时你可以尝试使用用ps -ef来替。或者使用BSD风格的/usr/ucb/ps aux命令,它和Linux地ps命令相当。
January 23

告别2008

2008年发生的大大小小的事情很多,其中给我印象最深的三件事分别是:汶川大地震、奥运和金融危机。

我也得到了三点体会:生命是脆弱的,挑战是无极限的,生活中充满了变化。

在过去的一年里我实现了两个目标:见到了那些小家伙们,找到了一份工作。另外还有一个目标不知道什么时候才能实现。

感谢上半年能有一个宽松的时间来提升自己,静下心来学一些自己喜欢的东西。并且能每天锻炼,保持良好的身体状态。

下半年这段实习的经历,使我进步很多。无论从技术上还是视野上,自己都上升了一个层次。再也不是以前只会在学校里啃书本的傻学生了。

2008年最值得感谢的一号人物是好姐姐zhx。我之所以能抓住这个机会,她功不可没。在我最艰难最无助的时候,是她不断地帮助和鼓励我。

2008年最值得感谢的二号人物是吴老师。人在磨炼中才能成长,我这一年在心理历程上有了一次大的飞跃。我应该好好感谢她。

2008年比较遗憾的事就是减少了半年的校园生活。离开学校以来,没有机会和朋友们在一起。还好明年还有几个月的校园生活,到时一定要好好珍惜。

2009年将会是一个新的转折,上半年面临毕业,下半年将会开始真正的工作。在这接下来的一年里,我知道我将会在思想和观念上发生转变。

 

声 明

本空间文章若无特别注明均为原创,转载请注明出处,出版请联系作者。对于转载或整理的文章均已注明“转载”或“整理”等字样。由于某些转载文章已无从考证原始出处,故未能注明。如果你认为我侵犯了你的版权,请尽快联系我,我会第一时间将其删除。

灯泡相互学习,
灯泡共同进步,
灯泡请多多关照!

Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.
Conner Wangwrote:
呵呵,老婆回来了,好幸福啊!
打球的事再联系吧热烈的笑脸
Mar. 12
添 张wrote:
明天我老婆就回国了,我再跟她回趟青岛,得20号左右才能回来,等我回来就联系你们。
Mar. 12
Conner Wangwrote:
太阳沉睡的弯月星星 左侧拥抱红心右侧拥抱
Aug. 13