- 博客(70)
- 资源 (8)
- 收藏
- 关注
原创 第一次尝试用python来编程实现“helloworld”,顺利成功,过程中遇到几个小问题
小菜鸟python渐进学习教程【第一节,环境工具搭建篇】
2017-11-30 14:42:56
564
转载 PHP的执行流程,PHP扩展加载过程 .
为了以后能够明白的开发PHP扩展..就一定要了解PHP的执行顺序..这篇文章就是为C开发PHP扩展做铺垫.web环境 我们假设为 apache.在编译PHP的时候,为了能够让Apache支持PHP,我们会生成一个mod_php5.so的模块.apache加载这个模块..在url访问.php文件的时候就会转给mod_php5.so模块来处理.这个玩意是什么..就是我们常说的SAPI英
2012-12-18 10:12:51
562
转载 探究PHP底层运行机制
我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的;PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);PHP总共有三个模块:内核、Zend引擎、以及扩展层; PHP内核用来处理请求、文件流、错误处理等相关操作; Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组函数、类库和流,PHP使用它
2012-12-18 10:09:12
390
转载 深入理解PHP原理之Opcodes
· 作者:laruence(http://www.laruence.com/)· 本文地址: http://www.laruence.com/2008/06/18/221.html· 转载请注明出处 最近要给Yahoo的同事们做一个关于PHP和Apache处理请求的内部机制的讲座,刚好写
2012-12-18 09:59:50
307
转载 php ext入门之how to start
一图言之图上的更新:第2步:执行命令修改为 phpsrc/ext/ext_skel --proto=test.proto --extname=test第5步:phpize 后 增加一步 ./configure --with-php-config=/data/php/bin/php-config
2012-12-18 09:55:36
716
转载 PHP __autoload机制原理
__autoload机制是PHP5引入的一种自动执行的机制,当new一个不存在的对象时,PHP便会执行__autoload函数的代码。而你可以在__autoload函数中引入需要的类文件,这样就不必每个同时引入一大堆的类库,只需要必要的时候才引入。例如:?010203040506function __autoload($c
2012-12-18 09:54:52
894
转载 redis.conf中文版(基于2.4)
昨天研究Redis,顺便把配置文件翻译了。这是我学习技术的一种方法。 虽然还没仔细校对和润色,不过意思应该大体不错,特来分享。 求拍砖,让砖头来得更猛烈些吧!凑够砖头就可以回老家盖房子了! 在线版地址: https://github.com/liuxd/MyTranslation/blob/master/translation/redis-2.4.conf
2012-10-23 16:51:37
553
转载 MySQL UDF实现缓存数据同步
[文章作者:张宴 本文版本:v1.0 最后修改:2010.09.08 转载请注明原文链接:http://blog.s135.com/mysql-udf-http/] Mysql-udf-http 是一款简单的MySQL用户自定义函数(UDF, User-Defined Functions),具有http_get()、http_post()、http_put()、http_delete()
2012-10-16 16:27:54
1141
转载 PHP获取客户端与服务器IP
客户端IP相关的变量1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP。2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造。3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造。服务器端IP相关的变量
2012-10-16 14:27:12
311
转载 PHP超级全局变量数组
PHP超级全局变量数组(Super Global Array),又称为PHP预定义数组,是由PHP引擎内置的,不需要开发者重新定义。 在PHP脚本运行时,PHP会自动将一些数据放在超级全局数组中。 php超级全局变量列表 $_GET[] 获得以GET方法提交的变量数组 $_POST[] 获得以POST方法提交的变量数组 $_COOKIE[] 获取和设置当
2012-10-16 11:17:08
420
转载 【PHP扩展开发】快速开发一个PHP扩展
本文通过非常快速的方式讲解了如何制作一个PHP 5.2 环境的扩展(PHP Extension),希望能够在图文的方式下让想快速学习的朋友了解一下制作过程。需求:比如开发一个叫做 heiyeluren 的扩展,扩展里就一个函数 heiyeluren_test(),输入一个字符串,函数返回:Your input string: xxxxx。要求:了解C/C++编程,熟悉PHP编程环
2012-10-15 17:07:27
334
转载 Linux多线程编程小结
1.Linux进程与线程Linux进程创建一个新线程时,线程将拥有自己的栈(因为线程有自己的局部变量),但与它的创建者共享全局变量、文件描述符、信号句柄和当前目录状态。Linux通过fork创建子进程与创建线程之间是有区别的:fork创建出该进程的一份拷贝,这个新进程拥有自己的变量和自己的PID,它的时间调度是独立的,它的执行几乎完全独立于父进程。进程可以看成一个资源的基本单位,而线程
2012-10-15 14:45:26
294
转载 linux系统的进程间通信有哪几种方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时
2012-10-15 14:44:44
543
转载 【SVN版本管理必备】svn hook(强制要求提交注释必须多于X个字)
cd repository/hooks,找到pre-commit.tmpl文件,去掉后缀.tmpl, 编辑pre-commit文件: 1. windows: 重命名为pre-commit.bat Java代码 @echo off setlocal set REPOS=%1 set TXN=%2 rem check that logmessage c
2012-10-13 14:40:39
996
转载 【SVN版本管理必备】SVN merge 三种方式
1、Merge a range of revisions2、Reintegrate a branch3、Merge two different trees——————————————————————————————————————————————————————以下是转载自chunanyong的一篇关于svn分支合并类型的文章,出处:http://chunanyong.javaey
2012-10-13 14:38:01
528
转载 【运维理论经典】大型网站运维探讨和心得(运维工程师必备)
一、什么是大型网站运维?首先明确一下,全文所讲的运维是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度、服务器量级、PV量等考虑,其它因素不是重点;因此,我们先定义服务器规模大于1000台,PV每天至少上亿(至少国内排名前10),如Sina、Baidu、QQ,51.com等等;其它小型网站可能没有真正意
2012-10-13 14:32:53
1934
转载 [Apache] 服务器日志法网站分析的原理及优缺点
【前言】 应朋友们的要求,我还是写一篇关于服务器日志法进行网站分析的原理以及它的优缺点是什么。请朋友们注意,网站服务器日志法并不容易进行,初学者,以及在绝大多数情况下,进行以用户行为分析为核心的网站分析,用不到服务器日志法。不过,作为网站分析历史不可分割的一部分以及重要的基础篇章,服务器日志法仍然值得一书。下面的这篇文章也是我要撰写的书中截取的内容(我要快马加鞭快快写了,已经辜负了太多朋友的
2012-10-13 14:31:38
1025
转载 [转载]分布式系统的数据结构
常用的数据结构包括:数组,队列,堆栈,链表,树(平衡二叉树,B树,Trie树,堆),哈希表,图,后缀数组,等等。其中,堆,图结构,Trie树及后缀数组解决特定问题,其它数据结构解决通用的查找,更新,删除操作。查找,更新和删除操作一般是O(1),O(logN)或者O(N),通用的数据结果大致可分为如下三种:1, 极端型;某些操作的算法复杂度为O(1),另外一些算法复杂度为O(N),比如有序链
2012-10-13 14:26:57
414
转载 mysql负载均衡集群架设
1 环境描述Mysql manager 节点:192.168.0.1MysqlServer节点:192.168.0.100Mysql 节点:192.168.0.160Mysql 节点:192.168.0.161说明:至少需要四台服务器才可以做mysql的集群。建议5台,再增加一台MysqlServer。2 安装mysql二进制包2.1 安装之前的准备工作下载my
2012-10-13 14:26:25
397
转载 【WEB架构学习】之百万级 PHP 网站 Poppen.de的架构介绍
Poppen.de 是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5 以及 Tsung。 Poppen.de目前有200万注册用户数、2万并发用户数、每天20万条私有消息、每天25万登录次
2012-10-13 14:05:53
718
转载 Hash索引与B-Tree索引 介绍及区别
分享一篇 mongodb 索引的文章: http://blog.nosqlfan.com/html/758.html . mongo db 的索引也是采用B-Tree 索引. 下文附带一下 B-Tree 和 Hash 索引的详细比较:[原文地址]: http://blog.sina.com.cn/s/blog_6776884e0100pko1.html 1. Has
2012-10-13 13:57:20
1293
转载 【NOSQL】couchDB
couchDB是这两年很受geek追捧的数据库,作者曾是lotus开发人员。与传统的关系型数据库不同, 它号称自己是文档数据库。所谓文档数据库,并不是说它只能存储文本,事实上因为它是一种schemal-less的概念。用过关系型数据库的同学都知道, 数据表里定义的每一个字段都定义为一种类型:无论是int,char,datetime。但couchDB的字段只有三个:文档ID、文档版本号和内容。 内容
2012-10-13 13:55:17
1426
转载 【NOSQL】非关系型数据库MongoDB ( MongoDB索引用法和效率分析 )
MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致。由于集合中的键(字段)可以是普通数据类型,也可以是子文档。MongoDB可以在各种类型的键上创建索引。下面分别讲解各种类型的索引的创建,查询,以及索引的维护等。一、创建索引 1. 默认索引 MongoDB有个默认的“_id”的键,他相当于“主键”的角色。集合创建后系统会自动创建一
2012-10-13 13:52:17
1032
转载 【NOSQL】非关系型数据库MongoDB ( MongoDB文件存取操作 )
由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中。但是由于一个BJSON的最大长度不能超过4M,所以限制了单个文档中能存入的最大文件不能超过4M。为了提供对大容量文件存取的支持,samus驱动提供了“GridFS”方式来支持,“GridFS”方
2012-10-13 13:51:11
617
转载 【NOSQL】非关系型数据库MongoDB ( 用MongoDB的文档结构描述数据关系 )
MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录。但两者并不完全对等。表的结构是固定的,MongoDB集合并没有这个约束;另外,存入集合的文档对象甚至可以嵌入子文档,或者“子集合”。他们最终都可以用类似于BJSON的格式描述。我们今天就来分析MongoDB这一特性带来的独特数据管理方式。我们还是以samus驱动为例来分
2012-10-13 13:50:16
719
转载 【NOSQL】非关系型数据库MongoDB ( 在MVC模式下通过Jqgrid表格操作MongoDB数据 ) .
看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作。表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB。nosql虽然概念新颖,但是MongoDB基本应用实现起来还是比较轻松的,甚至代码比基本的ADO.net访问关系数据源还要简洁。由于其本身的“非关系”的数据存储方式,使得对象关系映射这个环节对于MongoDB来讲显得毫无意义,因
2012-10-13 11:55:22
822
转载 【NOSQL】非关系型数据库MongoDB ( 通过samus驱动实现基本数据操作 )
传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。一、关于MongoDB的驱动 MongoDB支持多种语言的驱动,在此我们只介绍
2012-10-13 11:54:15
652
转载 【NOSQL】非关系型数据库MongoDB
一、前言 最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下。本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论。部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li-pan2@163.com。大部分内容均系原创,欢迎大家转载分享,但转载的同时别忘了注明作者和原文链接哦。二、M
2012-10-13 11:51:48
530
转载 【innodb存储引擎加强版】XtraDB存储引擎
XtraDB是由Percona开发的一款MySQL数据库的高性能存储引擎,其目的是用来代替InnoDB存储引擎,可用于需要更高性能的环境。XtraDB可以看作是InnoDB存储引擎的增强版本,它在InnoDB上进行了大量的修改和patched,它完全兼容InnoDB,且提供了很多InnoDB不具备的有用的功能。 例如:在多核CPU上面的性能和伸缩性要更好;对于内存的分配和使用也要更好;也
2012-10-13 11:44:47
1572
转载 【PHP性能优化学习】之xhprof安装&&使用
2010年的时候有做过相关的东西,为ECOS框架写了一个相关的APP应用,前段时候要用xhprof来测试一下ECAE上的php的运行效率又重新要安装xhprof本日志记录下相关的过程,以便以后再次使用到编译安装wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhpro
2012-10-13 11:38:44
544
转载 【经典WEB开发面试必备】HTTP请求头详解 .
HTTP由两部分组成:请求和响应。当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。直到浏览器解析该响应并显示出网页(或其他资源)为止。HTTP请求HTTP请求的格式如下所示:[]在HT
2012-10-13 10:01:30
1798
转载 【经典面试必备】最全的HTTP头部信息分析
HTTP头部解释1.Accept:告诉WEB服务器自己接受什么介质类型,*/*表示任何类型,type/*表示该类型下的所有子类型,type/sub-type。2.Accept-Charset:浏览器申明自己接收的字符集Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)Accept-Language::浏览器申明
2012-10-13 09:55:59
802
转载 js闭包【前端开发必备】
先从闭包特点解释,应该更好理解.闭包的两个特点:1、作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态。2、一个闭包就是当一个函数返回时,一个没有释放资源的栈区。其实上面两点可以合成一点,就是闭包函数返回时,该函数内部变量处于激活状态,函数所在栈区依然保留.我们所熟知的主流语言,像C,java等,在函数内部只要执行了return,函数就会返回结果,然后内存中删除该函数所在
2012-10-13 09:25:58
356
转载 PHP设计模式笔记:使用PHP实现门面模式
PHP设计模式笔记:使用PHP实现门面模式【意图】为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层次的接口,使得子系统更加容易使用【GOF95】外部与子系统的通信是通过一个门面(Facade)对象进行。【门面模式结构图】门面模式【门面模式中主要角色】门面(Facade)角色:此角色将被客户端调用知道哪些子系统负责处理
2012-10-12 14:18:54
620
转载 PHP设计模式笔记:使用PHP实现桥梁模式
PHP设计模式笔记:使用PHP实现桥梁模式【意图】将抽象部分与它的实现部分分享,使它们都可以独立的变化【GOF95】【桥梁模式结构图】 桥梁模式 【桥梁模式中主要角色】抽象化(Abstraction)角色:定义抽象类的接口并保存一个对实现化对象的引用。修正抽象化(Refined Abstraction)角色:扩展抽象化角色,改变和修正父类对抽象化
2012-10-12 14:17:41
492
转载 深入浅出PHP面向对象与设计模式3--抽象工厂模式
转载自:http://www.phpchina.com/13268/viewspace_15717.html三、跨国生产型企业--抽象工厂模式1、设备太多的工厂如果我们把网站的会员分成三种,青铜、白银、黄金,那么针对不同等级的会员,我们有对应的打折产品和推荐产品给他们。如果仅仅考虑青铜和白银会员,这样我们要写四个类,分别对应他们的打折产品和推荐产品。例:3_1//青铜会
2012-10-12 14:15:05
500
转载 PHP设计模式笔记:使用PHP实现单例模式
PHP设计模式笔记:使用PHP实现单例模式【意图】保证一个类仅有一个实例,并且提供一个访问它的全局访问点【GOF95】单例模式有三个特点:1、一个类只有一个实例2、它必须自行创建这个实例3、必须自行向整个系统提供这个实例【单例模式结构图】单例模式【单例模式中主要角色】Singleton 定义一个Instance操作,允许客户访问它的唯
2012-10-12 11:49:41
831
转载 php __FILE__,__CLASS__等魔术变量,及实例
今天看到一个魔术变量,是以前没见过的,__DIR__,我查了查,发现原来是php5.3新增的,顺便举几个例子,解释一下php的魔术变量1,__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。这个变量,我用
2012-10-12 11:44:52
295
转载 SQL Ralay数据库连接池的PHP操作【代码级】
原文说明:目前此类只支持Sybase,稍加扩展就可以同时支持其它多种数据库,功能还不完善,但是基本上够用,另外,还没有写说明文档,先放上来,有需要的朋友可以拿去看看,需要SQL Relay支持哦。【操作类代码】 // pdbconn.inc.php /** * 全局常量定义 * */ define("SYBASE
2012-10-12 10:51:05
517
转载 【mysql连接池】之php+sqlrelay+mysql实现连接池及读写负载均衡 .
在大型的web应用中数据库经常成为并发访问的一个瓶颈,为了有效的解决并发访问的瓶颈,利用多台数据库master-slave的模式来增加web的并发访问量。master-slave模式是为了数据同步的问题。sqlrelay解决连接池问题以及实现读写分离的均衡负载。sqlrelay配置3个instance A/B/C,A负责从Master和slave读取数据,B负责写数据,且只写Maste
2012-10-12 10:49:54
496
2011系统架构师大会演讲PPT集
2012-11-26
Office SharePoint Server 2007 部署图示指南.pdf
2010-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人