自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(45)
  • 收藏
  • 关注

原创 flex3 中 HTTPService 的緩存機制和 Session 機制 .

http://home.fang.com/ask/24230/http://home.fang.com/ask/24231/http://home.fang.com/ask/24232/http://home.fang.com/ask/24234/http://movie.douban.com/doulist/17177652/http://movie.douban.com/d

2014-11-11 05:16:50 108

原创

http://home.fang.com/ask/24230/http://home.fang.com/ask/24231/http://home.fang.com/ask/24232/http://home.fang.com/ask/24234/

2014-11-11 05:12:15 126

原创 现在切分地图所使用的投影 .

http://movie.douban.com/doulist/17009489/http://movie.douban.com/doulist/17021793/http://movie.douban.com/doulist/17022174/http://movie.douban.com/doulist/17022490/http://movie.douban.com/doul

2014-11-11 02:52:27 149

原创 postgres 层次查询

postgres 有递归查询,说白了就是广度遍历,但是没有层次查询,postgres plus 可以模拟 oracle——包括plsql存储过程等等语言特性,但是要钱。怎么搞出层次查询呢?这里有个方法:http://explainextended.com/2009/07/17/postgresql-8-4-preserving-order-for-hierarchical-query/

2013-11-27 17:20:04 341

原创 域外调用

现在有一个如下结构的功能:function outter(){ var a = 1; var r = inner(); println(r); function inner(){ return eval('a + 1'); }}在 inner 中,使用 eval 求解表达式,因为 inner 函数是嵌套在 outter 中的,它也就可以访问到 a 变

2013-10-10 13:32:35 465

原创 本中文化JS設計要點

對一些程序員來說,中文編程是一個很有意思的題目,這種思維有民族情緒作怪,也有“爲什麽不能”的冒險意識,以及切實對用母語思維的優勢的體認。要設計一門好的中文編程語言除了要能擺弄編譯原理等等,還需要對母語本身有較深的理解。以前易語言的什麽“循環容器首”,是比較失敗的典型。除了語感,方塊字對排版的要求和線形文字也不盡相同。中文化JS的雛形很早就有,這次有長假,把它實現了。現在回顧一下它的設計得分

2012-10-24 15:20:17 1012

原创 用JS寫了一個中文化的JS

趁有假期,用js實現了一套js的詞法分析器、語法分析器、編譯器、解譯器,以及一個很簡單的ide,自己實現了函數和閉包。另外寫了中文化的詞法分析器語法分析器,實現了一個我比較滿意的中文編程語言。http://code.google.com/p/chn-js/------------------------------中文編程語言規格(實例方式):+ - * /

2012-10-24 14:28:50 1009

原创 記一次用腳本搞定人機博弈問題的經歷

人機博弈(王曉春著),非常經典,在研究這些算法的時候,最大的困擾是博弈樹過於龐大,其展開完全是在運行中進行的,如要對算法進行分析,斷點這種單線程的方法是絕對不行的。即使是日誌,將所有調試信息全部輸出,在一個局面有幾百個上千個子局面的情形下,日誌也失去了查看的價值。 我在做一個小遊戲,開始我想機械的照抄書上的套路,寫估價器,套上 alphabeta,船到橋頭自然直。不幸的是,如果沒有徹底把算

2010-01-25 00:05:00 452

原创 在 JScript.net 中使用匿名函数做委托

