摘要:
当向View中添加服务器控件后切换到“设计”或“拆分”视图是VisualStudio2008会自动关闭 阅读全文
随笔分类 - 成长的烦恼
.net下纯代码实现求两个集合的笛卡尔积
2010-09-18 11:32 by Hundre, 2825 阅读, 收藏, 编辑
摘要:
使用环境:
1、.net 3.5,因为要使用linq(为什么用LINQ,因为小弟算法比较差,不会写算法直接实现.......)
2、求两个list的笛卡尔积,结果为另一个list(别的似乎也可以吧,没实验过)
阅读全文
雅虎网站页面性能优化的34条黄金守则
2009-09-20 20:52 by Hundre, 45830 阅读, 收藏, 编辑
摘要:
雅虎团队经验:网站页面性能优化的34条黄金守则
1、尽量减少HTTP请求次数
终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数。这是提高网页速度的关键步骤。
减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。
合并文件是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS文件都放入一个样式表中。当脚本或者样式表在不同页面中使用时需要做不同的修改,这可能会相对麻烦点,但即便如此也要把这个方法作为改善页面性能的重要一步。 阅读全文
Linux环境下make指令和makefile文件详解
2008-12-22 11:10 by Hundre, 12802 阅读, 收藏, 编辑
摘要:
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。因此,有效的利用make和makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着Linux下的应用软件手足无措了。 阅读全文
Finalize,Dispose,SuppressFinalize
2008-11-14 11:14 by Hundre, 9854 阅读, 收藏, 编辑
摘要:
大部分的非托管资源会给系统带来很多负面影响,例如数据库连接不被释放就可能导致连接池中的可用数据库连接用尽。文件不关闭会导致其它进程无法读写这个文件等等。 阅读全文
数据库范式小解
2008-11-06 13:31 by Hundre, 6801 阅读, 收藏, 编辑
摘要:
关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手 阅读全文
事件和委托
2008-11-05 16:19 by Hundre, 2406 阅读, 收藏, 编辑
摘要:
首先一定要清楚:事件和委托都是一种程序变量的类型,就和int,string等类型一样是用来定义变量的,然后再学习事件和委托是如何使用的 阅读全文
设计模式概述
2008-11-02 21:42 by Hundre, 3688 阅读, 收藏, 编辑
摘要:
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 阅读全文
多线程和多进程
2008-11-02 13:05 by Hundre, 8619 阅读, 收藏, 编辑
摘要:
类似的,现在假设我们的程序运行平台是多处理器(SMP)的(多核,或INTEL的超线程均类似).此时,我们当然可以按照"多进程,单线程"的方式让程序在这样的平台上运行,虽然有点浪费.但是,你可以想象一下,当一个程序在一个CPU上运行时,是不是其它的CPU我们也可以让它加入进来,别忘了,我们可不止一个CPU哦,为什么让它空闲在那呢!于是,我们想象者本来在一个进程中的任务,我们现在将其分成了多个子任务,让每个空闲的CPU去执行若干不同的子任务,当这些子任务完成后,整个任务也就完成了.于是,这又带来了多线程技术.线程这个词来自"THREAD",我不知道线程这个词翻译的好不好,反正也不明其意."THREAD"英文有"遍布,到处发生"之意,正说明了其线程的并发性. 阅读全文
浅论ViewState及其与Session的关系
2008-11-01 12:29 by Hundre, 2668 阅读, 收藏, 编辑
摘要:
那么,有了这个隐藏域,页面里其他所有的控件的状态,包括页面本身的一些状态都会保存到这个控件值里面. 每次页面提交时一起提交到后台,asp.net对其中的值进行解码,然后输出时再根据这个值来恢复各个控件的状态. 我们再看这个控件的value值,它可能类似如下的形式:Oz4+O2w8aTwxPjs+O2w8....
很多人会认为这是加密的信息,其实不是, ms仅仅是给各个控件和页面的状态存入适当的对象里面,然后把该对象序列化, 最后再做一次base64编码,直接赋值给viewstate控件. 阅读全文
ISAPI的作用----ASP.NET的HTTP请求的处理方法
2008-10-31 12:16 by Hundre, 15296 阅读, 收藏, 编辑
摘要:
当客户端向web服务器请求一个*.aspx的页面文件时,同asp类似,这个http请求也会被inetinfo.exe进程截获(www服务),它判断文件后缀之后,把这个请求转交给ASPNET_ISAPI.DLL而ASPNET_ISAPI.DLL则会通过一个Http PipeLine的管道,将这个http请求发送给ASPNET_WP.EXE进程,当这个HTTP请求进入ASPNET_WP.EXE进程之后,asp.net framework就会通过HttpRuntime来处理这个Http请求,处理完毕后将结果返回给客户端。 阅读全文
HTTP 状态码含义
2008-10-31 10:37 by Hundre, 922 阅读, 收藏, 编辑
摘要:
HTTP协议状态码的含义
号码含义
-----------------------------------------
"100":Continue
"101":witchingProtocols
"200":OK
"201":Created
"202":Accepted 阅读全文
前台线程和后台线程
2008-10-30 16:40 by Hundre, 2029 阅读, 收藏, 编辑
摘要:
一个线程或者是后台线程或者是前台线程。后台线程与前台线程类似,区别是后台线程不会防止进程终止。属于某个进程的所有前台线程都终止后,公共语言运行库就会结束该进程。所有剩余的后台线程都会停止且不会完成。 阅读全文
.net GC的工作原理
2008-10-30 11:16 by Hundre, 13425 阅读, 收藏, 编辑
摘要:
内存管理是计算机科学中一个相当复杂而有趣的领域。在计算机诞生的这几十年间,内存的管理的技术不断进步,使系统能够更加有效地利用内存这一计算机必不可少的资源。
一般而言,内存管理可以分为三类:硬件管理(如TLB),操作系统管理(如Buddy System,Paging,Segmentation),应用程序管理(如C++,Java,.net的内存管理机制)。鉴于篇幅和笔者水平的限制,本文只涉及了内存管理的很小一部分,即.net中的内存管理方法。.net是一个当代的应用程序框架,采用了内存自动管理技术,就是通常所说的内存垃圾自动回收技术――Garbage Collection(下文中简称GC),对.net的剖析比较具有代表性。 阅读全文