- 博客(27)
- 资源 (5)
- 收藏
- 关注

原创 用C实现PHP扩展类
前面简单介绍了用C语言实现PHP扩展的步骤,见用C开发PHP扩展的步骤,那个是扩展一个函数,这里讲述一下如何用C扩展PHP类。 准备实现的类如下: class Rectangle{ private $_width; private $_height; public function __construct($width, $height){ $this->_wid
2012-11-08 08:46:48
4302
转载 根据用户的积分进行排名
问题某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。PS: 据说这是迅雷的一道面试题,不过问题本身具有很强的真实性,所以本文打算按照真实场景来考虑,而不局限于面试题的理想环境。存储结构首先,我们用一张用户积分表user_score来保存用户的积分信息
2014-07-19 23:12:25
3863
转载 mysql的innodb死锁问题
背景及现象 线上生产环境在某些时候经常性的出现数据库操作死锁,导致业务人员无法进行操作。经过DBA的分析,是某一张表的insert操作和delete操作发生了死锁。简单介绍下数据库的情况(因为涉及到真实数据,这里做了模拟,不影响具体的分析和分析的结果。)假设存在如下2张表: Order 表的数据如下: Customer表的数据如下:
2014-04-03 19:54:25
2679
原创 PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://xxxx.wsdl'
使用php访问soap时出现以下错误:PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://xxxxxx.wsdl' : Start tag expected, '经过不断尝试,解决办法如下:查看httpd状态/usr/sbin/getsebool -a | grep h
2014-02-21 13:41:55
6723
原创 apache You don't have permission to access / on this server.
在网上搜索了一下,有人说是权限问题 Options Indexes FollowSymLinks +Includes AllowOverride None Order allow,deny Allow from all增加上面的allow from all就行了。尝试了一下,还是不行。
2013-12-07 00:10:08
2540
原创 uginx增加IP白名单的方法
1,在php.conf中增加重写规则 location /hello/ { root index fastcgi_pass include fastcgi.conf rewrite ^/hello/(.*?) /world/&1 break; }2,添加ip配置文件vim user_ip_hello.conf
2013-10-19 11:37:44
2853
原创 preg_match提取字符串的用法
比如日志字符串的格式如下:123.45.78.90 - - [12/Oct/2012:01:23:45 +0800] "POST /hello HTTP/1.1" 200 35 "http://www.5601.com/world" "5601UID=JIFAJFJEJFFHEFAIFEJ" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (K
2013-10-19 10:22:15
3872
原创 ERROR 1033 (HY000): Incorrect information in file: 'abc.frm' 问题解决
今天在开发时,发现程序无法链接数据库,查看数据库状态时,报错如下:ERROR 1033 (HY000): Incorrect information in file: 'abc.frm'在网上搜索了下,有的人说repaire table abc,尝试了没用。有人说表结构被破坏了,需要重新建表,如果是这样,那将是一个灾难,虽然都是测试数据,但重头搞个数据库,以前的数据都没有了。在
2013-08-29 18:05:40
7048
原创 upstream timed out (110: Connection timed out) while reading response header from upstream 问题解决
webserver使用的是nginx,有时会报upstream timed out (110: Connection timed out) while reading response header from upstream这样的错误。大致是由于php fastcgi处理请求的时间太长了,导致nginx获取response超时。具体在nginx中的超时时间设置为:proxy_read
2013-08-26 13:26:05
11768
原创 connection is denied by policyframe[return code:8] nginx 问题解决
最近使用的ngnix的log里面经常出现connection is denied by policyframe[return code:8],不少请求都被拒绝了。经过查找,nginx的配置文件nginx.conf里面的policyframe开启了,估计是触发了某个防攻击的策略,于是 policy_frame off 后就没有这样的错误了,服务正常了。
2013-08-26 12:37:58
4944
原创 经典随机抽样面试题
题目是这样的:有一个店老板,他决定从每天光顾他的店的顾客中随机选出一个人, 在当天打烊时给这位顾客发去一份小礼品。a)怎样选才能保证随机?(注意:顾客不是同时来,而且每天会来多少人你不知道,可能打烊前突然来一大拨人,老板只能记住一个人,没法把所有人的信息都记录下来)b)如果店老板每天不是送一个人礼品,而是送 k 个人礼品, 怎么办?c)每个顾客有一个会员级别,级别越高的人获奖概
2013-05-16 07:41:11
2803
转载 用SQL命令查看Mysql数据库大小
如何用SQL命令来查看mysql数据库大小,步骤如下:1、进入 information_schema 数据库(存放了其他的数据库的信息)use information_schema;2、查询所有数据的大小:SELECT concat(round(sum(DATA_LENGTH/1024/1024),2),’MB’) as data FROM TA
2013-03-04 16:42:29
2187
转载 简明 Vim 练级攻略
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类
2012-09-02 12:05:53
2246
转载 高效操作Bash
1 快捷键1.1 注意本文的快捷键表示中, C 表示Ctrl键, M表示Alt健. 这些快捷键中, 有一个小规律, 对字符操作一般是C开头, 对单词操作一般是M开头. 如果你用SecureCRT, 默认的话, 会输入不了Alt开头的快捷键, 因为Alt被当作菜单快捷键了, 可以点 选项 -> 回话选项, 选择tab 终端->仿真->Emacs, 把”使用Alt键作为元键
2012-09-02 12:02:06
2653
转载 [转] 一生用10亿元也买不来的经商经验
【销售的境界】1、顾客要的不是便宜,要的是感觉占了便宜;2、不要与顾客争论价格,要与顾客讨论价值;3、没有不对的客户,只有不够好的服务;4、卖什么不重要,重要的是怎么卖;5、没有最好的产品,只有最合适的产品;6、没有卖不出的货,只有卖不出货的人;7、成功不是因为快,而是因为有方法。【销售之王乔·吉拉德的经验】1、为每一次与客人约会做好准备;2、常与对你有帮助的人吃饭,不要只懂跟同事吃饭
2012-07-19 20:37:02
9036
原创 用C开发PHP扩展的步骤
下面介绍一下如何使用C语言开发PHP扩展。 函数功能:php里面的整数是有符号数,其内部实现其实就是long,不是unsigned long。对于32位机器来说,php最大能表示的整数就是2^31-1了,一般在应用中碰到大于2^31-1而小于2^32的数就只能用字符串来表示了。对于mixed int_ext(string in)来说,如果字符串in表示的整数小于2^31-1,那么
2012-06-24 22:27:13
7800
3
原创 由1-9这九个数字组成一个九位数(不能重复),前N位数能被N整除
题目: 由1-9这九个数字组成一个九位数(不能重复),前N位数能被N整除,求该九位数。假设该九位数为abcdefghi,由题意有如下一些结论(1),(a,c,e,g,i)属于奇数(1,3,5,7,9)。(b,d,f,h)属于偶数(2,4,6,8)。(2),abc能被3整除,def能被3整除,ghi能被3整除(3)cd能被4整除。(4)e为数字5.(5)gh能被8整
2011-11-18 08:38:57
6563
2
原创 PHP优化小技巧
1,访问一个数组时,如果键名是一个字符串,最好加上引号,比如$array['key'],而不要写成$array[key]。php在处理$array[key]时,首先是将key看成是一个常量,如果不存在,抛出一个NOTICE,然后根据key生成一个字符串'key',接着把这个字符串作为键名去查找。2,在incluce_once一个文件时,有三种写法,一种方法A是写绝对路径,一种方法B是写相对路径
2011-10-27 18:49:27
547
原创 用rand7()构造rand10()
题目:已知有个函数rand7(),它返回1到7的随机自然数,现利用这个rand7()来构造rand10(),使它返回1到10的随机自然数以前在网上看到由rand5()来构造rand7()这样的题目,依次类推,此题解法如下(需要保证概率相同):int rand1
2011-09-29 08:55:03
769
原创 猴子分桃子
题目如下:五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;......其他几只猴子也都是 这样分的。问:
2011-09-27 13:35:44
1632
1
原创 整数拆分成一个非减整数序列的和,求出所有的序列
在网上经常看到这样的类似题:5=1+1+1+1+1,5=1+1+1+2,5=1+1+3。。。一个整数可以写成一些整数的和的形式,列出所有的整数序列,序列从小到大排列。 本题可以采用迭代的方法来解决。假设要考察的整数为N,某个满足要求的序列为A1,A2,,,Ai.(i=
2011-07-17 08:45:13
1368
转载 正则表达式的最底层
Rob Pike在《The Practice of Programming》中使用约30行代码,实现了一个正则表达式匹配器,用来处理以下的模型。这段代码真是太酷了。字符含义c匹配认字的字母c.(句点)匹配任意的单个字符^
2011-07-17 08:43:03
1364
原创 洗牌算法小结
1. for i:=1 to n do swap(a[i], a[random(1,n)]); // 凑合,但不是真正随机2. for i:=1 to n do swap(a[i], a[random(i,n)]); // 真正的随机算法 其中,random(a,b)函数用于返回一个从a到b(包括a和b)的随机整数。 第一个代码:概率事件总的发生情况有N^N种,第二个代码:概
2011-06-15 12:45:00
715
转载 PHP session的实现原理
我们知道,session是在服务器端保持用户会话数据的一种方法,对应的cookie是在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众多用户的会话数据呢
2011-03-08 17:02:00
590
转载 PHP大小写敏感规则【转载】
PHP对大小写敏感问题的处理比较乱,大家一定要注意。推荐大家始终坚持“大小写敏感”。这里面需要注意的是类和函数不区分大小写。但即使你疏忽了,在调试时解释器也会抓住这个错误的。
2011-01-27 17:44:00
964
1
MYSQL技术内幕-innodb存储引擎
2011-12-01
深入理解PHP内核-php宝典
2011-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人