您现在的位置:首页
--> PHPor 的Blog
大网站一般都是用F5或其它的负载均衡设备,用户的每次请求落在那台real server都是不一定的,一次偶然的机会,发现相同的一个资源在两次访问时,http头中的etag是不相同的,主要是该资源一定是没有被修改的,于是想到etag的算法中可能使用到了资源在不同real server上可能不同的因子。
一次在使用PHP的memcache-2.2.4模块访问mc时,不小心把含有tab的字符串做了key,在跟踪时发现我的key中出现tab的地方都成了“_”了,于是怀疑memcache-2.2.4对我的key做了处理了,于是看了memcache-2.2.4的源码,才发现如下函数,该函数里面将assii码小于空格的字符都要转换成“_”的。int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_lenTSRMLS_DC) /*...
1. 多个连续的RewriteCond 直接默认是“与”的关系,可以通过 [OR]来说明是“或”的关系, RewriteCond只作用于紧接着的一个RewriteRule2. RewriteCond的flag有两个可选值: NC: 不区分大小写; OR:表明是“或”的关系3. RewriteRule的flag常见值有两个: [P]: 说明立即中断重写处理,然后把处理移交给mod_proxy模块, 如果说立即中断重写处理,则[P,L] 中的L又有什么意义呢? [L]: 相当于break...
我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用。 一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。 Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。 这里要提到一个很重要的概念,内存的延迟分配。Linux内核在用...
1. 单个程序使用的最大的内存空间的大小收到内存指针的大小的限制,对于32位机,指针是4字节类型,最大标识4G的内存空间,所以32位机单个程序使用的内存空间不可能超过4G,实际上具体多少?我也不知道2. 对于windows来讲,虽然好像每个程序都可以使用接近(可能差的比较远点儿)4G的内存空间,但是总的虚拟内存的大小也是有一个限制的,在“我的电脑”=》属性=》高级=》性能(设置)=》高级=》虚拟内存 这里可以设置,...
原来对浏览器兼容性的理解主要是: 1. 要对浏览器兼容性做判断2. 不是所有浏览器都支持的东西尽量不要用今天看了QQ空间的一点代码,有所启发:1. 要善于利用浏览器的一些特性;比如,现在的主流浏览器是IE和FF,IE中有很多功能是FF中所没有的,如果用js来实现这些功能可能是很大一段的js;按照原来的想法就是不去使用IE的那个功能,统一使用js来实现,这样自然没有兼容性问题。但是今天的想法却是: 在IE中就是用IE提供的功能,...
httpwatch 的帮助文档中有关于使用javascript和ruby 、c#来分析httpwatch的log文件的例子,但是还没有PHP的;最开始我使用javascript来写了一点,但是在解析 Request.Stream 和Response.Stream时遇到了问题,不知道该怎么解,因为Stream是字节数组的形式出现的,怎么才能变成字符串呢?尤其是当 Response是gzip压缩过的,用javascript就更不好分析了,于是就想到了PHP。
这是一个困扰我很长时间的问题,曾经由于没有思路,一直搁置没有去追究,现在要对该模块做一些修改,就想顺便把这个问题给查明白了,事情是这样的...我们写了一个PHP模块String2Hash,其实里面只有一个函数叫: String2Hash() ,只是要将一个字符串hash成一个整数,由于PHP中的整型都是有符号的,该算法涉及移位,求和,求模,等操作,用PHP实现比较麻烦,就用C写了一个PHP的模块。编译完之后,执行: php --re String2Hash就报...
/proc/sys/vm/dirty_ratio这个参数控制一个进程在文件系统中的文件系统写缓冲区的大小,单位是百分比,表示 系统内存的百分比,表示当一个进程中写缓冲使用到系统内存多少的时候,再有磁盘写操作时开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也 可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,一般缺省是 40。更新方法echo 30 >/proc/sys/vm/dirty_ratio (或则修改/et...
当apache监听多个端口或多个ip上的端口时,多个子进程是怎么分工的呢?和只监听一个端口有什么区别吗?1. 如果apache的多个进程只监听一个端口,则不需要AcceptMutex,每个apache进程都在执行accept操作,发现请求后就开始执行,执行完继续accept,多个进程之间不会相互干扰,这是由accept的机制来完成的。2. 如果apache的多个进程只监听socket多于一个,则不能直接accept了,就必须使用select或poll机制来发现知否有请求需要执...
关于hostname的事情,我不知道是存放在系统的什么地方的,想知道时却发现是通过系统调用gethostname实现的,给系统调用在linux上只要包含,就可以使用;但是在windows上就没有在这个里面,windows上我没有使用visual studio,而是下载了一个dev-c++;因为对于命令行的东西比较熟悉一些,同样的程序在linux上是没问题的,但是在windows上就是编译不过去;代码如下:#include #include
VIRT: 虚拟内存的大小,单位为kb,该进程自己认为自己使用了的内存的大小, 对应ps命令里面的VSZ
SHR : 共享的内存的大小,单位为kb,该进程可以与其它进程共用的资源占用的内存大小, 对应ps命令里面的RSS
RES : 该进程当前占用的物理内存的大小
SHR : 共享的内存的大小,单位为kb,该进程可以与其它进程共用的资源占用的内存大小, 对应ps命令里面的RSS
RES : 该进程当前占用的物理内存的大小
中国(大陆)公民身份证号码每一位所代表的意义,网上很多文章都有介绍,在此就不多说。其中身份证号码的最后一位是校验码,跟据前17位计算得到。算法大 概是这样:把前17位的每一个数字和一串加权因子相乘,再计算这些乘积的和;把这些乘积的和模11得到的数字作为序号,最后在一个校验码串中提取出与序号 相对应的字符。当然,网上也有不少的文章教大家计算这个校验码,下面我们将尝试用PHP语言来完成这一工作,也许可以用于PHP...
原来机器上只有PHP5.1.5, 现在处于测试的需要,想安装一个PHP4.4.9,安装的时候还是比较顺利的,对于apache根据另外一个配置文件在8080端口起了另一个apache。当我需要安装一个模块时,总是不能正常加载,后来发现需要注意两点:1. 使用phpize时要指定PHP4.4.9的phpize2. ./configure 时也要指定: --with-php-config=/path/to/php4/bin/php-config
在.net中公钥的格式总是以modules 、exponent的格式存在的,但是openssl做加密、解密总是使用pem格式的,这里实现了前者到后者的格式转换。
Freefree 命令相对于top 提供了更简洁的查看系统内存使用情况: $ freetotal used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buffers/cache: 26408 228860Swap: 265000 0 265000 Mem:表示物理内存统计 -/+ buffers/cached:表示物理内存的缓存统计 Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。 系统的总物理内存:255268Kb(256M),但系统当前真正可用的内存b并不是第一行f...
实例:rpm2cpio a.rpm | cpio -ivmd详细用法解压cpio文件 cpio -idmv < filename.cpio 同样可以解压img文件:cpio -idmv < filename.imgcpio 备份命令备份:cpio -covB > [file|device] 将数据备份到文件或设备上还原:cpio -icduv < [file|device} 将数据还原到系统中常用参数:-o :将数据copy到文件或设备上-i :将数据从文件或设备上还原到系统中-t :查看cpio建立的文件或设备内容-c :一...
在DOS或Windows下,有各种压缩与解压缩工具软件,其主要功能是将一目录下的众多文件或子目录打包并压缩成一个文件,便于备份、组织与管理。而在Unix系统中,却无此类能打包并同时压缩的工具。 本人在Unix系统业务使用(特别是数据管理与备份)中,经过一番研究、整理后,充分利用Unix系统本身的命令tar、cpio和compress等来做到打包和压缩,使之充当类似DOS下的压缩软件,同时在Unix系统中亦具有通用性。 在Unix系统中,是先通过cpio或t...
前几天听 bugs 说,国内某C2C网站打算这个月开始禁止Firefox用户登录其网站,而说到原因,又是“出于用户安全考虑”,“Firefox无法支持其‘安全控件’”云云。我没用过这家公司的服务,因此我也不想就这家公司发表什么评论。我觉得很有意思的一件事是,似乎大家都很信任所谓“安全控件”。那么,什么是“安全”控件呢?简单地说,这类控件是由特定商家发布的,基于ActiveX技...
下面是从openid的php代码中看到的一个递归创建目录的函数,感觉是比较简洁的,值得参考
近3天十大热文
- [56] Oracle MTS模式下 进程地址与会话信
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] 如何拿下简短的域名
- [54] 图书馆的世界纪录
- [53] android 开发入门
- [53] Go Reflect 性能
- [50] 读书笔记-壹百度:百度十年千倍的29条法则
- [49] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑
赞助商广告