2012年7月18日
摘要: 前面一篇文章主要说明了请求在流转到进入管道之前的一些大概情况,同时也介绍了我们可以在管道的各个程序周期事件注册自己的处理方法(可以通过自定义httpModules或者直接在Global.asax文件内书写方法)通过学习我们发现自定义httpModules其实还是蛮简单的。 事实上出了自定义的httpModules 系统也内置了好多个httpModules实现,他们就是我们通常说的管道内对象,当请求到达后他们会按序出来完成自己份内的工作,于是当请求到达我们我们的页面代码时,我们才有很多对象可用,而且很多繁琐的事情不需要我们写代码一一实现,以为内这些家伙已经帮我们搞定了。现在我们急迫的想知道系统. 阅读全文
posted @ 2012-07-18 17:46 老金 阅读(613) 评论(0) 推荐(0) 编辑
  2012年7月17日
摘要: 刚开始接触ASP.NET的人一定认为它很简单,鼠标点把点吧就能搞个有模有样的网站出来,大部分情况下都不需要关心我们写的那些代码是怎么运行的,也不必关注那些令人厌恶的邪恶接口。至于指针啥的可以直接无视---微软都说是不安全代码默认禁止了。 然而随着学习的深入大家会发现微软用美丽的外表欺骗了我们。想要成为高级.NET开发学习曲线陡然上升,微软想让我们知其然不想让我们知道其所以然。 于是牛逼的程序员们怒了,他们不想当不明真相的群众。于是各种研究底层的文章如雨后春笋般冒出来。特别是对ASP.NET运行的底层研究更是比比皆是。然后在我看过很多文章很总也没有一个清晰的思路,我可能知道了某一个点比如ht.. 阅读全文
posted @ 2012-07-17 17:51 老金 阅读(920) 评论(1) 推荐(0) 编辑
  2012年7月13日
摘要: 网上一篇非常有用的文章,值得在LINUX下C++开发人员一观!学习使用了GDB一段时间后,发现它真的好强大!好用!GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调... 阅读全文
posted @ 2012-07-13 10:51 老金 阅读(8433) 评论(0) 推荐(0) 编辑
  2012年7月11日
摘要: yield是C#为了简化遍历操作实现的语法糖,我们知道如果要要某个类型支持遍历就必须要实现系统接口IEnumerable,这个接口后续实现比较繁琐要写一大堆代码才能支持真正的遍历功能。举例说明usingSystem;usingSystem.Collections.Generic;usingSystem.Collections;usingSystem.Linq;usingSystem.Text;namespace{classProgram{staticvoidMain(string[]args){HelloCollectionhelloCollection=newHelloCollectio.. 阅读全文
posted @ 2012-07-11 11:23 老金 阅读(68857) 评论(7) 推荐(27) 编辑
  2012年7月9日
摘要: 摘要: 谈谈.Net中的协变和逆变关于协变和逆变要从面向对象继承说起。继承关系是指子类和父类之间的关系;子类从父类继承所以子类的实例也就是父类的实例。比如说Animal是父类,Dog是从Animal继承的子类;如果一个对象的类 ...谈谈.Net中的协变和逆变关于协变和逆变要从面向对象继承说起。继承关系是指子类和父类之间的关系;子类从父类继承所以子类的实例也就是父类的实例。比如说Animal是父类,Dog是从Animal继承的子类;如果一个对象的类型是Dog,那么他必然是Animal。协变逆变正是利用继承关系 对不同参数类型或返回值类型 的委托或者泛型接口之间做转变。我承认这句话很绕,如果你. 阅读全文
posted @ 2012-07-09 18:45 老金 阅读(869) 评论(0) 推荐(0) 编辑
摘要: IComparable和ICompare 接口是.net framework 中比较对象的标准方式,这两个接口提供一个返回值类似(大于0 等于0 小于0)的比较方法,二者区别如下:1. IComparable 在要比较的对象的类中实现,可以比较该对象和另一个对象。2. IComparer 在一个单独的类中实现,可以比较任意两个对象。先看 IComparable 这个接口方法是 int CompareTo(object obj); 方法只有一个参数,我们知道比较至少要有两个对象,所以这个方法只能应用在要比较的对象类中,参数传递的对象就可以和 this 做比较。classobj:ICompara. 阅读全文
posted @ 2012-07-09 18:03 老金 阅读(2780) 评论(0) 推荐(0) 编辑
  2012年6月14日
摘要: JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。关于 JSON 更具体的信息,可参见 JSON 官网:http://www.json.org。jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。下载地址为:http://sourceforge.net/projects/jsoncpp(版本为jsoncpp-src-0.5.0)。下面开始说明配置方法:1、先下载scons:(http://www.scons.org/)(版本为scons-2.1.0)并解压; 设定环境变量 # export MYSCONS=解压的路径2、scons部署:进入sco. 阅读全文
posted @ 2012-06-14 11:32 老金 阅读(6843) 评论(2) 推荐(0) 编辑
  2012年5月24日
摘要: 最近要用C++开发项目需要操作memcached,查找到libmemcached是专门为C/C++提供的memcached客户端决定用它。1. 在命令行下: wget https://launchpad.net/libmemcached/1.0/1.0.7/+download/libmemcached-1.0.7.tar.gz下载文件。2. 输入:sudo apt-get install libevent-dev 安装libevent-dev (据说这个很重要,不然libmemcached就不能运行,最好安装)3. 解压缩下载文件:sudu tar -zxvf libmemcached-1.. 阅读全文
posted @ 2012-05-24 16:44 老金 阅读(7299) 评论(1) 推荐(0) 编辑
  2012年5月23日
摘要: 16.1 模板定义 模板和c#范型一样,建立一个通用的类或函数,其参数类型和返回类型不具体指定,用一个虚拟的类型来代表,通过模板化函数或类实现代码在的重用。 定义语法是: template<typename 类型参数> 返回类型 函数名(模板形参表) { 函数体 } 或: template<class 类型参数> 返回类型 函数名(模板形参表) { 函数体 } template是一个声明模板的关键字,类型参数一般用T这样的标识符来代表一个虚拟的类型,当使用函数模板时,会将类型参数具体化。typename和class关键字作用都是用来表示它们之后的参数是一个类型的... 阅读全文
posted @ 2012-05-23 16:14 老金 阅读(2285) 评论(0) 推荐(0) 编辑
  2012年5月22日
摘要: 15.1 面向对象编程:概述继承: 虚函数:virtual 动态绑定:15.2 定义基类和派生类 成员限制符:public private protected protected:在子类中可访问,派生类内部可以访问本类对象protected成员,不能访问基类对象protected成员classbase{protected:stringname;};classitem:publicbase{voidtest(item&a,base&b){a.name;//可以访问本类对象protected成员b.name;//错误,不能访问基类对象protected成员}} C++允许多重继承, 阅读全文
posted @ 2012-05-22 15:14 老金 阅读(1417) 评论(0) 推荐(0) 编辑