2011年9月21日

【转】父 shell,子 shell ,export 与 变量传递

摘要: 当我们在一个 shell 里运行一个脚本程序时,该 shell 就会 fork 出一个新进程,从而启动了另一个命令解释器(由脚本中第一行的 #!/bin/xxx 指定,如 bash shell)来解释运行我们这个脚本。也就是说,这个新进程是一个子 shell,而之前的 shell 是个父 shell 。在我们所运行的脚本里,我们还可以启动新的子 shell 进程,这些子 shell 进程使脚本并行地运行着多个子任务。一般而言,在一个脚本里执行一个外部命令(普通的可执行文件)时,shell 会 fork 出一个子进程,然后再用 exec 来执行这个程序;但是,bash shell 的内置命令(b 阅读全文

posted @ 2011-09-21 23:34 ^希望^ 阅读(6127) 评论(0) 推荐(0) 编辑

2011年9月4日

【转】The Definitive Guide to GET vs POST

摘要: Unfortunately there is a lot misuse of GET over POST and vice versa. Both HTTP methods can achieve the same goals, but an incorrect choice between them can lead to unexpected and potentially harmful outcomes.So, to make sure we get things right, I present to you the definitive guide of choosing betw 阅读全文

posted @ 2011-09-04 11:49 ^希望^ 阅读(162) 评论(0) 推荐(0) 编辑

【转】HTTP幂等性概念和应用

摘要: HTTP幂等性概念和应用基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏览器、Javascript、AJAX、JSON以及HTML5等技术和工具的发展,互联网应用架构设计表现出了从传统的PHP、JSP、ASP.NET等服务器端动态网页向Web API + RIA(富互 阅读全文

posted @ 2011-09-04 11:21 ^希望^ 阅读(258) 评论(0) 推荐(0) 编辑

2011年8月26日

【转】vim插件ZenCoding一些常用的操作

摘要: 相当的酷,记录一些常用的操作安装很方便,不再像我以前使用的sparkup.vim得配置python环境了,可直接到http://github.com/mattn/zencoding-vim下载zencoding.vim文件放到vimfiles/plugin或.vim/plugin目录就OK了。接下来介绍些使用方法(Copy自LazyHack的使用zen coding for vim快速编写html代码)展开缩写输入 div>p#foo$*3>a 这样的缩写,然后按 ctrl + y + , 来展开(注意那个逗号),展开后它应该是这个样子的 <div> <p id= 阅读全文

posted @ 2011-08-26 20:08 ^希望^ 阅读(2500) 评论(0) 推荐(1) 编辑

2011年8月16日

【转】Python @classmethod @staticmethod

摘要: 今天读代码的时候发现Python的class定义中提及了@classmethod修饰符,然后查阅了一些材料一探究竟,先做个总结吧。在Python中提到 classmethod 就要提到 staticmethod,不是因为二者有什么关系,而是为了让用户区分以便更清楚地写代码。在C++中,我们了解直接通过类名访问的函数称为类的静态函数,即static修饰的函数,可见C++中classmethod和staticmethod是一个概念。那么python中二者有什么区别呢?先来看下二者如何在python代码中声明:classMyClass:...@classmethod # classmethod的修饰 阅读全文

posted @ 2011-08-16 09:22 ^希望^ 阅读(18846) 评论(1) 推荐(1) 编辑

2011年8月15日

【转】Python常用文件操作参考

摘要: [1.os]1.重命名:os.rename(old, new)2.删除:os.remove(file)3.列出目录下的文件:os.listdir(path)4.获取当前工作目录:os.getcwd()5.改变工作目录:os.chdir(newdir)6.创建多级目录:os.makedirs(r"c:\python\test")7.创建单个目录:os.mkdir("test")8.删除多个目录:os.removedirs(r"c:\python")#删除所给路径最后一个目录下所有空目录。9.删除单个目录:os.rmdir("t 阅读全文

posted @ 2011-08-15 16:13 ^希望^ 阅读(561) 评论(0) 推荐(0) 编辑

2011年8月8日

【转】浅谈CSRF攻击方式

摘要: 一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。三.CSRF漏洞现状 CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,08年,国内外的多个大 阅读全文

posted @ 2011-08-08 22:44 ^希望^ 阅读(232) 评论(0) 推荐(0) 编辑

2011年8月2日

【转】Python装饰器学习

摘要: 在《Core Python Programming 2nd》中学习到了装饰器,这对我来说是个完全陌生的语法,第一遍愣是没看懂,很有必要记一下。第一眼看到这个词Decorator,我联想到了DP中的Decorator模式,后来才知道完全不是这么一回事。(再次鄙视一下国内浮躁的博客,我google了一下,几乎千篇一律都是什么锁同步装饰器、超时装饰器,我对原作者表达敬仰,可是大家都是转载就不像话了,也是对网络资源的极大浪费,也许真正有价值的博文就湮没在这片都是一模一样的东西里了)1. 这是个什么东东?书上说得不是太清楚,它说类似于Java的AOP(Aspect Oriented Programmin 阅读全文

posted @ 2011-08-02 22:34 ^希望^ 阅读(224) 评论(0) 推荐(0) 编辑

【转】Python装饰器与面向切面编程

摘要: 今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。1. 装饰器入门1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。1deffoo():2print'in foo()'34foo()这是一个很无聊的函数没错。但是突然有一个更无聊的人,我们称呼他为B君,说我想看看执行这个函数用了多长时间,好吧,那么我们可以这样做:1impo 阅读全文

posted @ 2011-08-02 22:32 ^希望^ 阅读(170) 评论(0) 推荐(0) 编辑

【转】理解Python中的装饰器

摘要: 前几天看到Stackoverflow上的一个提问。如果使用如下的代码:?1234@makebold@makeitalicdef say():return "Hello"打印出如下的输出:?1<b><i>Hello<i></b>给出的答案如下:?12345678910111213141516def makebold(fn):def wrapped():return "<b>" + fn() + "</b>"return wrappeddef makeitalic(f 阅读全文

posted @ 2011-08-02 15:32 ^希望^ 阅读(677) 评论(1) 推荐(0) 编辑

导航