自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Mysql的全文索引为什么不支持中文

Mysql的全文索引是根据英文的特点来开发,英文“this is my mysql database”,英文可以根据空格和标点符号去分开每个单词,然后统计单词的位置,生成索引树; 然而中文却没有这种特点,只能利用sphinx或者lucence去利用词库,匹配出关键词,然后构建索引树,通过关键词索...

2015-09-15 16:22:29 903 0

原创 关于静态方法不能调用类中的非静态属性的理解

class test{ public $a; public function game(){ echo "123"; } public static function name(){ //$this->a=new test();错误的写法, //静态方...

2015-08-24 15:52:58 3651 0

原创 PHP设计模式之装饰模式

本文知识来源于:《深入PHP面向对象、模式和实践》一书 <?php /* Title:装饰模式 Detail:平原、污染、钻石对象的独立和组合。 */ abstract class Tile{ abstract function getWealthFactor(); } //平原类,we...

2015-08-19 15:33:25 423 0

原创 个人猜想的web安全——理解PHP的sessionID的实现

今天,在回想阿里的面试官关于cookie和session之间的区别和联系的问题时,想到一个问题,就是如果用curl模拟别人的cookie中的sessionID,是不是就可以直接就爆破登录了呢,想了很久,考虑用客户端的IP地址来解决,然后我就好奇php自身的sessionID的实现原理,查了一下发现...

2015-08-06 00:00:23 4115 0

原创 免输密码的登录功能的实现——MD5加盐

记住登录密码:做法是登录成功后,根据用户ID,账号,密码等信息生成一串加密串(最好加入密码一起MD5加盐,这样会保证用户更改密码后,这个免输功能会失效,需要重新登录并选择记住密码去生成 新的加密字符串),扔 COOKIE 里,也扔 MYSQL 的用户表对应的用户的一个字段里,下次页面检测 COOK...

2015-07-31 15:25:09 834 0

原创 php5.3新特性之延迟静态绑定

基于PHP版本: 5.3.5 PHP5.3 以后引入了延迟静态绑定: static(关键字) 类似于 self(关键字) , 但它指向的是被调用的类(Document) 而不是包含类(DomainObject) , static 和 self 的区别: 主要的作用就是,弥补了原先的不足,原先...

2015-07-31 14:26:19 423 0

原创 关于四层、七层负载均衡的理解和总结

一、四层与七层负载均衡的区别 七层负载均衡基本都是基于http协议的,适用于web服务器的负载均衡。(nginx) 四层负载均衡主要是基于tcp协议报文,可以做任何基于tcp/ip协议的软件的负载均衡。(haproxy、LVS) 两者主要区别在于利用的报文所在的层面是不同的,各有各的好处。 七层应...

2015-07-17 08:19:29 2885 0

原创 TCP粘包问题的分析与解决

这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:  一 .两个简单概念长连接与短连接: 1.长连接     Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。 2.短连接    ...

2015-07-16 20:55:06 602 0

转载 网络编程释疑之:同步,异步,阻塞,非阻塞

文章原始出处:http://yaocoder.blog.51cto.com/2668309/1308899 一讲到网络编程的I/O模型,总会涉及到这几个概念。问了很多人,没几个能清晰地讲出他们之间的区别联系,甚至在网络上也有很多不同的观点,也不知是中国文字释义的博大精深,还是本来这几个概念就是...

2015-07-15 09:13:29 951 3

原创 关于php中携带的php-fpm和php-cgi的理解纠正

一开始我认为这两者是不同的,后来经过查阅许多资料后发现,其实两者都是php的FastCGI管理器,php-cgi是php自带的管理器,而php-fpm是为php专门制作的FastCGI管理器(5.3之前是php的补丁功能,5.3之后加入到php中,替换了原先的php-cgi)。 PHP-CGI...

2015-07-15 06:33:34 779 0

原创 PHP编译原理之Opcode

一.编译原理的过程 编译程序的工作过程一般可以划分为五个阶段:   1)词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词               (如基本字、标识 符、常量、运算符、标点符、左右括号等)      描述词法规则通常用:正规式 和 有限自动机...

2015-07-14 08:09:07 2003 0

转载 操作系统中栈和堆的区别

堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束...

2015-07-07 07:52:38 663 0

原创 线性表--数组和链表的区别

数组是将元素在内存中连续存放,从栈中分配空间,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。增加和删除操...

2015-07-07 07:41:18 2807 0

原创 关于apache以fastcgi模式运行php的错误理解纠正

1、上篇文章写到,php要以fast-cgi方式在apache下运行,需要借助第三方的模块fcgi.so,默认的情况下是编译到apache中,如同apache这个程序拥有php脚本解析功能,这种是ISAPI方式模式。  2、 fcgi.so这个功能模块是一个fastcgi管理器,原先php在5.3...

2015-06-30 18:04:50 1658 0

原创 Linux+php在apache上以fastcgi模式运行

FastCGI 的主要优点是把动态语言和web server分离开来,所以web server与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端web server服务器的压力,使web server专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求。...

2015-06-30 08:01:16 1372 0

原创 Apache与ngnix的对比

一、PHP在Apache与ngnix下的运行模式。 1)、Apache下有三种运行模式:CGI模式,模块化模式,FastCGI模式。 CGI模式会是比较原始的方式,每一次接到请求会调用php.exe,解析php.ini,加载DLL等,速度自然慢。 模块化模式,Apache默认以这种方式运行p...