import System;import System.Drawing;import Accessibility;import System.Windows.Forms;class Functor{ var h = null; function Handler(sender, e : EventArgs){ if(h) h(sender, e); } fu

2009-06-30 16:10:00 528 1

原创 div 盒子最基本的問題

div 默認情況下是鋪滿容器的段落級的標記。 如圖: 如果希望它自動適應內容大小,在 ie 可以設置 width:1px,并將自動換行關閉(white-space : nowrap;),而在 ff,這樣設置還不夠,需要將其顯示風格設為 display :    inline-table; 或 table 才行。 

2009-02-01 00:15:00 406

原创 在 eclipse 里加大 tomcat 使用的 jvm 的内存

最近在调试程序时老是出 Java heap space 不足的错误。网上很多方法加大 jvm 的内存,如改 tomcat 启动脚本、环境变量等等,均告无效。 何以说无效。 创建一个观察网页,mem.jspb>memb>br>total: %= Runtime.getRuntime().totalMemory() %> free : %= Runtime.getR

2008-11-28 11:30:00 780

原创 flex3 中 HTTPService 的緩存機制和 Session 機制

經過反復試驗,試驗過程就不寫了。flex3 的 HTTPService 做的很搞笑,它的緩存機制并不依賴于服務器發給它的 cache-control 聲明,也和瀏覽器沒有任何關係,默認情況下,它總是將緩存打開,調用 clearResult 方法可以清除緩存。不過它的 session 機制做的倒是還行,一旦一個 HTTPService 登錄,其它創建的 HTTPService 也跟著登錄了,不需要把

2008-10-04 11:35:00 1120 1

原创 new 是什么 this 是什么

今有函数:function Person(){    this.name = "Mike";    this.speek = function(){WScript.Echo(i am  + this.name);};}第一种调用:var a = new Person();a.speek();第二种调用:var b = [];Per

2008-08-06 12:53:00 604 1

原创 回調方式小結(二)

要搭建可靈活擴充和充分解藕的系統,回調是少不了的特性。如上文,利用傳統的命令式語言如c,面向對象語言如java,函數式語言如 js 各自的語言特性,都分別可以實現回調。 c 語言的回調原理是利用函數指針特性,將函數入口地址當作參數傳遞,這是c語言很靈活的一個地方:數據和函數都在內存里,都可以用指針的形式傳遞。c 語言這個做法的一個缺點是客觀上造成頂級函數過多,一些無意義的小運算因為要回

2008-08-04 23:06:00 433

原创 回調模式小結(一)

目的:在形如func(){    head head head...    act();    tail tail tail...}的代碼中,常常會出現 act 并不是特定的某個動作,可能需要外界定制,如void main(){    int a = 2, b = 3;        double r=a + b;

2008-08-04 22:08:00 948

原创 js 闭包小研究

考察如下代码:    var t= function(arg)...{        alert(arg);        return arg;    }(5);    alert(t= + t);结果为内容分别是 5 和 t=5 前后的两个对话框。这里,在赋值语句 t=function(){} (实参) 执行过程,实参已经赋值给了形参,匿名函数被演算,t 的值变为函数的

2007-10-26 00:18:00 767 2

原创 Oracle 层次查询的一个妙用

往下查询所有的节点, 按节点缩进.SELECT * FROM organ CONNECT BY parent_id = PRIOR id START WITH parent_id is null;其工作方式为, 先找到 parent_id 为 null 的记录. 再按 parent_id = PRIOR id 指定的规则往下层层展开. 此处 PRIOR 表示按上一层的 id 等

2007-08-27 15:59:00 803 1

原创 Javascript 的继承

 以前在哪儿看到的。        function A()...{            this.name = "abc";            this.say = function()...{                    alert(this.name);            }        }        function B()...{            

2007-06-14 09:41:00 1152

原创 现在切分地图所使用的投影

DelegateIntroductionAs a variable can be declared as a pointer so can a function. A pointer to a function is a type of variable whose name can be used as a variable although it is not a traditiona

2007-05-09 17:28:00 677

原创 dhtml 琐屑

function f(a)...{      alert(a);}若呼叫形式为 f() 则 a 为 undefined 而不是 null.getAttribute(xxxxx)  是 null,firefox 里亦然。document.all 在 ie 和 firefox 都能以数组形式遍历所有元素。但 div.all 只在 ie 里有效。

2006-11-10 13:25:00 677

原创 精研物理 格物致知(二)

昨晚顺手看到龙书,拿下来一页一页的翻,越翻越省悟当时自学编译时亦颇浮躁。以为antlr应该是很方便的产品,拿来后生成代码,便可以实现语法分析,一旦发现不是这样,便觉得这个东东还不到家,等有空了再玩。这样下来,对于编译相当于没有学会。尽管这和杂志的浮躁式的宣传也有莫大的关联。慢慢回味这些。学画画,买的是Painter的书,甚至还买了手写板。而物品的临摹却几乎没做过,没有系统的学习过绘画知识。要画美女

2006-10-14 01:48:00 932

原创 精研物理 格物致知(一)

这几天赶一个项目,经理是一位80年代毕业大学生。听到这个单词就令人肃然起敬了。做一个语音压缩算法。前后过程如下:先是,国庆的时候叫到公司,接下一个任务说用MELP算法做一个电话控件,以便放在网页上,据说该算法效率高,在语音压缩算法里算是很高的。我看着一大堆c语言的陌生代码,心里一百个不情愿。国庆节期间便没有动手。后来公司催,把代码走了一遍,发现压缩的过程最好能调用 windows 自带的acm

2006-10-14 01:46:00 1500 4

原创 js 语言断想

关于js的实质,前人已经指出,是c风格的lisp.越用越发现其事确实. js 的核心代码只有两句:第一句: var a = [];第二句: eval(); 第一句包括了js对数据组织的观念.一对简单的 [], 里面盛放的可以是数据,可以是代码,可以充当数组,可以充当堆栈,队列,也可以充当哈希表,最后,又可以充当对象.充当数组堆栈看看它的方法即可了解. 充

2006-07-28 21:18:00 1186 1

原创 AJAX及界面设计迁流

AJAX及界面设计迁流[email protected]转载请注明出处  AJAX 风潮迅速席卷 web 开发,遗老遗少很不理解,认为 AJAX 开发的东西不够稳健,没有导航等等。和旧 web 开发相比,AJAX 最重要的改进恐怕是在浏览器上可以和 CS 一样,留有一份不被刷掉的内存数据。正因为有 AJAX,CS 传统的界面开发模式 MVC 可以顺利的转移至 web。  前文提出 DB2JS

2006-05-31 22:26:00 1135 2

原创 oracle 中 parent_id = null 的变通实现

今有一表 node id 编号 parent_id 父节点 name 名称

2006-05-23 13:45:00 846

原创 开发速度快的意义

今天看到 csdn 贴了一个博客,太极语言:http://blog.csdn.net/universee/archive/2006/04/09/655769.aspx,开始以为这位仁兄想到的东西我也想到,后来发现他 2002 年便有此高见了,不得不佩服。转而想,2002 年的想法,4 年以后才出东西,如果我有趁手的开发工具,应该很早就抛出了。被 java 折磨了许久,工作效率变得极为低下,

2006-04-10 17:39:00 890 1

原创 选择的奥秘与选择的悲剧

按开发经验来说,本不该再犯这样的错误。幸好只过了3天,后悔还来得及。 我设想按照 prolog 的哲学,把世界理解为选择+操作。这个理解基于多方面的考虑:1.  事实上,的确可以这样理解。比方用户选择一段文字,右键列出可以处理该选择的操作,复制,剪切等等,下一步用户便选择执行其中一项操作。2.  操作的事务化。如果把操作理解为一个对象,操作有撤消方法,实现该方法可以轻松的实现命令链

2006-03-04 22:52:00 625

原创 应用于表层的 OOP 技术:db2js

应用于表层的 OOP 技术:db2js话说 OOP 在业务处理上一败于数据库,再失守于 web 服务器,无功而返,快快不乐,sorry,怏怏不热。它不禁提出了一个富有哲理的问题:那么,什么地方用 OOP 会带来无副作用的快感呢。回顾被 OO 占领的领域:1) 扁平函数库的人格化封装。例如 socket,我用过一个很漂亮的 CSocket 类,用起来比函数好多了。顺便提一下,芝麻是从下面开花节节高的

2005-12-27 11:05:00 862

原创 struts 优劣论(二)

按照人类发展的轨迹,第一篇既然是分析和总结。第二篇该是创新与展望了。struts 框架把中心放在 web 服务器上。其对业务的处理有两种可能:1) web 服务器有进一步的后台业务处理服务器。可能会用到远程对象访问技术。web 服务器所做的工作是把从浏览器查询字符串传过来的参数序列化成业务服务器能理解的对象。2) web 服务器没有进一步的业务处理服务器,或者说,业务层并不存在。web 服务器直接

