自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 test

<?phpphpinfo();?>

2013-10-09 10:05:17 3222

翻译 Mysql 5.6 在性能、可伸缩性、可用性方面的新突破<二>

更好的应用程序可用性:在线 DDL/模式 变化    如今基于web的应用程序被设计用来快速的进化以及自适应业务和生产需求。当一个应用程序必须迅速适应新的产品线或新产品时,后端数据库模式也必须跟着适应,但是又要求同时应用程序可以正常的业务操作。mysql5.6提供了这种程度的在线模式,此新语法为ALTER TABLE DDL,其他附加有:CREATE INDEXDROP INDEX

2013-02-25 10:44:18 9329

翻译 Mysql 5.6 在性能、可伸缩性、可用性方面的新突破<一>

前言:抛个砖,引堆玉。对mysql5.6新特性进行了简单的翻译,主要目的是强迫自己耐性子看完5.6的说明,翻译中估计很多地方都是自己能看懂大家显迷茫,如觉得理解不了,请自行对照原文理解,欢迎更正。每更正完一点请再次与大家分享。    随着mysql5.6 即将在未来几天内公布其生产GA版,很有必要来总结下它的一些关键特性,从而能解释下为什么mysql5.6版本被称为是最好的发布版。简单

2013-02-25 10:42:37 8102

原创 Go 在linux下的安装

就一句话,核心需要的是 glibc 2.7以上支持,可惜楼主的机器是 glibc 2.5,不敢贸然升级,怕整坏了,不敢搞。查看glibc 版本命令:rpm -qi glibc

2012-10-15 11:59:22 3835

转载 mysql_store_result()与mysql_use_result()的比较

函数mysql_store_result()与mysql_use_result()类似,它们都有连接处理程序参数,并返回结果集。但实际上两者间的区别还是很大的。两个函数之间首要的区别在于从服务器上检索结果集的行。当调用时,mysql_store_result()立即检索所有的行,而 mysql_use_result()启动查询,但实际上并未获取任何行,mysql_store_result()假设随

2012-07-12 23:08:23 3568

原创 遭遇File size limit exceeded错误

昨日遇到一个问题,使用Yii框架编写php脚本,将db中100多万的数据导出,运行,成功。但是在 运行到第 49万条时,脚本终止,提示错误“File size limit exceeded”,遂google之,原来是某个文件大小超过系统限制。笔者第一反应,日志文件写满了???赶忙查看 log,居然只有几十K !!! 那么这个 “大文件”在哪里呢?开始分析,不可能是Yii框架的问题,此乃li

2012-07-03 11:02:36 5961

转载 Rolling cURL: PHP并发最佳实践

在实际项目或者自己编写小工具(比如新闻聚合,商品价格监控,比价)的过程中, 通常需要从第3方网站或者API接口获取数据, 在需要处理1个URL队列时, 为了提高性能, 可以采用cURL提供的curl_multi_*族函数实现简单的并发.本文将探讨两种具体的实现方法, 并对不同的方法做简单的性能对比. 1. 经典cURL并发机制及其存在的问题经典的cURL实现机制在网上很容易找到, 比如

2012-06-18 21:46:04 3593

翻译 数据模型

数据模型什么是数据模型? 访问数据库中数据的方式取决于此数据库所采用的数据模型。数据模型 影响着 客户端处理数据所能使用的操作 以及 可以使用的API。不同的数据模型都或多或少的提供了一些原始功能。通常,数据模型提供越少的功能,那么客户端应用程序就必须做更多的事。 数据模型决定了 在数据存储时客户端编码数据的方式。应用程序 将有一些自然模型 能够映射到 存储技术支持的事情。 直

2012-03-11 10:14:59 3908

原创 nginx的 CPU参数worker_processes和worker_cpu_affinity使用说明

官方说明:http://wiki.nginx.org/NginxChsHttpMainModule#worker_cpu_affinityhttp://wiki.nginx.org/NginxChsHttpMainModule#worker_processesworker_cpu_affinity这个参数要结合 worker_processes来一起使用。其中 先说 wor

2012-02-16 16:17:07 40378

原创 利用 curl 多线程 模拟 并发

首先,先了解下 php中的curl多线程函数:# curl_multi_add_handle# curl_multi_close# curl_multi_exec# curl_multi_getcontent# curl_multi_info_read# curl_multi_init# curl_multi_remove_handle# curl_multi_

2011-12-07 10:27:22 12717

