dinghao

记录成长点滴

 

2007年9月6日

cuteEditor6.0的破解方式与Cuteeditor6.0的脚本调试

摘要: 昨天遇到一个Js问题,想调试Cuteeditor脚本。没想到还要许可证,在网上找到个免费的,可是由于loader.js是动态的,仍然没有办法调试。终于决定破解,以前从没有想过要破解,总感觉这样做很不道德,但是实在是被这个bug折磨烦了,只能破解后看看他的执行流程。没想到第一次破解竟然用了近一天时间,不过最终还是搞定了。服务端代码破解:首先反编译为IL,找到动态生成js的代码,让他加载指定的文档。修... 阅读全文

posted @ 2007-09-06 23:49 思无邪 阅读(2528) 评论(2) 推荐(0) 编辑

2007年8月14日

Nhibernate入门

摘要: 对大部分Nhibernte操作,都写了一个Demo,映射文件全部手写(手疼),看完后会对Nhibernte有个全面的了解。不想看文字的,可以看看附件中的代码。什么是NhibernateNhibernate会把数据库中的表用对象图的形式表现出来,对开发人员来说,他们面对的不是底层的ADO,DateSet等结构,而是包含业务逻辑的对象。Nhibernate足够聪明,它能做到自动、透明的持久化对象图,这... 阅读全文

posted @ 2007-08-14 16:35 思无邪 阅读(4416) 评论(20) 推荐(0) 编辑

为啥不用ActiveRecord

摘要: 首先,AR的改进之一是用特性来替换映射文件。称这样能减少代码,提高开发效率,但是用Nhibernte大部分人也不会手写代码,而是通过工具生成,这样这点其实优势不大。不可否认这样做在修改时更方便,不用修改两个文件(DRY)。但是缺点也很明显,特性不可能完全映射配置文件,否则特性会把类弄的很乱,这也使AR只能是Nhibernte的子集。另一个缺点是,特性使域对象变的不单纯,移植性差。再一个,特性效率也... 阅读全文

posted @ 2007-08-14 16:33 思无邪 阅读(3144) 评论(10) 推荐(0) 编辑

2007年7月20日

ajax-javascript-范围链、call对象与闭包

摘要: 闭包基础都知道,局部变量隐藏全局变量,为什么会隐藏?因为函数对象的[[scope]]内部属性,闭包能实现也因为有这个对象。Excution Context&Scope&Call Object当函数被调用时,解释器为其创建一个上下文,当函数返回时,解释器回到最初的上下文。解释器形成一个上下文栈。上下文包含:全局上下文和局部上下文。创建上下文会伴随一系列对象的创建,包含:Call Object:此对象包含一个arguments属性指向argumets对象。argumentsObject:保含的是调用者指定的参数和被调用函数无关。赋值给Call Object的arguments属性。 阅读全文

posted @ 2007-07-20 17:39 思无邪 阅读(3228) 评论(8) 推荐(0) 编辑

2007年7月19日

Ajax-Javascript-继承

摘要: Prototype-based继承继承只是在用OO的术语描述Js,不能用OO继承来理解Js的继承。Js的继承根据实现方式不同,结果也不同。如Ma的继承打破了prototype chain,和常用的继承实现方式不同。这里只谈基于prototype的继承。Prototype链由于继承,prototype会形成链。链从当前的prototype开始,到Object结束。Prototypechain是许多Js方法的基础,如变量定位机制:先查找构造函数内的变量,即obj自身,没有会顺着prototype chain寻找,并一直到Object。如果没有找到则undefined。因此实现继承最好不破坏这条链, 阅读全文

posted @ 2007-07-19 13:36 思无邪 阅读(3034) 评论(4) 推荐(0) 编辑

2007年7月18日

Ajax-JavaScript-namespace

摘要: 引入Namespace的目的JavaScript中引入Namespace和C#一样,都是为了避免命名冲突。但是Js又有些特殊:js解释执行,如果后面定义了同名的变量会覆盖前面变量,并用应用新定义变量的语义。这在Js中合法,没有错误提示,因此bug很难找。可以想象,我调用了一个第三方模块,如果这个模块没有定义在Namespace中,我定义的变量和函数很可能就覆盖了第三方的同名符号。模块原则a module should never add more than a single symbol to the global namespace。只有这样才能保证模块的重用性,MicrosoftAJax就 阅读全文