2005-12-26 17:00:00 744

原创 表达式(2)

语法,先从后面看:class ExprParser extends Parser;options { codeGenMakeSwitchThreshold = 3; codeGenBitsetTestThreshold = 4; buildAST=true; ASTLabelType = "antlr.CommonAST"; // change default of "AST"}// 表达式exp

2005-12-08 14:44:00 599

原创 表达式(1)

和那个没有除法的计算器比(也许是留给我们的作业 :p),这个例子比较象样: 先看词法:class ExprLexer extends Lexer;WS : (  | /t | /n | /r)  { _ttype = Token.SKIP; } ;LPAREN: ( ;RPAREN: ) ;PLUS_MINUS: + | - // 加减 ;MULT_DIV : *

2005-12-08 13:20:00 659

原创 Hello World 该怎么写

Hello World,应该根据特定的语言叫 Hello VB World ,Hello C World 等等。对于例如 C# 而言,可能这样写更好namespace FirstProgram{    class Program    {             public static void Main(string args[])            {                 

2005-12-06 10:31:00 830 1

原创 计算器

java 是默认的,指定语言为 C#.options { language = "CSharp";}语法分析器,派生自 Parser。以下依次为选项语法定义class CalcParser extends Parser;options { buildAST = true; // uses CommonAST by default}expr : mexpr (PLUS^ mexpr)* SEMI! 

2005-12-02 16:58:00 779 1

原创 struts 优劣论(一)

时刻准备跑题的文章。做了两个 struts 标记, AjaxContainer, AjaxForm,在 struts 中实现异步通信的功能。因为以前做过不少这样的东西,整合时游刃有余,前后只花了一天时间。现在愈发反对从上到下的设计,完全倾向于这种倒回来提炼的开发轨迹。回顾起来用 struts已经有几个月了,有必要做个回顾。连带 jsp 不分。优点(&&|| 特点):1)可以有自己的标签。2)三层框

