摘要: 本博客停止更新,请移步到http://www.cnblogs.com/bravfing/ 阅读全文
posted @ 2012-05-15 10:11 simayixin 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 多线程程序最令人头疼的便是各种锁,写起来麻烦也容易出错。 还好Python中有装饰器这种方便的神器存在,我们只需像单线程一样写程序 ,然后在外边包上同步锁装饰器就ok了。比如:import threadingdef sync(lock): def syncWithLock(fn): def newFn(*args,**kwargs): lock.acquire() try: return fn(*args,**kwargs) finally: lock.release() newFn.func_name = fn.func_name newFn.__doc__ = fn.__doc__ ret 阅读全文
posted @ 2011-05-31 16:21 simayixin 阅读(2632) 评论(0) 推荐(0) 编辑
摘要: 在编写服务进程的时候,往往需要定时落地一些数据,这就需要定时来执行一些操作,然后python中并没有合适的定时器(我没有找到),就自己diy吧。import threading,timeclass Timer(threading.Thread): def __init__(self,fn,args=(),sleep=0,lastDo=True): threading.Thread.__init__(self) self.fn = fn self.args = args self.sleep = sleep self.lastDo = lastDo self.setDaemon(True) se 阅读全文
posted @ 2011-05-31 15:54 simayixin 阅读(25291) 评论(2) 推荐(0) 编辑
摘要: var YX = { //得到JS内置数据类型的类型,返回值包括[Date,RegExp,Number,String,Array,Boolean,Function,null,undefined,Object] getType : function(obj){ return obj == null ? obj + "" : Object.prototype.toString.call(obj).slice(8,-1); } //创建一个简单的类 ,createClass : function(){ return function(){ this.init.apply(this 阅读全文
posted @ 2011-05-25 14:41 simayixin 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 转自:www.jimzhan.com/* 数组和对象 【JavaScript 权威指南 第五版】*//* 对象: 是一个无序属性集合, 每个属性都有自己的名字和值 *//* 创建对象简单方法, 对象直接量 */var obj = {};var obj = {name: 'maxthon'};var obj = {name: {}, text: []};/* 可使用 new 操作符 */var a = new Array();var d = new Date();var r = new RegExp('javascript', 'i');var o 阅读全文
posted @ 2011-05-09 11:11 simayixin 阅读(24977) 评论(0) 推荐(0) 编辑
摘要: 原文链接:www.jimzhan.com/* 1, 变量类型: JavaScript 是弱类型, 变量可存储任意类型, 并且运行期间类型可变; -> 变量可进行类型转换;*//*2, 变量声明:*/var i;var index;var i, index;var i = 0, index = 2;/* 变量声明, 无初始值时, 值为 undefined; 并且 var 声明的变量, 不能使用 delete 操作符删除; 重复声明为产生覆盖, 不会造成错误; 遗漏声明, 则会把变量隐式声明此变量, 并做为全局变量; (下节介绍)*//*3, 变量作用域: 以函数划分: 函数内部声明的变量, 阅读全文
posted @ 2011-05-07 18:26 simayixin 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/taoze/archive/2011/03/19/1988635.html如果你不知道BOM,那你应该知道DOM。DOM:(Document Object Model) 文档对象模型。BOM:(Browser Object Mode) 浏览器对象模型。从上面的对比中,可以很清晰的看出,BOM与DOM的最大区别既是B(Browser)和D(Document)的区别,那Browser和Document有什么差别呢,从下面的一张图上看,DOM的根节点是document。经常编写JavaScript代码,也许你会想到window对象,为啥DOM里面没 阅读全文
posted @ 2011-05-06 14:22 simayixin 阅读(2140) 评论(1) 推荐(1) 编辑
摘要: 好久不写js,手都有点生了。写个小东西热手。var EasyPager = function(wrap,pageCount,currPage){ var d = document ,el = function(tag,inner,click,css){ tag = d.createElement(tag); inner && (tag.innerHTML = inner); click && (tag.onclick = click); css && (tag.className=css); return tag; } ,append = fun 阅读全文
posted @ 2011-05-05 13:34 simayixin 阅读(992) 评论(0) 推荐(1) 编辑
摘要: 原文:http://xukaizijian.blog.163.com/blog/static/170433119201111894228877/内置方法说明__init__(self,...)初始化对象,在创建新对象时调用__del__(self)释放对象,在对象被删除之前调用__new__(cls,*args,**kwd)实例的生成操作__str__(self)在使用print语句时被调用__getitem__(self,key)获取序列的索引key对应的值,等价于seq[key]__len__(self)在调用内联函数len()时被调用__cmp__(stc,dst)比较两个对象src和d 阅读全文
posted @ 2011-05-04 11:46 simayixin 阅读(14389) 评论(1) 推荐(4) 编辑
摘要: 在富web程序里,JavaScript不再是用来为网页增色的玩物,而成为真正的重点。当一个页面上有了越来越多的数据逻辑,我们如何设计才能虽多、虽杂,却不乱?比如:要设计一个任务模块,每一个任务都可以有子任务(理论上无限子),当前任务都有一些基本描述。 如下图:不错,这是一棵任务树。那么我们怎么设计呢?有语言:oo的重点在于抽象出不动点。那么上图什么才是不动点?首先,相对于数据库而言,数据结构是不动的。由此我们可以抽象出Task对象,它基本对应了数据库的信息。再者,因为数据结构是不动的,html结构数据也是不动的,我们可以抽象出TaskDom对象,他对应task对象的html描述。(动的只是cs 阅读全文
posted @ 2011-04-13 14:20 simayixin 阅读(369) 评论(0) 推荐(0) 编辑