- 博客(20)
- 收藏
- 关注
原创 ShineWay-3-JS进行Base64编码
从上一章,我们看到ShineWay背后做了把界面的变化/事件编码成协议的请求包交给后台控制器逻辑进行处理。并且请求包的格式是XML的,但是我们的XML元素包含的是各式各样的控件的数据,属性等等,如果不作处理,它极有可能把XML格式搞得一塌糊涂。解决这个问题的方法大致有几种:1.把要嵌入的数据过滤特殊符号,比如等。2.把数据当作XML的CData部分来传输。3.把数据完全编码成不可能混淆的部分。
2007-03-26 10:28:00 828
原创 ShineWay-2-事件处理模型
在上一章中,我们了解了在ShineWay下开发所得到的第一个初始化的页面。我们以一个简单的加法运算为例子,把它命名为SimpleAdd,分析这样的例子我们很快知道,需要两个输入数,和一个输出数。以及一个按钮来触发计算,因此我们的我们编写一个控制器:namespace ShineWay.AjaxControl.Sample{ /// /// Calculator 的摘要说明。 /// publi
2007-03-20 11:57:00 646
原创 ShineWay-1-生成页面
诸如访问http://localhost/swsample/SysPage/ShowView.aspx?view=Calculator 我们看看ShowView.aspx对应的后台类ShineWay.AjaxComm.GateWay.ShowView,它是一个Page,在他的Page_Load事件中我们看到 this._viewName = this.Request.QueryStrin
2007-03-18 10:22:00 694
原创 ShineWay-一个完全基于Ajax的WEB开发框架
这是ShineWay的讨论区http://groups.google.com/group/shineway ,其中“说明”一文是对ShineWay框架的描述和介绍。后面我会在讨论区和此Blog上慢慢把这个框架的开发细节作为一个系列写出来,希望有所帮助。
2007-03-13 11:14:00 562
原创 定位单向链表的倒数第n个节点
问题:有单链表LinkNode,请写一算法返回该链表的倒数第n个节点.由于是单向链表,倒数往回数的可能性好像不大.于是诞生以下三种思路,借以参考。假设单链表的头指针为root,链表定义的两个域(data,next),为简化讨论,假设n小于单链表的节点数。思路1:要做到从尾往回数,就必须让单链表逆向。这可谓是最愚蠢的想法,因为把单链表逆向之后,很快能够得到第n个,但是好像返回结果后,我们必须恢复
2007-03-07 21:36:00 2063 1
原创 设计模式-创建型模式
1.设计模式之创建型模式分为5类:抽象工厂,构造者,工厂方法,原型,单例2.创建型模式指的是获取对象的方法,如何通过我们的类之间的结构搭建灵活的,扩展型强的对象获取系统.3.这五类可以这样来加以说明: 3.1 抽象工厂:它适用于一组产品的更换,也就是说,我们有一系列的产品,他们因为某种风格组成一组形成系统的某种风格.系统可能拥有很多风格,因而每一种风格都应该对应一组不同的产
2005-04-19 22:18:00 955
原创 位图排序
1.位图的理解我们都明白图形格式中位图储存方式,其实就是以象素为单位的小方块,一格一格的纵横累积起来.每一个小方块代表一种颜色,当然如果对于黑白的二色图来说更加简单,只需要一个bit位即可表示.这和我们的数据在计算机中的存储格式是及其相似的,内存条的也像是一格一格的bit位纵横交错而成.因为这样的启发,我们发现一个个bit位象列队一样排列着,顺序相当严谨,如果我们的数据能够通过一种
2005-04-15 11:44:00 2227
原创 Java的double类型探索.
一.double类型的存储表示 Java的浮点类型表示完全按照IEEE754标准(Standards of IEEE 754 floating point numbers),有兴趣可以上IEEE标准网站(www.ieee.org)查阅.该标准的内容基本上描述了浮点类型的存储格式(Storage Layout),下面我从中总结几段,来概括该标准,详细信息请查阅标准原文. 1.什么是浮点数. 计算机上
2005-03-27 15:43:00 1635
原创 WEB工程实现清晰VIEW-Server分层
你也许已经是一个PHP的高手或老手了.或许你已经在PHP项目中经验丰富.如果是这样的话,你是不是更加感觉PHP的工程中使用层次结构的难度?在这篇文章中,我通过对JPSpan一点粗浅的研究,谈谈如何在WEB工程实现GUI设计的方法.1.使用DHTML WEB页面的编写是一件很复杂的事情,不管是从审美角度还是从功能角度来看,页面的设计师也许很关注如何使用图片以及CSS使得他看起来象一副画.然而,
2005-02-28 10:09:00 1187
原创 PEAR之HTML_QuickForm的尝试
如果对于我们PHP的爱好者来说,最大的希望就是能让PHP更加胜任大系统的架构.直到有一天,企业级的解决方案都会考虑选择的PHP的框架体系.然而,我们不得不承认,PHP先天的脚本属性使得这样的理想比较奢侈.但是,努力一定会有所收获.PEAR::HTML_QuickForm这个公共包让我们的代码更加纯洁,不再是HTML和脚本稀里糊涂的搅在一起.然而他更大的功能我们非常有必要去发掘.毫无疑问,他
2005-02-24 16:19:00 1225
原创 Java实现分类文件拷贝
在Java中对文件进行分类 如果你是个Java程序员,也许你对Java的文件组织已经非常清楚,例如你知道你们项目组是如何把众多的Java文件进行分类,组成整个项目工程.通常你们可能会根据业务来分组.有时候,我们作为项目成员,就会把自己的Java文件根据分组来进行分类的.下面,给出个例子: 某项目ProjectX要给某家名叫comX的商业公司做的信息系统,根据业务需要分为,a,b,c,d四组,采
2005-01-15 13:19:00 1497
原创 JAVA中实现界面跳转
关于系统平台中的界面跳转问题:(JAVA) 假设这样一种情况,我们的系统的界面使用javax.swing包构建,界面的基础是BaseView,他是一个容器,当然他应当提供获取控件元素的功能,比如得到按钮,下拉框,表格等,当然仅仅是一个容器而已,而我们的界面的元素全部部署在JPanel上. 描述为: 一个界面就是一个BaseView,他只包含一个JPanel,这个包含JPanel包含所有我们的S
2005-01-05 23:53:00 11869 2
原创 为什么需要重载equals?
关于实体类中需要重载equals的好处,方法.(JAVA)Java中的基类Object已经有了equals方法,原型是public boolean equals(Object obj){ return (this==obj);}很明显,比较的标准是对象指针是否相同,也就是说,两个实体类的内部值相同,但内存位置不相同的两个对象按照Object的默认方法是不可能比较相同的,也就是说equa
2005-01-03 15:40:00 1996
原创 感伤2004
2004年还剩下最后的几天,我现在在寒冷的包头,是该写下点什么,毕竟这已是一年了.更何况于我或是于人,这一年都不简单,在我身上发生了一些转变,我从学生变成了社会公民,而在人身上,发生了太多的灾难,即使这一年只剩下不到10天,在12月26号,一场9.0级的地震加凶猛海啸夺去了几万人的生命.或许是因为2004这个数字本身就有着数学的美,美的让人感觉象冰凌一样整齐,如同包头的冬天,残酷而不凌乱
2004-12-29 09:09:00 1331 10
翻译 Ant权威指南部分翻译
翻译Ant权威指南的第5,6章.第五章 用户自定义任务(Task) 通过用户定制化来扩展(extend)Ant的概念已经并将一直成为Ant最重要的和被其大力声称的特征.Ant的建造者们给我们提供了一个足够健壮(robust enough)的系统来和当今可用的语言,工具协同工作,并具备兼容未来出现的语言和工具的能力.举个例子,当Ant在2000年早些时候出现的时候,并没有适合和C#配合的Ant任
2004-12-23 19:47:00 3029 1
原创 人民币大写转换
问题: 商业领域,开发票,支票等金钱相关项目通常要求转换成大写,诸如“壹拾圆陆角玖分”.编程过程中,一般的钱币都是double型.当前看到的方法:之所以写这个方法,因为看到的方法设计的不是很好,通常的做法就是逐个字符处理,通过冗长的switch...case结构判断,来决定当前是否应该输出某某汉字,总体来说,完成这件任务是简单的,但是代码和设计质量却不令人满意.设计方法如下:需要注意的问题:
2004-12-21 19:56:00 2667 2
原创 用例的需求分析-读书笔记(未完)
一.系统边界和参与者参与者Actor定义:在系统之外,透过系统边界和系统进行有意义的交互的任何事物透露出参与者的特征:1.不属于系统2.通过系统边界直接和系统交互->参与者的确定决定了系统边界的确定3.进行有意义的交互4.任何事物其中第二点的"直接"要注意:如果一个顾客通过售票员买机票,那么对于售票系统来说,售票员是参与者而顾客不是.由此又产生了业务建模和系统建模的区别:对于售票系统来说,当业
2004-11-18 12:05:00 1932
原创 二分查找的代码优化
1.整数求余.我万万没有想到过,求余运算符%也会成为被优化的对象,从前写下循环链表的例子:int a[N];void append(int m){ i = (i+1) % N; a[i] = m;}看哪,多么简洁的代码,多么美妙,你几乎看不出什么破绽.然而,你听他说要把%给优化掉时,你会不会大跌眼睛?至少我是这样."尽管大多数算术运算需要花费大约10纳秒的时间,但%却要接近100纳秒,%的开销
2004-11-17 10:42:00 1679 2
原创 关于一维模式识别的快速解决方案.
问题原型:给定一个一维向量,向量的值为正数或者负数,我们假定没有0(有0也没所谓,只是没什么意义),问哪一段向量的值和为最大? array arr[0...n] 存在 sum(arr[i]...arr[j]) is max!其中i,j属于[0,n].1.我尝试解决该问题的方法: 首先,引进两个数据结构: a.struct Meta{ //记录可操作的某个元素 int val;
2004-11-02 15:22:00 964
原创 Apache服务器的乱码问题
在Apache服务器下浏览页面得不到正确的编码格式,比如中文得不到显示,这时有两种做法: a. 把httpd.conf中的AddDefaultCharset ISO-8859-1 注释掉 增加AddDefaultCharset GB2312 b. 另外也可以通过指定你的web文档的Meta完成 同时在http
2004-10-28 18:28:00 684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人