Web Develop
barfoo
不要强迫我写这个
展开
-
PHP扩展1:PHP与Zend概述
http://devzone.zend.com/node/view/id/1021 简介文中所用的教程需要您对PHP和PHP的解释器(用C语言开发)有初步的了解.首先来确认为什么我们需要写出一个新的PHP扩展. 1. 由于不同语言之间的差别,导致这些以这些语言开发的共享库不能够由PHP直接调用,但我们确实很需要这些共享库所已有的功能 2. 某些情况下翻译 2007-03-26 16:01:00 · 2412 阅读 · 0 评论 -
Gearman
Gearman是 Brad Fitzpatrick 的一个作品,用perl写的任务调度程序,提供一个服务器端和多种语言的客户端接口,包括C/Perl/Python/Ruby等。 Gearman系统用来把工作委派给其他机器,分布式的调用更适合某项工作的机器,并发的做某项工作,在多个调度间做负载均衡,或用来调用其它语言的函数。 工作原理图: 从上述的实现原理原创 2009-05-26 14:05:00 · 1741 阅读 · 0 评论 -
如何原封不动的保存并安全回显输入内容
在web开发中,经常需要原封不动的保存用户输入,并安全的回显到页面中。对于一般的字符串,比如abc、123之类的输入,直接回显到web页面中并没有什么不妥。但对于alert(0);这种输入而言,就必须进行必要的转码再输出到web页面中,否则就会出现著名的XSS攻击了。 为了安全的回显,我们需要把 ‘ " 这5个符号进行html编码。只要解决了这5个字符的编码,就可以避免XSS原创 2009-05-23 00:31:00 · 1378 阅读 · 0 评论 -
PHP中的加密模块使用
PHP中自带了相当多的加密的方法,这里我们来看一下mcrypt扩展的使用方式。(也是在工作中需要用这个东西加密访问用户的Cookie的值,认真的学习了这个方面的内容。) 1.简介 Mcrypt是PHP的一个扩展,完成了常用加密算法的封装。其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Blowfish原创 2008-11-22 14:24:00 · 4978 阅读 · 0 评论 -
Consistent Hashing(ZZ)
前言:我们知道以往资料要放到 M 台服务器上,最简单的方法就是取余数 (hash_value % M) 然后放到对应的服务器上,那就是当添加或移除服务器时,缓存重组的代价相当巨大。 添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。下面这篇文章写的非常好,结合memcached的 特点利用Consistent hasning 算法,可以打造一个非原创 2009-01-11 18:14:00 · 3691 阅读 · 0 评论 -
PHP扩展:Zend引擎对扩展中自定义方法的支持机制
php扩展中用户自定义的方法有两大类:一类是函数(独立存在),一类是方法(依附于类和对象)。本文先说明下函数。 构造一个新的函数的原理如下:声明并实现,实现完成后在某些特定的地方写代码告诉Zend引擎(注册)。完成这两步后就可以了。 假如需要实现一个foo()的方法,可以直接在php脚本中调用: php -r "foo();" 第一步:声明和实现 声明和实现转载 2008-09-15 12:46:00 · 2567 阅读 · 0 评论 -
http协议中connection头的作用
在http1.1中request和reponse header中都有可能出现一个connection的头,此header的含义是当client和server通信时对于长链接如何进行处理。 在http1.1中,client和server都是默认对方支持长链接的, 如果client使用http1.1协议,但又不希望使用长链接,则需要在header中指明connection的值为close;如果原创 2008-06-05 17:34:00 · 33400 阅读 · 0 评论 -
Web程序开发中的规范和文档
在团队开发的过程中使用一定的规范来限制和疏导不同人的开发风格是必要的,每个人的经历、经验、能力都不同,为了避免写出来的代码成一团浆糊,必须有一个比较详尽的编码风格和一定的代码处理方式。如代码中的常量处理、类文件路径分布、命名空间的处理、异常处理、参数返回值处理等。 从技术的角度来讲,上述的特定自然是越详细越好,大家完全遵守是最好的,所有的代码好像都是一个人完成的。这样的限制要求在软件原创 2008-05-17 16:47:00 · 1363 阅读 · 0 评论 -
Web程序中对资源文件的缓存
项目中碰到一个需要缓存用户自定义资源文件的问题,需要缓存用户所指定的CSS、JS等资源文件。和同事初步的讨论是使用文件系统进行缓存,并在前面架设SQUID进行进一步的缓存。今天刚好又看到的一篇Web图片服务器存储的文档,虽然阿是对图片而言,但对于CSS、JS等类型的资源文件同样适用。挺有用的,ZZ了下来。闲谈 Web 图片服务器 作者: Fenng | 可以转原创 2008-05-17 16:18:00 · 1029 阅读 · 0 评论 -
PHP中的MINI的执行过程
前几天新宸分享了PHP Script的lifecycle, 由于那天需要参加公司的培训,未去参加新宸的LifeCycle的分享。上一年有段时间很是痴迷于PHP的扩展,想弄清楚apache对PHP的扩展是如何调用和执行的。钻研了好久,有了一个大致的概念,但没有新宸这样做一个比较清楚的总结,感谢新宸的ppt。 昨天晚上看新宸的ppt,发现一点和我以前的认识不同的地方。在DSO的多原创 2008-07-24 14:30:00 · 1086 阅读 · 0 评论 -
PHP扩展:如何使用ini变量
在扩展中,有时候需要使用在php.ini中设定的值,在PHP的扩展中 使用ini变量的方式如下:首先使用: PHP_INI_BEGIN() PHP_INI_ENTRY("foo_bar.global_value", "42", PHP_INI_ALL, NULL) PHP_INI_ENTRY("foo_bar.global_string", "foobar", PHP_INI原创 2007-04-03 18:12:00 · 4473 阅读 · 1 评论 -
原来php的dirname不检测文件是否存在
一直以为php的dirname会检测所传递的参数文件是否存在,今天才发现原来不是。它仅仅是从后往前找到第一个/符号,然后把该符号前的字符串当做文件所在的路径名称。$ php -r "echo dirname(/a/b/c/d)/a/b/c$ php -r "echo dirname(/tmp/ccc.log/dd/ff);"/tmp/ccc.log/dd原创 2009-05-31 15:13:00 · 1084 阅读 · 0 评论