存档

2011年7月 的存档

谈谈程序的可扩展性

2011年7月30日 5 条评论

光阴如棱,写程序也有好几个年头了。几年来,写过不少程序,也读过不少别人写的代码,各种各样、形形色色的都有。刚开始写程序的人,大都是以完成任务为主,以结果为导向的,很少会注重程序,或者说代码本身。随着写过、读过的程序越来越多,对写程序的人来说,完成任务、实现当前功能不是唯一的目标了,如何能在完成当前任务的同时,考虑一下,如果后面还会有其它的需求的话,我们现在的程序能不能在尽量不修改现有代码的前提下,通过增加一些新的代码,来实现需求、完成任务。这就是所谓程序的“可扩展性”。

为了帮助大家更好的理解,下面看一个例子,来实实在在的体会一下程序的可扩展性。这里首先给出需求:实现一个HtmlParser, 提供解析出页面里所有img链接的功能。

  • 1. 先来看看大家最容易想到的一种实现:
  • 阅读全文…

    分类: 程序人生 标签: , ,

    Win7共享笔记本无线网卡上网

    2011年7月24日 5 条评论

    相信很多人跟我遇到过一样的情况,宽带只支持通过modem拨号上网,不支持通过路由器上网,这时候,如果有两台以上的设备要上网的话,就会比较麻烦了。这里介绍一种通过分享笔记本无线网卡来上网的方法,下面是具体的步骤,希望到遇到同样问题的朋友有所帮助:

  • 1. 保证笔记本可以通过有线正常上网,保证笔记本无线已打开且可以正常使用。
  • 2. 分享笔记本的能够连接因特网的适配器, 具体如下图:
  • 阅读全文…

    分类: 技术杂记 标签: ,

    This is Your Life

    2011年7月17日 5 条评论

    This is your life

    Do what you love, and do it often

    If you don’t like something, change it

    If you don’t like your job, quit

    If you don’t have enough time, stop watching TV

    If you are looking for the love of your life, stop 阅读全文…

    分类: 生活感悟 标签: , ,

    linux程序分析工具介绍(三)——sar

    2011年7月10日 2 条评论

    本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具。我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO)。我们的应用程序在操作系统中运行前,我们需要了解系统当前的内存,cpu和IO的使用状况,还需要明白我们的应用程序运行时自身所需要的内存,cpu和IO资源的情况。只有操作系统剩余的内存,cpu和IO资源能够满足应用程序所需要的,才能保证应用程序在操作系统中正常的运行。sar就是用来帮助我们了解操作系统当前内存,cpu和IO等资源的使用情况的一个非常方便的工具,下面通过具体的例子来介绍sar的使用。
    在介绍例子之前,首先需要说一下sar命令的基本用法:sar [option] [interval] [count]

  • 1. 通过sar获取系统内存使用相关信息
  • (1)内存使用情况统计:-r,通过这个选项,我们可以了解当前系统中内存的使用情况 阅读全文…

    两周年

    2011年7月5日 3 条评论

    2009年7月5日,从杭州到深圳,结束了青涩的校园时光,正式步入自己的职业生涯。时光荏苒,两年时间,一晃而过。回想过去的两年,感慨满满。要为这过去的两年写点什么,算是为过去的两年向自己做一个交待,也算是为了让自己更加清楚地过好今后的若干个两年。
    曾几何时,听前辈们说过,刚走出校园的前五年,是对一个人至关重要的五年。五年间的所作所为,决定一个人的一辈子。细细想来,也是有一定的道理的,很大一部分人的区别,就是这五年中慢慢产生的,有的结婚、生子了,有的在为自己的理想孜孜不倦的追求着… 五年,已经过去了两年,过去的两年,更多的是专注于对技术的热情与追逐,在钻研的过程中,的确也使自己在技术方面有了一定的造诣,可能用‘造诣’这个词有点不太恰当,但是目前还想不到其它合适的,就暂且用它吧。但是,我一直很清醒,说实话,我不是个技术狂人,我只个想做清楚自己做的事、做好自己想做的事的人。因此,追逐技术的天花板,不是我所要的。曾几何时,一直很担心,在职场摸爬滚打几年,就会被磨得没有棱角,就会忘记了自己曾经年少时的梦想,所以一路走来,一直提醒自己,或许,现在的我,的确有了一些改变。与两年前的书生意气相比,虽说多了一份成熟,多了一份对人性的思考,但是,一直没有忘记曾经年少时的梦想,信念依旧那么坚定,坚守理想的约定一直铭记于心。 阅读全文…

    80×86汇编基础(四)——Hello world!

    2011年7月3日 1 条评论

    学习过程序设计语言的朋友,应该不会对Hello world感到陌生,相信大部分朋友跟我一样,刚开始接触某种语言,写的第一个程序就是Hello world。学习C、C++、Java这些高级语言如此,学习Bash、Php、Python这些script语言亦是如此。本篇是8086汇编系列的第四篇,通过前面三篇的介绍,我们已经具备了写Hello world的基本知识,本篇就让我们来看看用8086的汇编,如何实现Hello world。在开始之前,需要说明一下,因为我个人的开发环境是在Linux下,所以本文采用了AT&T的汇编语法。关于AT&T与Intel语法的差异,我在第三篇中已经有所介绍,不了解的朋友可以先看第三篇的内容。在今后本系列的文章中,如果没有特别的说明,我所采用的环境都是Ubuntu 11.04 i386, 内核版本2.6.38-8-generic, GCC版本4.5.2, GDB版本7.2。
    下面我提供两个版本的Hello world的实现,通过这两个例子,来说明一些在Linux下用8086汇编进行程序设计的基本过程与一些注意事项:

  • 1. 通过系统调用write实现
  • 阅读全文…