自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

转载 apache开启gzip

如果要开启gzip的话,一定要打开下面二个模块.编辑 /etc/httpd.conf (Linux),开启这两个模块(如果没开启的话)LoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.so设置压缩比率,取值范围在 1(最低) 到 9(最高

2012-01-04 23:11:26 393

转载 GDB中应该知道的几个调试方法

七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:

2012-01-03 09:15:03 385

转载 vim超能力

现在,我们向你介绍的是VIM杀手级的功能。下面这些功能是我只用vim的原因。在当前行上移动光标: 0 ^$f F t T , ;0 → 到行头^ → 到本行的第一个非blank字符$ → 到行尾g_ → 到本行最后一个不是blank字符的位置。fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。  这个还不错t, → 到逗号前的第一个字符。逗号可以变成其它字

2012-01-01 12:27:24 539

原创 hash冲突导致ddos,详细跟踪

1  2$size = 4;  3$array = array();  4for ($key = 0, $maxKey = ($size - 1) * $size; $key  5     $array[$key] = 0;  6 }通过打印p *execute_data->opline->handler可以获得 ZEND_INIT_ARRAY_SPEC_UNU

2011-12-31 13:41:59 1189

转载 PHP数组的Hash冲突实例

你知道不知道, 插入65536个经过构造的键值的元素到PHP数组, 会需要耗时30秒以上? 而一般的这个过程仅仅需要0.1秒..请看如下的例子:        $size = pow(2, 16);         $startTime = microtime(true);    $array = array();    for ($key = 0, $maxKey

2011-12-30 16:53:18 493

原创 详解类的静态成员变量

首先说下静态变量和全局变量的区别,全局变量可以被所有函数访问,如果多个独立的函数使用了同名的变量,就会导致冲突,在只有一个函数需要访问某个变量时,我们应该优先使用静态变量,而不是全局变量类中的静态成员,它属于整个类而不是属于类的某个实例,静态成员只保留一个变量值,而这个变量值对所有的实例都是有效的,所有的实例共享这个成员。$this表示类的当前实例,Self::表示的是类本身 在类之外的代

2011-12-30 15:01:25 744

原创 gdb方式遍历EG(symbol_table) 哈希表的key

Sara Golemon写过一篇文章,里面提到:“是否存在特别的地方可以找到GLOBALS数组?”答案是“存在”,就是EG(symbol_table)-Executor Globals结构,她也给出了找的具体实例,如下PHP_FUNCTION(confirm_getGlobal_compiled) {    char *varname;    int varname_len;

2011-12-07 18:05:40 1852

原创 php json_encode扩展分析

环境       php5.3源码下的json扩展包

2011-12-07 15:41:31 657

原创 http_globals全局变量初始化(待续)

参考鸟哥的文章:http://www.laruence.com/2008/04/04/17.html主要在php_request_startup函数中问题:在代码什么位置放入PG(http_globals)的,流程是怎样的1   PG(http_globals)[i] = NULL;//将除了TRACK_VARS_REQUEST以外的初始化为null2       PG(reg

2011-12-02 17:26:12 1478

原创 php源码函数汇总(持续更新)

hash相关的函数或者宏1 HASH_OF(p)(暂时只考虑array)    Z_ARRVAL_P(p)   =>   Z_ARRVAL(*p)  =>  (zval).value.ht    获取zval中的hash指针HashTable *ht2 zend_hash_internal_pointer_reset(h)    初始化hashtable中的pInternalP

2011-12-02 12:32:20 700

转载 c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针

一、指针函数    当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。    格式:         类型说明符 * 函数名(参数)    当然了,由于返回的是一个地址,所以类型说明符一般都是int。    例如:int *GetDate();          int * aaa(int,int);    函数返回的

2011-11-23 10:22:05 657

原创 学习php源码

学习php源码,鞭策下自己第一个阶段主要是看         gdb较细跟踪源码         看鸟哥的blog         看tipi项目         看Zend_API:深入_PHP_内核         看PHP内核介绍及扩展开发指南         看Extending and Embedding PHP         补c语言基础

2011-11-16 17:41:35 442

转载 Independent的技术小经验

不错的东东,这个得mark收藏原文:http://keyvalue.net/2010/10/11/%E6%8A%80%E6%9C%AF%E5%B0%8F%E7%BB%8F%E9%AA%8C/Findfind ./ -type d -name “CVS” -exec rm -r {} \;find . -type f -perm 644 -group root -exec

2011-11-16 01:47:56 751

转载 PHP程序员如何突破成长瓶颈(php开发三到四年)

看了这篇博文,我正好处于这个阶段,也有心要突破自己,呵呵!作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢?PHP工程师面临成长瓶颈先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4

2011-11-16 01:28:04 1132

原创 菜鸟看php内核源码第三章

很多地方还是看不懂,当个笔记记录下来,不对的地方大家直接指正通过sapi/cli/php_cli.c入口文件开始一步步分析1          _sapi_module_structa)        nameb)        pretty_namec)        startup     =>   (int (*)(struct_sapi_module_str

2011-11-16 01:19:05 3976

原创 菜鸟分析php源码 第二章

入口文件         1       sapi/cli/php_cli.c                  619          main入口文件                  784          调用php_cli_startup=> 调用php_module_startup         2       main/main.c

2011-11-14 18:06:59 1546

原创 zend debugger 远程调试(win 5.2和linux 5.3遇到的问题)

win下php 5.2配置apache添加配置[Zend]zend_extension_ts="D:\web\PHP\ext\ZendDebugger.dll"zend_debugger.allow_hosts=127.0.0.1/24,10.218.24.247/24,10.218.24.218/24zend_debugger.expose_remotely=alwa

2011-11-14 15:26:29 1445

转载 MySQL索引背后的数据结构及算法原理(b+树)

很好的文章,让我这个小菜鸟很深入的学习到了b+树的概念,以及为什么mysql要用b+树存储知道了InnoDB为什么不建议使用过长的字段作为主键知道了InnoDB不建议使用非单调的字段作为主键从原理上知道了MyISAM和INNODB的区别建议像我一样的菜鸟能仔细阅读摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQ

2011-11-14 11:55:27 3794

原创 php源码分析 (第一章)

环境lsb_release -aLSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarchDistributor ID: CentOSDescription:    CentOS release

2011-11-13 23:09:35 1250

原创 腾讯微博开放平台发布者分享会(陈思齐)

记下几点提要1 140万2 3kw3 词4 明确了解平台能提供的资源5 用户玩游戏买的是关注力6 游戏平台最开始的定位最好是所有人7 fb上好友买卖最火的是非鲁宾8 平台发展需要由后台限制转为前台过滤9 开发的游戏和应用信任起见,最好在平台内(为什么Z在twitter不火的原因)10 平台需要设计回收机制11 朋友的头像永远不会是垃圾信息12 缺

2011-11-11 12:36:04 2707

原创 仿thinkphp框架

用了一段时间thinkphp,感觉还不错,其实每款框架都有自己的优点,本来想用他自建cms系统,但是感觉就是不爽,于是自己搭了个简单的小thinkphp框架base_path.php  //global的一些东西base.ini //一些基本的配置classes  //类库  外面无法访问到template //模版库  外面无法访问到application      in

2011-04-07 17:07:00 674

转载 命名规范

1.类命名(1)使用camel命名法(这个几乎所有语言通用)(2)尽量少于3个词(3)缩写词也不要全部使用大写字母。eg:使用GetHtmlStatic, 而不使用GetHTMLStatic。2.函数和方法命名通常每个方法和函数都执行一个动作,所以对它们的命名应该清楚地说明它们的用途。eg:用CheckForErrors()代替ErrorCheck(),用DumpDataT

2010-06-10 15:22:00 666

原创 php编程规范

1 如果引号内没有变量,则引号使用单引号,速度更快

2010-06-07 01:05:00 633

原创 MVC

1 controller 相当于dispatch负责选择模型和对应的视图,用来配合完成一次请求的全过程2 model负责完成逻辑,组织数据3 view负责接收数据以及展示

2010-06-02 10:24:00 438

原创 setcookie中的expire

Expire的设置是一个unix的时间戳各地的unix时间戳的是相同的,时间戳根据不同的时区得到了不同的当前时间信息(也就是说各地的时间不同并不代表时间戳不同)统一的时间戳,才使expire的设置具有了意义,才使服务器与客户端具有一定的可比性网站中还存在两种情况       不设置expire       直接设置expire为0 实验:(ie6)1 设置time(

2009-11-04 11:21:00 6564

转载 php编码之mb_detect_encoding

     当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF-8,或者UTF-8和GBK(这里主要是对于cp936的判断),网上说是由于字符短是,mb_detect_encoding会出现误判。例如:    $encode = mb_detect_encoding($keytitle, array(

2009-01-12 16:40:00 7444

原创 vim命令总结

<!--@font-face {font-family:宋体}@font-face {font-family:"/@宋体"}p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideo

2008-09-22 14:23:00 648

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除