- 博客(62)
- 资源 (8)
- 收藏
- 关注
原创 几个JS框架简评(愤青版个人观点)
Prototype:纯粹的垃圾 不想多说 只说一点 放过Array.prototype吧...... JQuery:全靠实现了一半的XPath的find活着 工作量还行Mootools:模仿谁不好 偏要仿prototype 没意思YUI:Yahoo工程师 严谨,有大公司风范 起码知道注意命名污染了Ext:漂亮的视觉效果 为了兼容大家很费苦心 委屈求全者 其实它的逻辑层也相当不错的MSF:既然已经很
2008-05-15 00:12:00
2314
3
原创 .net中使用XML Schema验证
相关的.net类XmlReaderXmlReaderSettingsXmlSchemaSet在.net里面验证Schema是件很容易的事 只要在XmlReader打开文件的时候填上一个 要求验证的setting就行了 建议不要在这个基础上乱封装一些XmlSchemaValidator之类的东西。 例子 在某个asp.net page 里面使用schema (语言C# 版本要
2008-04-30 23:57:00
1091
原创 C++ C# Javascript 面向对象实现对比
一 对象的内存结构C++:对于没有虚函数的类构造出的对象,对象本身是其所有成员变量的集合,其大小恰好等于,如果对象没有任何成员变量,那么它也至少要占1字节。如果有虚函数,那么C++对象的内存低位会有一个1字长的虚表指针。虚表指针指向虚表,C++的虚表中保存着虚函数指针,它的大小为虚函数个数x字长。 假如有一个C++类class m...{public: int a=
2008-04-24 00:08:00
53
转载 Brain F*ck
今天从同学那里抢到了这个 很震惊地听说这门语言居然是图灵完备的。Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf***,甚至被简称为BF。概述 Müller的目标是建立一种简单的、可以用最小的编译器来实现的、符合图灵完全思想的编程语言。这种语言由八种状态构成,为Amiga
2008-04-23 00:13:00
1274
原创 ASP.NET Microsoft AJAX Library
http://asp.net/AJAX/Documentation/Live/ClientReference/default.aspx 貌似微软的asp.net的ajax控件是以此为基础的 作为一个js的前端框架 它似乎很少为人所知。总体感觉还可以,不过我很不理解地发现它在Array Function String等上面扩展了一些函数- -!(不是在prototype上,而是在函数对象上)
2008-04-18 21:15:00
1075
原创 C#印象
不能不务正业了,貌似我工作用到的是C#,不过这里从没提到过半句。最近看了点C#,就是C#之父Anders的那本书,ECMA334 335都没怎么看,不过感觉还不错。 半夜闲得太无聊,写篇东西记录一下对C#的第一印象。首先,Anders大人文采大大不如BS大人。坦白地说,这个C# Programming Language读起来有点晦涩,也有点太过规矩,所以读起来不太舒服。不过技术书籍嘛,内容
2008-04-15 00:04:00
1136
原创 浏览器中的内存泄露(续)
4.内存泄露的解决方案 显式类型转换 首先说说最容易处理的情况 对于类型转换造成的错误,我们可以通过显式类型转换来避免:var s=newString("lalalalala");//此处将string转换成objectalert(s.length); 这个太容易了,算不上正经方案。不过类型转换泄露也就这一种处理方法了。 避免事件导致的循环引用
2008-04-12 18:56:00
3658
3
原创 体验funcional语言的优美——javascript中的缓动公式
js在网页上的一大特色应用就是js动画效果,为了让效果看起来更加平滑,增进用户体验,缓动公式是必不可少的。一个不带缓冲的动画效果:div style="background:silver;border:solid 1px #999999;width:100px;height:50px;position:relative" onclick="change.call(this)">div>sc
2008-04-11 17:07:00
67
原创 浏览器中的内存泄露
首先说说什么是内存泄露,在一个进程中,如果某一块内存无法访问,且直到进程结束为止也无法释放,那么就发生了内存泄露。通常这种情况发生在C++之类的手动管理内存的语言编写的程序中,程序员忘记delete或者free会导致内存泄露。本文主要讨论的是浏览器中的内存泄露问题,也就是说,javascript程序导致的内存泄露。目前为止最权威的关于浏览器内存泄露的文章应该是以下2篇 分别来自微软的Under
2008-04-10 14:26:00
7939
3
原创 评 Douglas Crockford 《完美HTML》
完美HTML By Terry on December 14, 2007 2:22 PM | Permalink | Comments (0) | TrackBacks (0)
2008-04-09 15:28:00
96
转载 MSDN CSS参考
CSS Attributes: IndexThis index lists all the supported Cascading Style Sheets (CSS) attributes by category, and indicates the version of Windows Internet Explorer in which the attributes were f
2008-04-02 12:25:00
1334
转载 组件技术的本质COM理论知识一
谈组件技术————组件技术的本质COM理论知识前记:本来我已经将组件的实际操作ocx写完了,很长时间了,总是不敢放上来,怕大家认为太小儿科,而且,有的朋友也提醒我,写的东西太过于累赘,不是很简明易懂就能揭示核心问题,而ocx也有此方面的嫌疑,所以没有放上来。好了,继续我们今天的讨论,希望大家看后都有自己的见解。也许您对这个标题有些疑问,组件技术的本质是COM吗?申明一点,此处所说的
2008-03-28 01:18:00
2640
转载 组件技术的本质COM实例分析一
COM编程进程内COM服务器(In-Process COM Server)进程内的COM服务器(In-Process Com Server)在这前已经简单的介绍过,在此,只对一些需要明白、理解的知识点进行阐述,再进行编程可能会更好一点;进程内服务器是由于它们在DLL内实现而获得这个名称的。因此,服务器占擗了和使用它的应用程序一样的地址空间(进程)。所有的进程内COM服务器输出四个标准函数:
2008-03-28 01:16:00
911
原创 C#与DLL和COM的混合编程(3)- 高级COM互操作(Advanced COM Interop)
Advanced COM Interop.NET framework 是从COM的一种自然地进步,因为这两个模型共享了许多中心的主题,包括组件重用和语言中立。为了支持向后兼容,COM interop提供了不需要修改现有组件而能访问现有COM组件的方法。可以通过使用COM interop工具导入相关的COM类型来合并COM组件到.NET Framework的应用中。一旦导入,COM的类型
2008-03-28 01:06:00
2232
转载 C#与DLL和COM的混合编程(2)-C#调用COM组件
这部分描述了在托管代码中调用COM组件的方法,现存的COM组件在托管代码中作为中间件或者独立的功能实体是很有价值的资源向.NET Framework报露COM组件1. Import a type library as an assemblyCOM的类型定义通常在type library(tlb)中,与之对应的是CLS兼容的编译器在assembly中产生类型元数据(type metadata),这两
2008-03-28 01:04:00
1075
转载 C#与DLL和COM的混合编程(1)-C#调用C++写的非托管的DLL中导出的函数
C#调用C++写的非托管的DLL中导出的函数Platform invoke是一个使得托管代码(managed code)能够调用DLL中实现的非托管函数(unmanaged functions)的服务(service),例如:那些Win32 API中的函数。它定位(locate)并且调用(invoke)导出的函数,在需要的时候,跨越交互边界列集(marshal)它的参数(integers, str
2008-03-28 01:03:00
1322
转载 C#中对ActiveX控件的调用
一、不生成具有强名称的程序集 1.使用下面这两个命令将COM控件转换成.Net程序集aximp c:/windows/system/shdocvw.dlltlbimp mshtml.tlb aximp将产生两个文件:AxSHDocVw.dll and SHDocVw.dll. tlbimp将产生MSHTML.dll,它包含了3000多个 DHTML DOM的接口,所以转换可能需要一些时
2008-03-27 12:33:00
3421
转载 使用C#访问COM+
刘彦青 编译 本篇文章详细地介绍了如何使用C#语言访问COM+应用程序。文章中的代码是在Visual C# 7.00.9254上编译通过的,经过很少的修改也可以在β1版的Visual C#上编译通过。 如果需要使用任一种支持.net
2008-03-26 23:03:00
2774
原创 What is ActiveX DLL?
Q: What is ActiveX DLL? A: An ActiveX DLL is a DLL that supports OLE Component Obje
2008-03-24 12:24:00
676
原创 RIA:web程序员出路在何方?
随着各种RIA的解决方案的提出,HTML标准推进的步伐已经再无法跟上RIA的发展,在可预见的将来必有一种RIA放案取代html成为事实上的标准,JSFFlashFLEXSliverlightWPF Browser Application
2008-03-14 14:27:00
73
原创 FF下zoom的替代方案:单位em
css 属性zoom是ie私有属性 在FF中(或者说仅实现CSS标准的其他浏览器中)无法使用,一直在网上搜索它的替代方案,但没有收获,后来听群里有朋友说em或可解决此问题,经过研究和测试,发现果然可以解决。首先是em的计算方式,当本元素和父级元素没有指定以em或者百分比为单位的font-size时,1em严格等于16px,当本元素和父级元素指定了以em或者百分比为单位的font-size时,则
2008-03-11 13:51:00
1160
原创 javascript设计模式交流(五) ——Composite Pattern
组合模式是一种应用广泛的模式,在web开发中更是大量使用,Silverlight的很多对象都有Group机制,即是组合模式的典型应用。组合模式常常被误解为树型结构或者集合,请体会下面两种关系: 一个几何图形是几何图形,几个几何图形的组合仍然是几何图形 一个人是人,但几个人的集合不是人 组合模式适合的正是前者所描述的情形:总体和个体实现了同一个接口。对任何语
2008-03-09 11:51:00
817
原创 JavaScript设计模式交流(三)——Templete Method Pattern
Templete Method是一个相对简单的模式,在父类中一个 多态地调用子类方法的方法 被称为Templete Method,在js中,因为缺少必要的接口检查和虚方法,不能够简单地使用C++或者Java的方式实现,但通过js的scope chain的灵活应用,可以更为优美地实现这一模式。 在js中,有一种非常有趣的继承方式:元类。尽管语言级别未提供支持,但是first class
2008-03-09 11:19:00
975
原创 javascript设计模式交流(四) ——Interpreter Pattern
解释器模式听起来高高在上,但它其实应用广泛而且非常实用,javascript是一门解释型语言,它的大多数引擎(Actionscript是一个特例)都是解释器,解释器的实现十分复杂,然而解释器模式并非如此 ,思想上解释器模式借鉴了解释器的实现,但根据需要,也可以用很简单的代码实现。在GOF book中这样解释它的意图:给定一个语言,定义它文法的一种表示,并定义一个解释器,这个解释器使用该表示来解
2008-03-08 16:08:00
1101
原创 面向对象之惑
什么是对象?什么是面向对象?对于已经学了这么久C++的我来说,再提出这个问题自己都觉得有点不可思议。然而,我发现我的确没法准确的说出这个答案。当类、继承、多态这些概念深入思想当中的时候,我已经把它们当作面向对象的代名词。回过头来面对对什么是对象,什么是面向对象时,我才想到我从来没有理解过什么是面向对象。来自《面向对象软件开发教程》(Scott W.Ambler)的解释: 对象:
2007-12-21 22:24:00
607
转载 javascript设计模式交流(一) ——Singleton Pattern
原文在 http://blog.csdn.net/yanwl/archive/2005/08/18/458331.aspx即使是简单的脚本语言,应用良好的模式可以得到非常“优美”的代码和较高的效率。尤其是对于交互要求较高的B/S系统,非常有必要用设计模式来优化代码。单件模式(Singleton Pattern)是一种非常基本和重要的创建型模式。“单件”的职责是保证一个类有且只有一个实例,并
2007-11-25 23:01:00
602
原创 javascript设计模式交流(二) ——Prototype Pattern
Prototype Pattern是一种创建型模式,在GoF Book中它的意图被描述成用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。Prototype Pattern本身实际上非常简单,任何一个提供了clone()方法的对象都可以成为原型对象,所有通过它复制的对象都属于一类对象。在静态语言中,这一模式被用于运行时指定对象类型,相比工厂模式,这一模式无需创建与类层次平行的工厂类结构
2007-11-25 22:54:00
762
原创 SQL语法产生式
sql_list : sql ; | sql_list sql ; ; sql : schema_element_list | view_def ; schema_element_list : schema_element | schema_element_list schema_element ; schema
2007-10-10 11:14:00
726
原创 谁动了我的this
js的this总是令人惊奇 这里给出一份准确的定义 js的函数可能在3种情况下被调用: 使用new运算符构造新对象(注意,是new运算符调用了函数,这里的括号是new的一部分) 使用()运算符调用函数 事件和定时器通过接口调用js函数 在第一种情况下 函数执行时的this指向一个新的Object对象 与其他任何因素无关在第二种情况下 函数执行
2007-09-21 16:59:00
894
原创 vs2008抢先体验
http://blog.xunlei.com/web/category.html?uin=csf178&category_id=78 第一感觉很不错 用用看吧一下子多了不少东西 有点懵 呵呵
2007-07-06 23:40:00
630
原创 C++(2)
行注释尾部的??/会吃掉下一行(当你在注释后面使用很多?时shift不要先松手 否则就把下一行吃掉了) ——exceptional C++ style
2007-07-05 19:55:00
668
原创 87年C怪码大赛冠军 现代C++编译通过版
#include #define D define#define Y return#define R for#define e while#define I printf#define l int#define W if#define C y=v+111;H(x,v)*y++= *x#define H(a,b)R(a=b+11;a#define s(a)t=scanf("%d",&a)#def
2007-06-24 14:28:00
1383
1
原创 javascript的类型默认转换机制.
javascript是一门弱类型语言 它的函数形参不指定类型 它的变量在赋值时连同类型一起覆盖 所以不存在类型转换问题,等等,不存在类型转换问题?哦 只是赋值时不存在类型转换问题。 javascript的类型转换主要存在于表达式运算过程中,更直接的说,js的类型默认转换几乎全是由运算符引起的,这篇文章里还会讨论显式转换。在js的运算符中 有以下几类 +运算符 只作用于字符串和数
2007-06-23 01:35:00
841
原创 C++(1)
C++里未重载的a[b] 永远被翻译成*(a+b) 所以写a[0]和0[a]是一样的—————————————imperfect C++
2007-06-22 00:59:00
1042
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人