posted @ 2007-07-18 14:01 思无邪 阅读(4435) 评论(11) 推荐(0) 编辑

2007年7月17日

以前的东西-Mvp2

摘要: 看了回复发现有些人对MVP的理解和我的理解有些差别,写了下面的东西。主要参考了下面几篇文章http://codebetter.com/blogs/jeremy.miller/articles/129542.aspxhttp://codebetter.com/blogs/jeremy.miller/archive/2006/02/01/137457.aspxhttp://haacked.com/ar... 阅读全文

posted @ 2007-07-17 19:27 思无邪 阅读(676) 评论(0) 推荐(0) 编辑

以前写的东西——支付宝

摘要: 由于现在来博客园少了,blog也不常更新,其实有时候还在写东西,大部分懒的传。今天想更新,才发现写的东西也不知道扔哪里了,也许被误删除了,尤其有两篇自己比较满意的也找不见了。明天去公司找找,把能找到的都传上来。把以前写的最终版本支付宝接口放上来。库的改变:1、 增加了一个接口,public void CommonProcessNotify(Page page, string verifyUrl, ... 阅读全文

posted @ 2007-07-17 19:05 思无邪 阅读(8713) 评论(13) 推荐(1) 编辑

Ajax.net-Javascript

摘要: 上个月开始看Ajax ToolKit代码,到Animations.js时发现,根据从Js高级程序设计学到的Js语法没有办法解释Animations的实现,细看MicrosoftAJax.js也是不懂地方很多。经过近一个月的Js学习,把一些体会记录下来,使其他人可以尽快的从OO观念转到Js。态度 以前以为Js是很弱的语言,这次深入的学习发现Js的功能出乎意料的强大。工具 Vs 带的编辑器:不专业,用它写代码验证自己的一些想法会被气死,太慢。Orcas据说增加了智能感知,从MicrosoftAjax.js的语法也可以看出对Linq的支持,支持智能感知也顺理成章,只是不知道对自己定义的函数有没有此功 阅读全文

posted @ 2007-07-17 17:35 思无邪 阅读(2685) 评论(16) 推荐(0) 编辑

2007年6月13日

实现等待窗体的几种方式

摘要: 实现等待窗体的几种方式:下面说明了五种可以实现等待窗体的方式,其中三种给出了代码。准备资料安全访问控件成员为了保证在创建控件的线程上调用控件成员,用下面的方式封装控件的属性、方法、其他自定义成员的访问。如: winWordControl.LoadDocument()封装为:delegate void VoidDelegate(); private void LoadDocument() { if ... 阅读全文

posted @ 2007-06-13 13:03 思无邪 阅读(4466) 评论(4) 推荐(1) 编辑

2007年4月13日

GetHashCode、Equals、IComparable的重载方式

摘要: 第一个 GetHashCode 这个方法争议最多,主要原因是MSDN的每个版本对他的说明都不同。 只要看一下MSDN,就会发现它对这个方法的说明至少有三个版本:最早的:“Derived classes must override GetHashCode with an implementation that returns a unique hash code”.net1.... 阅读全文

posted @ 2007-04-13 20:43 思无邪 阅读(3416) 评论(7) 推荐(0) 编辑

2007年3月4日

解析WordprocessingML(三)解析WordMl的基本方法和途径(b)-映射xsd

摘要: 六、choice、sequence、maxocc、minocc的映射简单的可以用List实现,复杂的必须自己写程序控制。例子:CT_Body中EG_ContentBlockContent的映射方式,EG_ContentBlockContent包含了choice和maxocc。xsd:1、 精确映射,即实现一一映射。下面的类实现Unbounded不足:调用者必须知道存在EG_ContentBlock... 阅读全文

posted @ 2007-03-04 19:13 思无邪 阅读(4298) 评论(4) 推荐(0) 编辑

2007年3月2日

Xsd入门

摘要: 看下面这段简单的xsd:<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="ddd"> <xs:annotation> < 阅读全文

posted @ 2007-03-02 21:16 思无邪 阅读(9547) 评论(2) 推荐(0) 编辑

解析WordprocessingML(二)通过数据集自动生成表格

摘要: 这要比查找替换简单很多,思路很简单首先在word中打上标记(并不是word中定义的标记,只是Word表格中的纯文本),然后通过WordMl在打标记的位置生成表格。 表格的格式延续原来的格式,如果某些行有内容,可以在配置文件中指定该行不被替换。因为简单很简单只贴出部分代码:/**////<summary>///替换指定标记的表格///</summary>///<paramname="tableDate">表格的数据</param>///<paramname="wordTable">要替换的表格&l 阅读全文

posted @ 2007-03-02 21:15 思无邪 阅读(4712) 评论(1) 推荐(0) 编辑

解析WordprocessingML(三)解析WordMl的基本方法和途径(a)

摘要: 一、Open Office开发资料直接操作WordMl在实现复杂些的操作时,总有些不方便,因此就有了一个把wordML解析到类中的想法,顺便把word转换成Html。WordMl从word2003开始就比较完善了,到06年十月形成了Open Office标准。word2007已经是符合此标准的格式了。Word2007的WordprocessingML比03的增加了许多新标记,增加了组,重新定义了X... 阅读全文

posted @ 2007-03-02 21:13 思无邪 阅读(6598) 评论(1) 推荐(0) 编辑

2007年1月23日

解析WordprocessingML(一)查找和替换

摘要: 通过WordprocessingML操作word,可以不用引入第三方的库(如VstoAPI),把word当做xml文本操作。可以在没有安装word的机子上运行,目前对WordprocessingML支持最好的是word2007。替换和查找是我遇到的最复杂的问题,目前想到三种解决方式都不完美,抛砖引玉,希望给提些思路 阅读全文

posted @ 2007-01-23 13:15 思无邪 阅读(4203) 评论(5) 推荐(0) 编辑

来自.netFrameWork的一种异常处理方式

摘要: 异常处理是个很烦人的问题,经常破坏程序结构。.netFrameWork中的异常处理:一般有个内部辅助类,此类包含的都是返回值是异常的静态方法,此方法根据传入的参数从资源文件中找到异常信息,然后返回给调用者。调用者不会new新的异常。不错的处理机制。如:下面两个是辅助类中的方法internalstaticExceptionInvalidConnectionOptionValue(stringkey)... 阅读全文

posted @ 2007-01-23 10:37 思无邪 阅读(899) 评论(0) 推荐(0) 编辑

2007年1月9日

我们仍然需要贫血的域模型

摘要: 几种域模型的争论持续很久了,尤其在Martin Fowler批判贫血的域模型后,争论更加激烈,Martin的文章我刚看到,他对贫血域模型的观点我基本都同意,但是我得出的结论确和他不同。 我同意只含有属性(甚至加上CRUD)的Domain Object是不符合OO的,这样做很类似于使用事务脚本和表模块方式,只是把取出的数据再封装到类中。在这种模型下Domain object更像一个DTO和值对象。 ... 阅读全文

posted @ 2007-01-09 15:58 思无邪 阅读(4261) 评论(32) 推荐(1) 编辑

2006年12月11日

MVP,终于把界面分离出来了

摘要: 目前web开发中面临的一个问题是,很难分清楚哪些是程序员负责的,哪些是美工负责的。在同一个公司还好办,沟通容易,协调也简单。如果是多方合作的项目,一方负责界面一方负责程序,这样分工就很难,由于界面是和一些控制逻辑邦定在一起的,这部分工作很难说是属于哪方,并且涉及界面的部分也难以并行进行。 如现在的一个项目,A方:负责页面(html,aspx)B方:负责程序。今天A方把几个页面调整了... 阅读全文

posted @ 2006-12-11 20:28 思无邪 阅读(6104) 评论(24) 推荐(1) 编辑

2006年11月21日

asp.net的一个bug的发现和解决

摘要: gridview中的按钮类型用如果用image,触发rowcommand事件时会被执行两次,据说只出现在IE6,IE5、firefox等没有问题,我的IE7也存在同样问题,似乎和IIS版本也有关系,期待微软的补丁。 今天下午一遇到一个问题,gridview 的rowcommand事件会被执行两次,postback也会执行两次,最初还怀疑是调试器的问题,经过察看日志,确定真的被执行了两次。... 阅读全文

posted @ 2006-11-21 22:18 思无邪 阅读(4031) 评论(7) 推荐(0) 编辑

导航