摘要:
最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。 一、什么是闭包? “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 相信很少有人能直接看懂这句话,因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段代码: function 阅读全文
摘要:
我知道的一种在python中Singleton mode的实现如下:class Foo: passdef instance(): global inst try: inst except: inst =Foo() return inst该实现的优点就是简单和直观,但缺点也同样明显:需要客户代码显式知道一个叫instance()的方法来创建该类的对象;在并发环境下这种实现并不可靠;第2点是相当严重的一个缺陷,如果你用了上面的代码,那只能祈祷不要有1个以上的实例出现(虽然几率较低,但还是有可能),否则就会出现稀奇古怪的问题。一个稍微好些实现如下:class Singleton(object): o 阅读全文
摘要:
先给出一个四人团对Decorator mode的定义:动态地给一个对象添加一些额外的职责。再来说说这个模式的好处:认证,权限检查,记日志,检查参数,加锁,等等等等,这些功能和系统业务无关,但又是系统所必须的,说的更明白一点,就是面向方面的编程(AOP)。AOP把与业务无关的代码十分干净的从系统中切割出来,但是Decorator mode的强大远不止于此,本文的重点在于Decorator mode在Python中的应用,所以就不再过多描述Decorator mode本身了,要想深入了解该模式,请参考四人团的经典之作《设计模式》。在Python中Decorator mode可以按照像其它编程语言如 阅读全文
摘要:
python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import。这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了。有没有办法,像Java的Package一样,将多个.py文件组织起来,以便在外部统一调用,和在内部互相调用呢?答案是有的。主要是用到python的包的概念,python __init__.py在包里起一个比较重要的作用要弄明白这个问题,首先要知道,python在执行import语 阅读全文
摘要:
一、压缩你的class类文件为jar包1.假设你的需要压缩的类文件存在的包为:cn.mbq.test1和cn.mbq.test22.进入你的classes目录(这里是在MyEclipse平台里建一个web项目,类编译后的文件是存放在classes文件夹里的),在DOS窗口中执行命令:jar cf mytest.jar cn.mbq.test1 cn.mbq.test2这一步其实可以使用MyEclipse来打成jar包,只选择需要的那些类就可以了。3.执行命令后你会在当前目录中找到mytest.jar文件,这个就是刚才生成的档案文件。你可以修改它的后缀为rar,然后使用winrar压缩程序打开它 阅读全文
摘要:
os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.')os.chdir(dirname):改变工作目录到dirnameos.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.exists(name):判断是否存在文件或目录nameos.path.getsize(name):获得文件大小,如果name是目录返回0Lo 阅读全文
摘要:
看了几个文档,还是这个最全面,最后附上自己的日记,早遇到这个文章就不需要整理笔记了1. log4j 的配置文件Log4j 支持两种配置文件格式,一种是 XML 格式的文件,一种是 Java 特性文件 lg4j.properties (键 = 值)。1.1. log4j configuration scripts in properties formatlg4j.properties 文件作为作为常用的配置文件的方法如下:Ø 配置根 LoggerLogger 负责处理日志记录的大部分操作。其语法为:log4j.rootLogger = [ level ] , appenderName, appe 阅读全文