原创 Mockito入门

简介 InfoQ-使用Mockito 1.5监视普通对象 写道Mockito是一个针对Java的mocking框架。它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。其它的mocking库需要你在执行

2011-07-15 16:52:19 3997

原创 centos 下 Hadoop+Hbase 安装手册

安装前必看因为Hadoop本身的优势的将 文件的存储 和 任务处理 分布化,Hadoop分布式架构中有如下两种负责不同功能的服务器,master服务器 和 slave服务器。所以,本安装手册将从二者 的 共体到个体的说明。安装假定安装时假设要为2台服务 器安装Hadoop架构,那

2011-07-14 14:45:47 3660

原创 PHP输入流php://input

在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。“php://input allows you to read raw POST data. It is a less memory

2011-06-13 10:50:00 3741

原创 PHP输入流php://input

在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。“php://input allows you to read raw POST data. It is a less memory

2011-06-13 10:50:00 3822

原创 hadoop异常“could only be replicated to 0 nodes, instead of 1” 解决

异常分析 1、“could only be replicated to 0 nodes, instead of 1”异常(1)异常描述上面配置都正确无误,并且,已经完成了如下运行步骤:[root@localhost hadoop-0.20.0]# bin/hadoop namenode -format [root@localhost hadoop-0.20.0]# bin/

2011-06-09 13:44:00 81714 7

原创 编程之美之求二叉树中节点的最大距离(递归和非递归法)

#include #include using namespace std;//*************************************//题目:// 求一棵二叉树中距离相差最远的两个结点之间的距离。// // //思路:注意指针声明了一定要赋值,否则会报错。// 方法一:递归法//距离相差最远的两个结点,共有以下两种情况:// (1)路径经过根结点,所以两个结点在根结点的不同分支上// (2)路径

2011-02-26 20:45:00 9491 3

原创 Linux rsync命令详解

<br />1、什么是Rsync<br />Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。<br /><br /><br />Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的

2011-01-22 17:27:00 7406 1

原创 PHP对象相互引用的内存溢出

<br /> 使用脚本语言最大的好处之一就是可利用其拥有的自动垃圾回收机制(释放内存)。你不需要在使用完变量后做任何释放内存的处理,PHP会帮你完成。<br />当然,我们可以按自己的意愿调用 unset() 函数来释放内存,但通常不需要这么做。<br /> <br /> 不过在PHP里,至少有一种情况内存不会得到自动释放,即便是手动调用 unset().问题症状<br /> 如果两个对象之间存在着相互引用的关系,如“父对象-子对象”,对父对象调用 unset() 不会释放在子对象

2011-01-07 14:00:00 4007

原创 MySQL下,text 、blob的比较

MySQL存在text和blob:<br />(1)相同在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合。如果截掉的字符不是空格,将会产生一条警告。使用严格SQL模式,会产生错误,并且值将被拒绝而不是截取并给出警告.BLOB和TEXT列不能有 默认值.当保存或检索BLOB和TEXT列的值时不删除尾部空格。(这与VARBINARY和VARCHAR列相同).对于BLOB和TEXT列的索引,必须指

2011-01-04 16:57:00 42952 6

原创 php的JSON 总结 json_decode() 解析错误 及 PEAR JSON.PHP使用

<br />php自带的json类库有bug,自己写的一个长数组encode后无法decode,后来上网查看,找到了替代方法,用PEAR的json.php.<br /> <br />JSON一种轻量级的数据格式,由一位资深的软件工程师Douglas Crockford开发,全称为Javascript Object Notation。中文翻译为“JavaScript对象表示”,这个格式的数据可以很容易的被转换为javascript对象的格式,用于服务器端和客 户端的数据传递,用于解决xml的过多冗余标

2010-12-20 15:15:00 7093

原创 通过stats命令分析Memcached的内部状态

<br />Memcached有个stats命令,通过它可以查看Memcached服务的许多状态信息。使用方法如下:<br />先在命令行直接输入telnet 主机名端口号,连接到memcached服务器,然后再连接成功后,输入stats 命令,即可显示当前memcached服务的状态信息。<br />比如在我本机测试如下:<br />stats<br />STAT pid 1552<br />STAT uptime 3792<br />STAT time 1262517674<br

2010-12-19 18:26:00 1062

原创 详解 zlib 函数库

