摘要:
lambda 函数好处:1、在不需要再复用的地方用lambda,免去函数名,省去函数定义的过程2、代码更精简示例:g = lambda x : x * 2:左边表示参数,右边表示返回值g(2) # 结果为4示例:过滤少于等于0的数lst = [1,2,3,4,-1,23,0,33]lst2 = filter(lambda n: n>0, lst)print lst2print [i for i in lst if i > 0] #更简单的实现其实能用for in 实现的,比lambda更好,更易读 阅读全文
摘要:
要理解AOP,必须先理解好AOP的一下几个术语:1、 切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象。事务管理是J2EE应用中一个关于横切关注点的很好的例子。在Spring AOP中,切面可以使用基于模式)或者基于@Aspect注解的方式来实现。2、连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。3、 通知(Advice):在切面的某个特定的连接点上执行的动作。其中包括了“around”、“before”和“after”等不同类型的通知(通知的类型将在后面部分 阅读全文
摘要:
好的架构是很多因素的结果,包括以下方面:1、确定进行有意为之的前端设计2、设计者的素质和经验3、在开发过程中,保持清晰的设计观点4、授权团队负责软件的整体设计,而团队也承担起这一责任5、不要害怕改变设计:没有一成不变的事物6、让合适的人加入到团队中7、在合适的时候做出设计决定8、好的项目管理,以及合适的最后期限 阅读全文
摘要:
基本关注点的决定:1、顶层文件结构2、对事物命名3、“内部”展示的风格4、共用的编码惯例5、选择单元测试框架6、支持性的基础结构(版本控制、合适的构建系统、持续集成系统) 阅读全文
摘要:
质量控制过程:1、结对编程2、对没有进行结对编程的代码进行代码/设计复审3、对每一段代码进行单元测试以上三个过程确保系统不会有不正确的、不适合的变更,所有不符合软件设计的内容都被拒之门外。ps:对架构之美的翻译感到无语,我严重怀疑译者不是计算机专业出身的,“quality” 不应该翻译成“品质”,应该翻译成“质量”,“质量控制”这是计算机习惯用语。当我看到这一节时觉得很别扭,所以去下载了原版对照,果然,又被国内所谓的砖家糟蹋了一本好书,就像裘宗燕翻译《C++程序设计语言》一样,居然把interface翻译成界面,真令人接受不了~~~~ 阅读全文
摘要:
相关文件:/etc/bashrc/etc/profile前者是shell级别的,局部的后者是系统级别的,全局的linux 登陆时会先运行/etc/profile设置环境变量的方法:export 命令如,把/pypj 目录增加进$PYTHONPATH1、vi /etc/profile2、export PYTHONPATH=$PYTHONPATH:/pypj重启linux后会把环境变量增加进全局,想立即使用可以用 source /etc/profile 或 . /etc/profile如果要设置当前用户的环境变量可以用编辑 ~/.bash_profile 阅读全文