- 博客(117)
- 问答 (7)
- 收藏
- 关注
最近感悟:TDD与设计
TDD到底是什么,它是怎么做到演进出一个优良的设计的?这些疑问驱使着自己不断地思考,并看了很多讨论,下面是自己的一点心得。 testCase反映的应该只是需求,不能把设计掺杂进来,设计不是它考虑的问题,它只提出你要做什么,至于怎么做,它不管。TDD是需求驱动,在读kent的《tdd》时这样的想法若隐若现,没想到还真有人也这么说,与偶暗合。 设计,由重构来负责。每次让testC...
2010-12-21 00:41:04
225
原创 tdd本质
测试驱动,本质并不是以测试来驱动,而是以小步构想来驱动。我最关心的是如何达到最终的设计目标,而不是在已经知道实现的思路的前提下如何按部就班地完成事先的构想。我知道它是一小步一小步地前进,但不管步伐多大,始终回避不了方向的问题,方向错了,什么样的步伐都是白费功夫。现在犯晕的就是它为什么要朝东,而不是朝西,或者其他。 测试只是用来保证事先的构想能够成功地实现;但它貌似并没有帮助你创造这个构...
2010-12-11 17:26:46
200
tdd第一篇
一小段总结,可能不甚准确,请不吝指教。 tdd工作过程: 1、明确需求,设计“故事”梗概。 2、从较为简易的“故事”入手,将其转化为测试程序。 3、编写最简易的正式代码,使测试程序编译通过。 4、最小步地改进正式代码,使测试程序运行通过。 5、继续改进正式代码,用变量替换常量,使其一般化,消除测试程序与正式代码之间的重复设计。 6、寻找正式代码存在的可...
2010-12-09 16:20:30
135
原创 妙文一则--生活和折腾
◇ 自由:你能够随心所欲地折腾。 ◇ 幸福:你折腾的结果满足了你的预期。 ◇ 迷茫:不知道为什么折腾和该如何折腾。 ◇ 怜悯:看着别人不会折腾或折腾得不如自己时产生的一种良性心理。 ◇ 宽容:容许别人有不同的折腾方式。 ◇ 孤独:你的折腾无人搭理。◇ 追求:折腾的理由与借口。◇ 乐观:相信明天的折腾比今天更...
2010-11-26 08:52:15
177
不是细节决定成败,而是一切本细节
腾讯和360厮打得再火热也只是为了争夺咱桌面的右下角;移动的确是个超级巨头、财大气粗,可它也只是让某人在极度无聊时能找朋友发发牢骚;新浪刚和NBA签订了什么战略协议,实行比赛视频直播,说实话,我也只是在有空和无聊时才会用它;娱乐记者豁出性命获取的猛料其实也就仅供喷饭而已。 什么立志存高远,要干什么轰轰烈烈的大事业,哪来那么多大事?把鸡毛蒜皮的事干好了,它就是大事。大事就是干好了的...
2010-11-22 11:33:17
166
原创 技术积累
技术积累大体分为两类: 1、具体知识点的积累,硬指标,相当于打基础;这个也与所处行业联系紧密。 2、设计思想积累,比如看看设计模式等。 现在第一点做得还是很不足的。...
2010-11-20 12:58:45
228
每日设计思想总结
参考《java与模式》,纯回忆,想起来多少写多少,每天都会添一点。 一、建造模式 1、适用范围: 创建的产品包含多个子部件,各个部分之间相互联系,具有一定的逻辑关系。 举例:发送邮件。需要输入收件人、邮件内容、附件等。 2、代码概述 本来用UML描述最清晰,暂时用文字。 产品:被创建的对象; ...
2010-11-18 10:07:39
186
近期学习新得--重构/设计模式
之前对于设计模式的理解就是减少变化点,并以此判断模式是否适用得当。一个问题来了,假如只是转移而没有减少变化点,那还有必要使用该模式吗? 比如策略模式,如不使用它,单纯用if/else,变化点不会更多。策略无论增、减、改,两者都只需要修改一处。区别只有一个,使用了模式后一旦需求变化,改起来“貌似”更容易,毕竟人家把代码分成一小块一小块,且建立了良好的封装,可读性更强;如果涉及的策略众多...
2010-11-11 19:45:36
143
再谈一次题外话---史密斯的确是个宝
伊梅尔*史密斯,这个赛季火箭的新丁,之前只是耳闻他很优秀,传球精妙,表现稳定;看过火箭客战马刺的比赛后不禁暗暗叫好,已经很久没有看到火箭球员做出那么美妙的传球了。 虽然输了,但不能掩盖他的光彩,他很出彩。尤其是第四节火箭追分的关键时间段,他那几个传球实在是太绝了,当时由于情势紧张没有细细欣赏的闲情,可事后回想起来简直是拍案叫绝,皮球穿越人缝飞向球场另一侧的一刹那,说实话,我还没弄明白...
2010-11-09 11:15:37
152
假的,全是假的!!(更新)
[code="html"] [/code] 这段代码想必各位即使没用过也眼熟至极了吧,但根据我的测试,上面三句话在IE7、firefox3中完全不起作用,《高性能网站设计指南》提供的方法貌似没人买帐,先说firefox。 测试工具:httpWatch.不管上面三句话如何设置,firefox都我行我素,时而直接从缓存中读取,时而向服务器发送一次请求,找不到规...
2010-10-11 21:31:14
149
IE内存泄露与无法回收研究小结(持续增加中)
一、内存泄露 之前确实看了很多资料,但这位大哥的话可谓画龙点睛,不是奉承他,一下子就打通了我的任督二脉,请看:[quote="trarck"] IE下的内存泄露原因就是循环引用,IE的垃圾回收器不能很好处理这种引用。 会产生泄露的循环引用,只有孤立的DOM对象(脱离DOM树)。 [color=blue]孤立的DOM对象间的循环引用,孤立的DOM对象与JS对象的循环引用[...
2010-09-21 16:19:12
604
优化代码的目的分类
偶然的想法,还请拍砖。 1、易读。就这么简单,最原始的需求。有些时候实在找不出把一段代码分出去一部份的理由,这就是最合适的解释。 2、复用。把可能在多处使用的代码写在一个公用的方法里,好处有2个:避免大段的重复;代码变化时只需修改1处。 3、解耦。划清功能模块,各自独立。反面例子:一个类包含了2个功能毫无联系的方法m1,m2,分属于两个功能模块A、B,由于A模块的变更使其修改...
2010-09-10 15:14:20
1165
可能又是一次升华
技术能力到了一定的深度,研究它的用途就比研究它的细节更重要。抬头看路,尝试掌控大局,然后才有可能做到取舍得当、收放自如。有人说一味钻研技术的程序员最后会变成孔乙己,“茴”字的四种写法他的确记得很清楚,但又有什么用呢? 自己的一个例子是jsp的taglib,自从认为它就是用来解决view层的显示方式问题后,就对它不怎么感冒了,和刚开始接触时简直是天壤之别。java语法需要理解,tag就...
2010-08-19 11:13:54
153
原创 Linux实用查看文件命令
不断追加中~~ 1、显示文件末端,且如果文件发生变化则立刻同步显示出来 [code="java"]tail -f filename[/code] 2、分页显示文件内容 [code="java"]more filename[/code] 3、查看文件中是否有某个字符.用命令“1”显示出来的日志巨多时,这个命令非常管用。 [code="java"]grep ...
2010-08-11 09:55:01
154
命令行导出mysql数据
记下来,以免忘记了。 首先本地要装上mysql。 cmd进入命令行,输入 1、[code="java"]mysqldump -umyuser -pmypassword -h172.24.24.123 mydatabase mytable>c:/aaa.sql[/code] 作用:导出远程mysql的mydatabase数据库中的mytable表。 2、[code=...
2010-07-20 17:42:53
175
原创 javascript父、子页面交互小结
帧用来存放子页面,既可以是iframe,又可以是frameset。window对象是全局对象,页面上的一切函数和对象都在它的作用域里。 1、parent代表父窗口、如果父窗口又存在若干层嵌套,则top代表顶级父窗口。self代表窗口自身。[code="java"]if(self==top){//}判断窗口是否处于顶级if(self==parent){}//也可以...
2010-06-04 12:05:49
282
获取子窗口中使用jQuery.data()设置的参数
假设在iframe子窗口中设置了$('#mydata').data('key','hello world');那在包含iframe的父页面中如何获取它呢?直接使用$('#mydata').data('key')是不行的。 原因是:data()将数据存入了iframe页面的jQuery对象中,与父页面的jQuery对象无关。父页面中的$即jQuery对象,直接使用它显然无法获取。...
2010-04-13 17:49:42
138
JS 超类和子类
先引一段原文,可略过..[code="java"] .....Object is the superclass of all the built-in classes, and all classes inherit a few basic methods from Object. Recall that objects inherit properties from the pr...
2010-03-30 19:52:41
537
《JavaScript The Definitive Guide 5th》闭包读后总结
[code="java"]JavaScript functions are a combination of code to be executed and the scope in which to execute them. This combination of code and scope is known as a closure in the computer science lite...
2010-03-24 10:51:29
165
"position:relative"在IE中的Bug
请看下图:[img]http://hyj1254.iteye.com/upload/picture/pic/57399/c9f3d2a0-0e31-3660-85fd-b872ca2c584d.jpg[/img]即子元素过高导致父元素出现滚动条时,它并不会像预期的那样呆在父元素里,而是浮在父元素之上,并且位置不随滚动条的移动而改变。[color=blue]根源就是子元素的"position...
2010-03-22 09:29:34
232
JS没有"块作用域"
没别的意思,只是记下来而已,这在犀牛书上是明明白白地写着的。[code="java"]for(var i = 0; i < 10; i++){ var a = i;}alert(a);//alert 9,而不是undefined,或报错,a被注册到全局变量里去了[/code]稍微加深一下[code="java"]try{ alert...
2010-03-17 16:01:28
135
网页宽、高大全
好记性不如贴上来...IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域宽度document.documentElement.clientHeight ==> 可见区域高度F...
2010-03-16 11:12:48
167
jquery的data函数
今天试着使用了下这个函数,真是万事开头难,碰了个灰头土脸,完整的demo在附件里,这里把主要逻辑贴上,请达人指教(问答没分了....):[code="java"]$(function(){$("#test").data("mydata",{name:"hero"});alert($("#test").data('mydata').name);$('#test').c...
2010-02-03 18:45:14
152
原创 也谈谈什么叫面向对象
听说面试的时候有人被问到什么叫面向对象,根据自己的理解,我也来说说。先声明下,说得不对请拍砖,免得误人误己,不过稍微轻点哈。。 面向对象只是一个基础,作用是支持对变化的封装。应该追求的是那个作用的目的,而不是基础本身。对象编程具有三大特征,说面向对象编程,就是说要用符合那三大特征的方式来做到很好地封装变化。 单纯地讲面向对象是什么还真不好说,能说的就是那三点呗,不如问面向对象...
2010-01-05 15:37:39
164
背景图片的疑惑
很多朋友都喜欢写些比较大气的话题,职业呀、前途呀、人生呀,感觉博客好像就是应该写这些东西的,但我实在是写不出那些,只会谈点鸡毛蒜皮的技术,当然更多的是表达自己的困惑 :D 。 今天想说这前台界面的设计,很多时候都要用到背景图片,我多数时候也只是用用现成的而已,至于它们为什么有那样的格式,比如gif/png都搞不太清,两者都有人用,具体什么时候该用哪种不清楚;至于那些神奇的图片怎么制...
2009-12-24 12:00:45
173
设计模式初步了解
看了不少帖子,应该说算是明白了一个道理:设计模式是被逼出来的,谁?需求,需求的不断变化让程序员不得不经常修改代码的结构,当这个结构比较完善且具有一般的代表性后,它就有了一个名称,##模式。 这里就有一个问题了,如果根本就不知道需求会如何变化,那该怎么用设计模式呢?没法儿用,或是生搬硬套地用。这是像我这样的新手碰到的最大的问题。“知己知彼百战不殆”,现在我就是不知彼,对方下一步要干什...
2009-12-17 11:14:03
146
使用设计模式的目的
为什么要用设计模式?在生搬硬套了策略模式之后产生了这种疑问。如果说是为了易于扩展,那要增加的代码量貌似会更多;易于修改?现在要修改的地方好像也不比原来的少啊。易于替换?感觉工作量也少不了多少。 那为什么还要用它呢? 只有一个粗浅的理解:用了设计模式,就相当于明确地告诉了我如果将来需要修改,就去那个固定的地方,不用再费时间到处去找了;总体代码量不见得会减少,反而会增加,减少...
2009-12-09 10:24:13
229
jquery 整体感觉
用了一段时间后,觉得它和Ext虽然有很大不同,但如果稍微钻一下牛角尖的话,还是能发现两者有一个共通的地方。 对基本DOM操作的封装。有人说学Ext最终也就只会一些API而已,不如学jquery;但接触了这么长时间jquery之后,竟然也产生了那种想法。 虽然对基础技术的应用比Ext多了一些,但终究还是在用它的API,并不是直接用JS操作DOM对象。 更重要的是,jquer...
2009-11-12 10:34:08
113
玩游戏也能体验人生
既要会赚钱也要会花钱。与其累死累活还做不了多少,不如尝试着花点钱把它买过来,价格有时会低得让自己吃惊;虽然多花了钱,但少付出了太多精力,把这些精力用在自己擅长的地方,赚的钱多多了,两相对比,还是赚了。...
2009-11-03 17:51:47
199
小谈程序员创业
当然现在的自己没有资格谈经验,只是读完别人的文章后有了些感想。 1、必须具备合作意识。 不是一般意义上的与人协作,而是必须充分意识到自己作为程序员而携带的固有职业缺陷,这种缺陷对创业而言是硬伤;然后去积极主动地寻找合适的搭档来弥补它。因此,这也可以说是必须寻找适合的合作伙伴。 这方面有人建议加入一个创业的团队,而不是自己单干。 2、技术必须扎实。技...
2009-10-30 12:56:08
143
jquery的each函数中的break和continue功能
each函数不能使用break和continue关键字,替代方法是:[code="java"]$('.container').each(function(i){ if($(this).attr('name')=="continue"){ return ;//实现continue功能 }else if($(this).attr('name')==...
2009-10-20 17:06:56
216
原创 移除JS数组指定位置的元素
JavaScript中splice函数方法是从一个数组中[color=violet]移除一个或多个元素[/color],[color=orange]如果必要,可以在所移除元素的位置上插入新元素[/color],返回所移除的元素。 [code="java"]arrayObj.splice( start, deleteCount, [item1[, item2[, . . . [,it...
2009-10-15 10:34:56
1015
JQuery动态添加Select的Option元素
代码贴上:[code="java"]var selector=$('');for(var i=0;i
2009-09-21 10:02:47
327
JSTree实现动态加载
从网上搜了一个JSTree,实现了一把,好歹也能动态加载了。 详细代码以后再贴上吧,只把最重要部分的说一下: 加载数据后台用的是struts2,这里对新手(就是指我了)有个陷阱:以前不管碰到什么,action最后都要返回到一个页面,成功了就return SUCCESS;失败了就return "failure"。在这里,很容易就跳回到了调用它的那个初始页面,因为树就在那里。 ...
2009-09-07 19:33:12
417
原创 Jquery选择器
本文最初发表于本人个人博客http://www.lovestblog.cn/,欢迎大家光临 。(转载的请不要删除该行,谢谢合作) jQuery选择器其实是一个有些地方比较费解的,如果没有经过多次实验的话,很难得出它的每个操作符到底是干什么的,很容易出错,经过我的多次测试,终于对一些比较难理解或容易出错的选择操作进行总结,既方便自己将来查询又方便初学者学习。如果哪里有不对的还望大家...
2009-09-03 09:36:37
159
原创 JavaScript中的$符号
一直不知道为什么那么多JS代码里面都用到了$符号,查了下,外文的。虽然很长,但还是建议看一遍,讲得通俗易懂,又不失深度,值得一看。文章最后是我的总结,请指正。 转自:http://www.authenticsociety.com/blog/JavaScript_DollarSign Javascript Dollar Sign. A beginner, or even ...
2009-09-02 13:51:53
513
转化服务器端传回的JSON数据
讲讲JS的内置函数eval()的用法. 最初用到它是[color=blue]为了将后台传送过来的JSON格式的字符串转化为JSON对象[/color]。后来发现它的功能的确很强大,远不止这点,但今天只讲它。如果想深入了解可以参考下W3School。进入正题:[code="java"]var json='{"id":1}';alert(json.id); [/c...
2009-08-17 23:50:39
165
原创 JS实现整除
原文出处太多,大家你转我我转他,最后弄不清是谁第一个写的了,不过还是在此先向所有发布过本文的博主特别是其原创作者表示感谢吧。代码如下,对原文中的注释稍微作了点修改,读起来应该更通顺。[code="java"]//整除function Div(exp1, exp2){ var n1 = Math.round(exp1); //四舍五入 var n2 =...
2009-08-17 17:13:40
1822
SQLServer数据文件监控
如果需要查看数据文件的信息,一般的做法是执行以下语句:[code="java"]EXEC ('DBCC showfilestats')[/code]当然,只有它还是不够的,但它所查出的数据是不可缺少的。现在的问题是,执行该语句需要的权限过高,用户很可能拒绝提供拥有这些权限的账号,那么它就无法执行了。怎么办?只有找出能替代它的语句。 在网上搜了不少地方,确实有不少人也遇到...
2009-08-06 09:28:40
185
原创 关于Extjs的store的使用
文章是别人写的,url在下面:[url]http://www.cnblogs.com/fmxyw/archive/2009/06/16/1504403.html[/url]
2009-07-07 15:58:56
152
空空如也
去除js数组中的重复元素
2011-12-17
Linux下读取文件失败
2011-08-23
tdd如何避免功能重复测试
2011-05-09
Web前端人员的发展方向
2010-01-18
ultraEdit 保存文件时指定编码格式的功能无效
2009-07-29
extjs grid组件下拉框文字重叠
2009-06-10
extjs的items如何确定组件类型
2009-06-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