<br />一,gz文件打开/读写/关闭操作函数IT我最牛-程序员的技术讨论与分享园地&a H!BWH<br />gzopen — 打开一个gz文件(类似于fopen)<br />;M K0r'X$@0gzwrite — 写入gz文件(可安全用于二进制文件)(类似于fwrite)<br />On5e!y8I,R5~7[0gzputs — gzwrite的别名(类似于fputs)<br />Du-ed)Bg mNah-}c&a0gzread — 读取gz文件(可安全

2010-12-17 21:10:00 4156

原创 PHP中 的 HashTable

<br />从PHP的zval结构体可以看出PHP使用HashTable来保存数组信息,PHP的HashTable使用了一些技巧,这些技巧是PHP高效数组操作的直接原因,源代码在PHP源代码目录的Zend/zend_hash.h  Zend/zend_hash.c 中。先来看看Zend HashTable的定义:<br /><br /><br /> <br />参数解释:<br />nTableSize  哈希表的大小<br />nTableMask  数值上等于nTableSize -1 <br

2010-12-06 12:19:00 4867

原创 DJBX33A (Daniel J. Bernstein, Times 33 with Addition) APR哈希默认算法

<br />经典是经过了时间考验的APR_DECLARE_NONSTD(unsigned int) apr_hashfunc_default(const char *char_key,                                                        apr_ssize_t *klen)  {      unsigned int hash = 0;      const unsigned char *key = (const unsigned char *)c

2010-12-06 11:05:00 8097 2

原创 编程之美 一摞烙饼的排序问题

<br />一摞烙饼问题其实是一个很有意思的问题,它的描述是让一摞随机顺序的烙饼通过单手翻转的方式进行排序,以达到这摞烙饼由小到大顺序放置在盘子上的目的,其特点是每次翻转都会导致第一个烙饼到所要反转的那个烙饼之间的顺序变为逆序。我们的目的是求出次数最少的翻转方案以及翻转次数,很显然这是一个最优化问题,我们本能想到的是动态规划、贪心以及分支限界三种方法。<br />      书中给出的递归算法或称之为分支限界法(即遍历+剪枝=分支限界)秉承了递归算法传统的简单、明了,但效率偏低的特点。这个问

2010-12-05 19:46:00 6001 4

原创 双调旅程问题算法描述

一、问题介绍:欧几里得旅行商问题是指:对于给定平面上的n个点,确定一条连接各点的、闭合的最短曲线这个问题是NP完全问题。Bitonic旅行路线问题是欧几里得旅行商问题的简化,这种旅行路线从最左边开始,严格地由左至右到最右边的点,然后再严格的由右至左回到开始点,求最短的路径长度。设计一个确定最优Bitonic旅行路线的O(n2)时间算法。假设不存在x坐标相同的点。二、算法分析:根据题意,首先将给定的n个点{p1,p2,…,pn}按x坐标的升序排列。在这里,我采用了快速排序算法,时间复杂

2010-12-04 22:32:00 1725

原创 linux下tar gz bz2 tgz z等众多压缩文件的解压方法

<br />对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以Linux下使用,不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一<br />番小结,希望你下次遇到

2010-12-03 17:42:00 923

原创 linux date命令设置系统时间的方法

<br />linux中date命令设置系统时间的方法<br /><br />名称 : date<br /><br />使用权限 : 所有使用者<br /><br />使用方式 :<br /><br />date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[C

2010-11-30 19:50:00 1166

原创 MySQL数据库备份和还原的常用命令

<br />备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql<br />备份MySQL数据库为带删除表的格式<br />备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql<br />直接将

2010-11-29 18:13:00 593

原创 linux source命令

<br /> <br />source命令用法:<br />  source FileName<br />  作用:在当前bash环境下读取并执行FileName中的命令。<br />  注:该命令通常用命令“.”来替代。<br />  如:source .bash_rc 与 . .bash_rc 是等效的。<br />  source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。同样的,当前脚本中配置

2010-11-29 18:04:00 741

原创 Linux下 alias的添加位置 添加方法 然后使之生效

<br />在账户根目录下有.bash_profile文件<br /><br />编辑这个文件即可<br /><br />alias l.='ls -d .[a-zA-Z]* --color=tty'<br />alias ll='ls -l --color=tty'<br />alias ls='ls --color=tty'<br />alias mmsdb1='mysql -A -hmmsdb1 -umms -p!^#access mmsdb'<br />alias

2010-11-29 17:20:00 5825 1

原创 VIM中设置 php 自动缩进为 4个空格

<br />写代码自然少不了文本编辑利器vim,自动缩进是用制表符的,即便自己删掉制表符改成4个空格,也会在下一层次缩进中继续用制表符,这就造成了空格和制表符混用<br /> <br />可以修改、etc/vimrc的信息:<br />其中相关变量含义:变量名缩写含义(no)autoindentai自动缩进,即为新行自动添加与当前行同等的缩进。(no)cindentci类似C语言程序的缩进(no)smartindentsi基于autoindent的一些改进变量名缩写含义tabstop=Xts编辑时一个TAB

2010-11-29 11:10:00 3334

原创 sed 总结

sed用法       1.是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。       2. 通过行号或正则表达式指定要改变的文本行       3. sed不与初始文件打交道,而只与它的一个拷贝打交道,如果操作结果没有重定向到一个文件,那么将输出到屏幕。      调用方式:              a. 命令行方式              b. 将sed命令插入脚本文件中,然后调用sed              c. 将sed命令插入脚本文件中,使得脚本文件为可执行。      

2010-11-26 10:06:00 788

原创 sed 命令 使用 总结

<br />1. Sed简介<br />sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。<br />2. 定址<br />可以通过

2010-11-26 09:58:00 579

原创 sed 与 unix 命令等价代码

<br />UNIX         |  SED<br /><br /> -------------+----------------------------------------------------------------<br /><br /> cat            |  sed ':'<br /><br /> cat -s        |  sed '/./,/^$/!d'<br /><br /> tac            |  sed '1!G;h;$!d'<b

2010-11-26 09:35:00 626

原创 php 源码 分析

<br />PHP源代码分析<br />1. 目录结构<br />2. PHP使用Lex和Yacc对语法进行解析。<br />3. PHP如何使用Mysql?<br />4. 安全模式?<br />5. 那些是 PHP 的标准函数,那些是扩展函数?<br />6. PHP 源代码中的PHP_FUNCTION(xx) 宏。<br />7. 那些函数集是标准的?<br />8. 一些函数的实现过程<br />9. PHP 函数集注册过程<br />10. 有趣的Zend

2010-11-24 17:37:00 1621

原创 PHP 数组遍历 的差异(array_diff 的实现)

<br />题目如下:给你两个分别有 5000 个元素的数组,计算他们的差集<br /> -- 说白了也就是用 PHP 和你认为最好的算法实现 array_diff 的算法。<br />初次接到这个题目,我发现这非常的简单,于是按照以往的经验“随便”写了一个:function array_diff($array_1, $array_2) {<br /> $diff = array();<br /><br /> foreach ($array_1 as $k => $v1) {<br

2010-11-24 17:25:00 893

原创 Bash Shell 命令行 选项/参数处理

<br />选项与参数:<br />如下一个命令行:./test.sh -f config.conf -v –prefix=/home<br />我们称-f为选项,它需要一个参数,即config.conf, -v 也是一个选项,但它不需要参数。<br />–prefix我们称之为一个长选项,即选项本身多于一个字符,它也需要一个参数,用等号连接,当然等号不是必须的,/home可以直接写在–prefix后面,即–prefix/home,更多的限制后面具体会讲到。<br />在bash中,可以用以下三种方式来

2010-11-24 15:54:00 956

原创 命令行下 执行 带参数的php脚本 方法

<br />在命令行下执行带参数的php脚本的方法:<br />php本身就是一种脚本语言,不过我们一般都是通过apache来执行php,当然php也是可以通过命令行来执行的.和perl等语言类似.<br />主要还是用到了php.exe这个可执行文件,所以需要设置环境变量。<br />看下面这个最简单的代码,phphello.php :<br /><?php<br />echo "Hello php!"; <br />?> <br />现在,试着在命

2010-11-24 11:53:00 908

原创 vim 操作 总结

<br />一.  移动<br /> h,j,k,l 对应左,下,上,右w 移动光标向前一个单词b 移动光标向后一个单词nw  移动光标向前n个单词nb   移动光标向后n个单词$   移动光标到行首^   移动光标到当前行的第一个字母处)    移动光标到下一个句子(    移动光标到上一个句子gg   移动光标到页的第一行G    移动光标到页的最后一行nj    向下移动n行nG   跳至第n行H    移动光标到屏的上方M    移动光标到屏的中间L     移动光标到屏的下方fx     移动光标

2010-11-22 12:04:00 689

空空如也

空空如也

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

TA关注的人

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