2015-06-30 07:18:06 818 0

原创 1000瓶药中找出一瓶毒药,10只老鼠做试验

题目如下:现有1000瓶药,其中有一瓶毒药,喝了之后1小时后才产生效果,现在你有10只老鼠和1个小时的时间,请问怎么找出毒药? 题解:这道题明显就是只能一开始就把所有药都喂给10只老鼠,1小时后就直接一次性出结果。 现在以2只老鼠做例子,每只老鼠喝一瓶药,2只老鼠能验出2瓶,最多只能从3瓶中找出一...

2015-06-29 14:30:51 18471 1

原创 递归与递推实现斐波那契数列算法

<?php /* f(n)=f(n-1)+f(n-2) f(0)=0 f(1)=1 */ function Fibonacci($n) { if($n<=0) { return 0; } if($n==1) { return 1; } return f(n-1)+...

2015-06-27 15:18:04 1130 0

原创 快速排序Qsort

<?php function Partition(&$arr,$low,$high) { $_t=$arr[$low]; while($low<$high) { //注意第二个限制条件,不然如果一直都是大于会超过数组下标 while($arr[$high]>...

2015-06-27 15:01:55 618 0

原创 队列与栈:两个栈实现队列,两个队列实现栈

1、题目:用两个栈实现一个队列。先用一个栈录入数据,再输出这个栈到另外一个栈,就可以形成队列的先进先出顺序了。 因为PHP的数组可以模拟栈的实现,所以代码如下:<?php function StackToQueue($data) { $arr=array(); while($_t=ar...

2015-06-27 14:40:03 536 0

原创 合并两个有序数组

题目:有两个排序的数组A和B,数组A剩余的空间刚好够容纳B,请实现一个函数,把B中的所有数字插入到A中并且所有的数都是排序的。 很多人一开始的想法就是简单的插入,足够暴力,在A中直接从头到尾遍历,找到合适的位置就移动后面所有的元素,让出一个位填补新插入的数,这种做法是效率最低的。 反其道而行之...

2015-06-26 15:17:53 509 0

原创 行元素从小到大递增,列元素从小到大递增的数组查找算法

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 考点:这道题主要是要利用好所给的两个条件,行递增和列递增,将肯定不合适的数据排除在外,将要遍历的数据尽可能的减少。 数组...

2015-06-26 14:44:30 813 0

原创 PHP的单例模式--三私一公

注意: 1.外部不可以实例化,因此内部实例化函数的类型必须为静态,在类未实例化之前就已经初始化; 2.静态函数只能访问静态变量,所以定义private static $instance; 3.静态变量的访问写法为:类名::$变量名,在类内部可以直接写self:$instance; 4.可以用ins...

2015-06-26 10:40:23 5828 1

原创 如何解决秒杀商品时,商品超卖的情况

文章的思路主要来源于:http://www.csdn.net/article/2014-11-28/2822858 解决方案(以下方案都是基于分布式的redis缓存): 1.用队列解决大并发 建立一条队列,将每个请求加入到队列中,然后异步获取队列数据进行处理,把多线程的事情变成单线程,处理完一个就...

2015-06-14 20:59:46 11060 0

原创 关于RBAC权限管理的进一步思考

较为常见的RBAC 管理员表和角色表有着多对多的关系, 角色表和权限表有着多对多的关系。 操作表中附上管理员的id,就可以只查看自己的操作信息。 权限表中对应每个权限管理模块再添加一个可管理全部信息的权限,例如:商品表有个Admin/Goods/ManagerAll的权限,虽然不对应Url...

2015-06-08 08:42:15 489 0

原创 关于Thinkphp中的图像处理无法处理gif图的问题

tp中有一个BUG无法生成GIF的缩略图: 解决解决办法:修改TP中的GIF类即可: 这个文件中后两个类,GIFEncoder和GIFDecoder的构造函数名改为:__construct即可。【TP用的是旧版本的写法:方法名和类名相同就是构造函数】 GIFEncoder GI...

2015-06-05 22:39:34 879 0

原创 PHP中防XSS攻击和防sql注入

SQL注入如何防? TP中的底层已经做了防SQL注入的操作,只要我们操作数据库时使用TP提供给我们的方法就不会有问题,如添加商品时我们调用了add方法。唯一要注意的就是如果我们自己拼SQL执行时就要自己来过滤了。   总结:如果要自己拼SQL语句,一定要自己再过滤一下【addslashes】,也不...

2015-06-04 16:02:01 3864 0

原创 svn:期望文件系统格式在“1”到“4”之间;发现格式“6” 的问题解决方案

这种情况出现的原因暂时不明,有人说是在未开启svn服务的时候就建库,但是我是开启的状态下建库的。 有一种建库方法可以避免这种问题,允许仓库通过file或者svn方式提交。 就是直接在svn服务器端软件的bin目录下用svnadmin create指令。

2015-06-04 07:45:43 3671 0

转载 Javascript原型链和原型的一个误区

之前我对Javascript的原型链中, 原型继承与标识符查找有些迷惑,但在看了鸟哥的说明之后~~ 如, 如下的代码: function Foo() {}; var foo = new Foo(); Foo.prototype.label = "laruence"; ale...

2015-05-29 08:19:31 384 0

原创 jQuery1.11.3框架对象分析

五.jquery框架对象分析 jquery框架对象类型:jquery对象  和 $对象 ① jquery对象就是各种选择器创建出来的对象 ② $对象就是函数对象 1. jquery对象   Jquery对象本身没有什么成员,99%的成员是通过Juery.fn.extend()方法赋值继承过来的...

2015-05-15 15:56:36 949 0

原创 深入理解javascript中的AO对象

1.主要理解一点,里面的scope属性就先保存了所有父级环境的AO对象,这个scope属性是静态的,除非函数被销毁,否则从函数创建时就已经存在。 2.函数运行时会创建变量,将在scope属性中加入自身AO对象。 3.有一个特例,var x = 10; function foo() { ...

2015-05-12 07:09:27 3064 0

原创 关于赛马的问题,25匹赛出前3名或者前5名

一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问最少得比多少场才能知道跑得最快的5匹马? 分组一: 一 二 三 四 五 1 6 11 16 21 ...

2015-05-11 14:12:02 1749 3

原创 PHP:防止跨域CURL采集数据

1.一些网站是采用检测此IP地址登录的密集度,多次登录后需要输入验证码,那么这时CURL模拟的提交就需要去对验证码图片进行分析,这样就会花费大量时间,当然,这种是对于防止登录被爆破,用户资料泄露的。 2.还有一种就是直接在session保存生成的随机码,然后放在input的隐藏域,这种比验证码那...

2015-05-10 15:07:27 3301 0

原创 Mysql之char和varchar的区别

varchar 1、使用比固定长度类型(char)占用更少存储空间(除了使用ROW_FORMAT=FIXED创建的MyISAM表) 2、使用额外的1-2字节来存储值长度,列长度 3、节约空间,所以性能会有帮助。在更新的时候会产生额外的工作。 4、5.0以上版本,取值或设置值都会保存字符串末...

2015-04-20 22:05:31 457 0

原创 CSS的兼容性

1.以上这种写法:同一个HTML元素可以添加多个类名称,多个类名称之间用空格隔开。 2.浏览器兼容性简介 因为CSS代码是由浏览器软件来进行解释的,每个浏览器厂商到CSS标准执行的不是太完善。 同一个网页,在不同浏览器下显示的效果不一样,这种现象就是“不兼容”。 最不兼容的浏览器是:IE6...

2015-02-04 21:23:32 539 0

原创 Css基础知识

1.CSS是(Cascading Style Sheets)层叠样式表或者级联样式表的缩写。格式为:h1 {color:red;font-size:14px},选择器,声明。 2.CSS语法 一个CSS样式表代码由一个或多个CSS规则组成; CSS样式规则由选择器和格式声明语句组成; 选择器通...

2015-02-03 08:57:17 534 0

原创 html和xhtml基础知识整理

1.apache服务器如果接收到php文件的http请求,它不能处理,apache服务器交给php脚本程序进行处理,如果是访问html静态页,apache可以找到该文件并返回给客户端,apache服务器主要做一个收发任务。 2.含义:用于告诉浏览器用什么文件格式翻译其中的代码。这是一个网页最大的标...

2015-01-26 09:33:47 808 0

转载 asp.net mvc3网站部署在IIS6的方法

部署环境: Server 2003 +IIS6  .net framework 4.0下载地址http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0A391ABD-25C1-4FC0-919F-B21F31AB88B7 ...

2015-01-07 16:27:55 733 0

原创 使用Ueditor1.4版本需要注意的点

1.引用配置文件时,ueditor.all.min.js一定要放在config.js文件之前; 2.图片上传功能需要修改config.json文件中的图片路径保存前缀和自定保存路径,前缀从根目录写起,前缀和自定义保存路径拼起来刚好是一条完整的路径。

2014-12-24 08:25:57 696 0

转载 asp.net获取网站绝对路径

网站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPath 虚拟程序路径: HttpRuntime.AppDomainAppVirtualPath 任何于Request/HttpContext.Current等相关的方法, 都只能在有请求上下文或者页面时使用....

2014-11-26 20:12:57 730 0

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