2005-11-23 17:46:00 858

原创 一是数据库,数据库是一

想想我们的项目里能不能用存储过程。不能:因为项目要涉及到不同的数据库,更多的是为了以后换库方便。在代码里直接写SQL语句进行查询。发生换库时,只要简单的换一下连接字符串就可以了。这叫以不变应万变,怎么讲呢,代码不变,数据库爱怎么变就怎么变。换库可以灵活到什么程度,即使公司打算把Oracle项目换成Access做单机版也没有任何问题。能:存储过程的执行速度要快得多,一方面它不需要在业务服务器和数据库

2005-10-01 10:20:00 1069 2

原创 设计模式(五)

记得 2002 年的时候开始看 OO 的书,同时买的设计模式和刘润东先生的 UML,一直不是很感冒。其实,设计模式是一些前人走过的经验之路,正如前文里提到的,例如游标模式等等,已经变成我们生活的一部分。昔人云,李杜诗篇万口传,至今已觉不新鲜。床前明月光这样的句子,小学生都会背诵了。设计模式也是如此,对于 OO 的应用,设计模式给我们开了个好头。唯有价值的东西逐渐沉淀,成为我们日常的一部分。今天学习

2005-09-09 17:20:00 566

原创 设计模式(四)-行为模式

动作链(Chain of Resp.)模式:asp 有很多页面,各自之间的跳转代表了一定的程序逻辑。在 struts 的配置文件里,要说明页面的 forward 为哪个页面。对象处理完自己的工作后就把局面交给下一个对象。 从抽象处理器派生了两个具体处理器,当处理请求成功的时候,转到另一个处理器。命令(command)模式:用过 delphi 的人对这个模式应该不陌生。没用过的建议体验一下 TAct

2005-09-09 17:02:00 591

原创 设计模式(三)-结构模式

代理(Proxy)模式:如果业务类没有安全机制,什么操作都可以做,什么危险都可能发生。代理模式提供了一种解决危机的办法。派生一些业务的兄弟类作为业务类的代理,这样,老板有老板的代理类,营销有营销的代理类。永远不直接使用那个深藏杀机的业务类。问题解决。图形如下:图中,代理类邀请业务类做具体操作。面具(Adapter)模式:字面的翻译是适配器,我认为翻译成面具好理解一点。如果你手里有一个做好的东西:足

2005-09-09 15:40:00 499

原创 设计模式(二)-什么是模式

以前学做游戏,书上说,一个打飞机的游戏,小飞机到处乱飞,那么它们究竟怎么飞才好?随机数+轨迹函数当然是一种方法,实际上,为了增大难度,录制一段轨迹(一个 Point(x,y) 的链表)等用户的飞机飞来后,彩排一道就是了。这种轨迹叫做行为模式,例如蜜蜂是按 8 字飞的。所谓设计模式意思就是常用软件设计方法,亦即开发人员常见飞行轨迹。既然是常用,很多东西大家都想的到,即使想不到,也见得到,例如工厂模式

2005-09-09 14:13:00 487

原创 设计模式(二)-创建模式

创建对象最简单的办法就是 new 所属类() 。但是,以人类为例,只有亚当和夏娃是从泥土被造的,所有的人都有父母,不是直接 new 出来的。某些场合会用到受管理的类,不由用户任意创建。例如管理器对于寄放件而言,所有的寄放件都需要在管理器登记,所以,创建寄放件对象不能交给用户,而由管理器的函数来做。这样的管理器具备工厂的行为特点。工厂(Factory)模式就是这样做的。工厂 Creator 的 Fa

2005-09-09 13:33:00 742

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除