javascript十个最常用的自定义函数
如果不使用类库或者没有自己的类库,储备一些常用函数总是有好处的。(10)addEvent网上最流行的版本是Scott Andrew的,据说javascript界曾举行一场比赛(此事件我们可以在Pro Javascript Techniques第100页看到)或浏览PPK的网站,征求添加事件与移除事件... ...
您能看出这个Double Check里的问题吗?(解答)
已经很有很多朋友得到了结果,是由于m_categories过早初始化,而导致double check的验证条件被破坏(或者说,满足)。不过,这里我们可以再谈一些更深入地内容,例如Memory Consistency Model。 ...
.NET内存管理、垃圾回收
1.Stack和Heap每个线程对应一个stack,线程创建的时候CLR为其创建这个stack,stack主要作用是记录函数的执行情况。值类型变量(函数的参数、局部变量等非成员变量)都分配在stack中,引用类型的对象分配在heap中,在stack中保存heap对象的引用指针。GC只负责heap对象... ...
[观点] RIA是三层应用体系的二次革命
RIA(Rich Internet Application)为何而产生,它的意义何在?流行的说法是:为Web应用提供丰富的操作体验,提高系统的友好性云云。这种看法不能说错,但是我希望从另一个角度来理解:为什么说RIA的出现是历史的必然,以及RIA对于多层应用的意义究竟是什么。 ...
.net程序员,该不该学IL?
最近一直在思考一个问题,那就是.net程序员的发展,应该往上走还是往下走的事情。所谓往上走,我的理解是朝着系统架构方向发展,从原来的编码工作转向架构、设计、分析等等工作。而往下走,是研究.net底层原理和实现,可能大部分就是对IL和CLR的研究。最近和一个在.net领域刚刚工作,并且很有激情往.ne... ...
NHibernate实践总结(一)
最近在使用NHibernate做系统,而且园子里玩NHibernate的人好像也多了几个,发现Jeffrey Zhao都NHibernate了,所以我也来凑个热闹,写一点自己的实践体会,以与园子里的NHibernate园友进行相互交流和学习。 李永京的NHibernate之旅系列文章导航通俗易懂,相... ...
使用Lambda表达式编写递归函数
其实这从来不是一个很简单的事情,虽然有些朋友认为这很简单。如果您把委托变量的声明和Lambda表达式分开写为两行,那么其实这已经是一中“伪”递归了。可能已经有朋友知道“标准”的做法是什么样的,不过我这里还想谈一下我当时遇到这个问题时想到的一个做法。比较笨(非常符合我的特点),但是可以解决问题。但是装... ...
把委托说透(2):深入理解委托
在上一篇随笔中我们通过示例逐步引入了委托,并比较了委托和接口。本文将重点剖析委托的实质。委托在本质上仍然是一个类,我们用delegate关键字声明的所有委托都继承自System.MulticastDelegate。后者又是继承自System.Delegate类,System.Delegate类则继承... ...
jQuery一步一步实现跨浏览器的可编辑表格
在修改数据时,有时候为了方便,我们希望能够直接在表格里面对数据进行直接修改。要实现可编辑的表格功能,我们要解决以下问题:1.明确要修改的数据在表格中是哪些列(如何找到这些单元格);2.如何让单元格变成可以编辑的;3.如何处理单元格的一些按键事件; 4.解决跨浏览器问题。 我们通过jQuery可以一步... ...
函数式链表的快速排序
前一段时间有朋友问我,Haskell快速排序的代码,是否可以转化成C#中等价的Lambda表达式实现。我当时回答,C#中缺少一些基础的数据结构,因此不行。经过补充之后,就没有任何问题了。后来,我觉得这个问题挺有意思,难度适中,也挺考察“基础编程”能力的,于是就自己写了一个。如果您感兴趣的话,也不妨一... ...
关于一道C#上机题的一点想法
最近因为要面试,所以关注了一些上机题,发现有一个题挺有意思,很多“老鸟”可能都见过。 题目:17个人围成一圈,从第一个人开始报数,报到3的退出,一直到剩下最后一个人,用面向对象的思想去做这道题。 我是比较懒的,所以先搜了一下答案,在园子里面只找到这位仁兄的文章 泛型委托,看完之后总觉得不妥,里面... ...
蛙蛙推荐:算法练习:最大间隙问题
最大间隙问题:给定的n个实数x1,x2...,xn,求这N个数在实轴上相邻两个数之间最大差值。假设对任何实数的下去整耗时是O(1),设计最大间隙问题的线性时间算法。 ...
把委托说透(1):开始委托之旅 委托与接口
委托,本是一个非常基础的.NET概念,但前一阵子在园子里却引起轩然大波。先是Michael Tao的随笔让人们将委托的写法与茴香豆联系到了一起,接着老赵又用一系列文章分析委托写法的演变,并告诫“嘲笑孔乙己的朋友们,你们在一味鄙视“茴”的四种写法的同时,说不定也失去了一个了解中国传统文化的机会呢!”。 ...
程序员“宅钱”的方式
不讲如何赚大钱,因为我没这种经验。我喜欢安静、独处,喜欢想睡就睡,想玩就玩——这种性格也赚不了大钱。 本文讲宅在家里赚小钱的一些体会——我靠这些养活一家人。 想看如何赚大钱的,请去看成功学书籍——哥写的不是成功,而是生活。 目前据我观察和实践,“宅钱”有几种模式。 大家谈的很多的两种——当站长和开发... ...
ESBasic 可复用的.NET类库(1)
(如果您能对照着源码来阅读本文,效果会更好。)1.缘起: 假设我们的员工打卡系统,需要设定公司规定的上班时间、下班时间、以及还要对员工是否迟到早退等这些情况进行判断。 我们以什么方式来记录类似上下班时间这样只有时分秒没有年月日的时间了?你说可以使用DateTime,但是合适吗?总是觉得用DateTi... ...
javascript鼠标事件总结
javascript的鼠标事件是个比较庞大的家族。常见的有以下8个:mousedown:鼠标的键钮被按下。mouseup:鼠标的键钮被释放弹起。click:单击鼠标的键钮。dblclick:鼠标的键钮被按下。contextmenu :弹出右键菜单。mouseover:鼠标移到目标的上方。mouseo... ...
【原】轻量级的数据交换格式——初识Json(下)
其实第一次见到服务器端使用json是在用asp.net mvc做项目的时候,在asp.net mvc 1.0中Controller可以直接返回给视图一个json对象。但当时大部分时候是返回一个ViewData,对json没有使用过。 下面就介绍在.net环境下解析json的一个api——json.n... ...
MVC与WebForm最大的区别
MVC框架具有很强的优越性,而WebForm也不是一无是处,在简单的应用中更加容易开发。WebForm也是可以实现和MVC一样的分层方式,只是处理时需要多写一些代码而已。 ...
深入了解CLR的加载过程
我们知道,.net编译器在生成托管代码时会将一些重要信息写入PE文件的header和.text section(后边我会介绍这些写入程序集的重要信息是什么),本文介绍当我们双击一个托管代码写的exe程序时发生的事情。 ...