自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 swoole2.0协程原理分析

原文链接:https://github.com/fupengfei058/blog/blob/master/swoole2.0%E5%8D%8F%E7%A8%8B%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90.md  协程的定义关于协程,你可能看的最多的就是这样一句话“协程就是用户态的线程”。要理解是什么是“用户态的线程”,必然就要先理解什么是“内...

2018-03-30 21:38:23 791

转载 从数据结构角度分析foreach效率比for循环高的原因

原文链接: https://github.com/fupengfei058/article-collection/blob/master/%E4%BB%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E8%A7%92%E5%BA%A6%E5%88%86%E6%9E%90foreach%E6%95%88%E7%8E%87%E6%AF%94for%E5%BE%AA%E7%

2017-12-02 00:03:52 357

转载 深入理解Zend执行引擎

原文链接: https://github.com/fupengfei058/article-collection/blob/master/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Zend%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E.mdPHP:一种解释型语言PHP经常会被定义为“脚本语言”或者是“解释型语言”,什么是“解释型语言”呢?所谓

2017-12-02 00:03:08 5112 2

转载 PHP7中新的Hashtable实现和性能改进

原文链接: https://github.com/fupengfei058/article-collection/blob/master/PHP7%E4%B8%AD%E6%96%B0%E7%9A%84Hashtable%E5%AE%9E%E7%8E%B0%E5%92%8C%E6%80%A7%E8%83%BD%E6%94%B9%E8%BF%9B.md 这篇文章是翻译自nikic的最新大作,我从他

2017-12-02 00:02:01 546

转载 php结合redis实现高并发下的抢购、秒杀功能

原文链接: https://github.com/fupengfei058/article-collection/blob/master/php%E7%BB%93%E5%90%88redis%E5%AE%9E%E7%8E%B0%E9%AB%98%E5%B9%B6%E5%8F%91%E4%B8%8B%E7%9A%84%E6%8A%A2%E8%B4%AD%E3%80%81%E7%A7%92%E6%9D

2017-12-02 00:00:50 556

转载 Github的清点对象算法

原文链接: https://github.com/fupengfei058/article-collection/blob/master/Github%E7%9A%84%E6%B8%85%E7%82%B9%E5%AF%B9%E8%B1%A1%E7%AE%97%E6%B3%95.md使用 Github 的时候,你有没有见过下面的提示?$ git clone https://github.com/to

2017-12-01 23:50:09 216

转载 Linux后台作业

原文链接: https://github.com/fupengfei058/article-collection/blob/master/Linux%E5%90%8E%E5%8F%B0%E4%BD%9C%E4%B8%9A.md前言常在 linux 下玩耍的开发者肯定会经常遇到需要对进程调度的情况,在 windows 中点击 最小化 去干别的就 OK 了,那么在 linux 下怎么办呢。可能有的小伙

2017-12-01 23:49:10 1462

转载 使用Phalcon+PHP-FPM构建PHP基于多进程的数据库连接池

原文链接: https://github.com/fupengfei058/article-collection/blob/master/%E4%BD%BF%E7%94%A8Phalcon+PHP-FPM%E6%9E%84%E5%BB%BAPHP%E5%9F%BA%E4%BA%8E%E5%A4%9A%E8%BF%9B%E7%A8%8B%E7%9A%84%E6%95%B0%E6%8D%AE%E5%B

2017-12-01 23:46:14 2331

转载 秒杀系统架构分析与实战

原文链接: https://github.com/fupengfei058/article-collection/blob/master/%E7%A7%92%E6%9D%80%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%88%86%E6%9E%90%E4%B8%8E%E5%AE%9E%E6%88%98.md1、秒杀业务分析正常电子商务流程(1)查询商品;(2)创

2017-12-01 23:44:53 214

转载 Nginx为什么比Apache Httpd高效:原理篇

原文链接: https://github.com/fupengfei058/article-collection/blob/master/Nginx%E4%B8%BA%E4%BB%80%E4%B9%88%E6%AF%94Apache%20Httpd%E9%AB%98%E6%95%88%EF%BC%9A%E5%8E%9F%E7%90%86%E7%AF%87.mdNginx才短短几年,就拿下了web服

2017-12-01 23:43:31 272

转载 从全球导航到输入法:谈谈动态规划

原文链接: https://github.com/fupengfei058/article-collection/blob/master/%E4%BB%8E%E5%85%A8%E7%90%83%E5%AF%BC%E8%88%AA%E5%88%B0%E8%BE%93%E5%85%A5%E6%B3%95%EF%BC%9A%E8%B0%88%E8%B0%88%E5%8A%A8%E6%80%81%E8%A

2017-12-01 23:40:05 320

转载 B-Tree原理及mysql的索引分析

原文链接: https://github.com/fupengfei058/article-collection/blob/master/B-Tree%E5%8E%9F%E7%90%86%E5%8F%8Amysql%E7%9A%84%E7%B4%A2%E5%BC%95%E5%88%86%E6%9E%90.mdB+/-Tree原理B-Tree介绍B-Tree是一种多路搜索树(并不是二叉的):定义任

2017-12-01 23:38:13 364

转载 TCP可靠传输的实现

原文链接: https://github.com/fupengfei058/article-collection/blob/master/TCP%E5%8F%AF%E9%9D%A0%E4%BC%A0%E8%BE%93%E7%9A%84%E5%AE%9E%E7%8E%B0.mdTCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实

2017-12-01 23:36:55 199

转载 php的websocket

原文网址:http://www.jnecw.com/p/1523要理解socket就要先理解http和tcp的区别,简单说就是一个是短链,一个是长链,一个是去服务器拉数据,一个是服务器可以主动推数据。而socket就是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后

2017-07-17 20:24:41 299

转载 C++深拷贝与浅拷贝

先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj;  A obj1(obj);或者A obj1 = obj; 时候,由于没有自定义拷贝构造函数,C++编译器自动会产生一个默认的拷贝构造函数。这个默认的拷贝构造函数采用的是“位拷贝”(浅拷贝),而非“值拷贝”(深拷贝)的方式,如果类中含有指针变量,默认的拷贝构造函数必定出错。用一句简单的话来说就是浅拷贝,只是对指针的拷贝,拷贝

2017-06-02 00:22:08 265

转载 Docker简明教程

Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷、很有意思的事情。我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣。我也只是一个在Docker这条巨鲸上玩耍的小孩,全文如有不明确、不正确的地方,还请斧正。  Ubuntu上安装Docker  Docker的基础是Linux容器技术,因此学习Docker最好是使用Linu

2017-02-22 14:59:19 333

转载 数据对齐

数据对齐许多计算机系统对数据类型的合法地址做了一些限制,要求某种数据类型对象的地址必须是某个值K(2,4,8)的倍数,这种堆积限制简化形成了处理器和存储器系统之间接口的硬件设计,总之就是为了方便高效的读取数据,于是就有了数据对齐。struct S1{ char k; double i; char c; }; Sizeo

2017-02-05 21:24:13 213

转载 基于swoole扩展实现真正的PHP数据库连接池

PHP的数据库连接池一直以来都是一个难题,很多从PHP语言转向Java的项目,大多数原因都是因为Java有更好的连接池实现。PHP的MySQL扩展提供了长连接的API,但在PHP机器数量较多,规模较大的情况下,mysql_pconnect非但不能节约MySQL资源,反而会加剧数据库的负荷。假设有100台PHP的应用服务器,每个机器需要启动100个apache或fpm工作进程,那每个进程都会

2017-01-17 14:40:17 724

转载 关于C10K、异步回调、协程、同步阻塞

C10K的由来大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已经算是大型应用了。所以并不存在什么C10K的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,互联网大部分的使用场景是下载一个Html页面,用户在浏览器中查看网页上的信息。这个时期也不存在C

2017-01-16 17:54:01 436

转载 swoole-环境搭建及扩展安装

Git地址:https://github.com/LinkedDestiny/swoole-doc第一章 环境搭建及扩展安装环境说明: 系统:Ubuntu14.04 (安装教程包括CentOS6.5) PHP版本:PHP-5.5.10 swoole版本:1.7.6-stablePHP安装要用swoole,首先需要有PHP环境。由于swoole的某

2017-01-16 14:37:27 1660

转载 免费ARP(Gratuitous ARP)的介绍

问题引入我们很多系统都是使用双机热备份系统(即一个主用,另一个备用,如果主用没有问题,备用一直处于空闲状态;如果主用出现问题,备用立刻接管)。假设主用服务器的MAC地址为:1111-1111-1111,备用服务器的MAC地址为:2222-2222-2222,通过某种软件,两台服务器共同对外共同使用一个IP,例如10.10.10.1,这样客户机在需要同服务器进行通信的时候(第一次通信的例子,在这

2017-01-14 15:14:39 4327

转载 PHP 行为测试工具 Codeception 介绍

Codeception 简介#近年来 PHP 出现了三个很不错的 Test Framework , 分别是Phpspec 用过 Rails 的 rspec 的朋友应该会习惯这种写测试的方法;Behat 可读性最高的测试, 非程序员使用;Codeception 全堆栈的 PHP 测试框架, 提供测试的方法多样, 灵活.这帖子我们来先介绍 Codeception.C

2017-01-12 15:08:04 2418

转载 fastcgi与php-fpm的关系

本篇博文转自segmentfault论坛上的一个问题,个人觉得答主的解释清晰易懂。地址:https://segmentfault.com/q/1010000000256516问:我在网上查fastcgi与php-fpm的关系,查了快一周了,基本看了个遍,真是众说纷纭,没一个权威性的定义。网上有的说,fastcgi是一个协议,php-fpm实现了这个协议; 有的说,p

2017-01-06 10:07:36 498 1

转载 Swoole2.0协程客户端连接池的实现

Swoole2.0官方默认的实例是短连接的,在请求处理完毕后就会切断redis或mysql的连接。实际项目可以使用连接池实现复用。实现原理也很简单,使用SplQueue,在请求到来时判断资源队列中是否有可用的连接,如果有直接拿来复用。如果没有就创建一个新的连接。在连接使用完毕后再讲它重新放回到队列,此连接就可以被其他协程复用。$count = 0;$pool = new SplQueue

2017-01-04 10:59:11 3887 2

转载 一致性哈希算法(consistent hashing)

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。     一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1、平衡性(B

2017-01-03 10:58:53 212

转载 关于PHP程序员解决问题的能力

这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可

2017-01-03 10:52:24 286

转载 在phpStrom中安装php代码格式化插件Php-cs-fixer

由于phpStrom原来的插件不再开源,现在转为使用Php-cs-fixer格式化代码。以下为在phpStrom中安装Php-cs-fixer的具体步骤。安装安装很简单,下载php-cs-fixer.phar文件就行了。官方地址是:http://get.sensiolabs.org/php-cs-fixer.phar github地址:https://github.

2017-01-03 10:40:12 6180

转载 linux下安装php7+mysql5.7+nginx

环境:CentOS7.1 X64MySQL5.7.10PHP7.0.0Tengine/2.1.1 (nginx/1.6.2)参考:http://blog.haohtml.com/archives/15340一。安装常用扩展库123sudoyum -y installgcc gcc-c

2016-12-03 22:49:01 477

转载 Composer -- PHP依赖管理的新时代

对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少:依赖处理容易出问题配置非常复杂难用的命令行接口好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。安装 ComposerCom

2016-12-03 22:46:17 201

转载 TCP可靠传输的实现

TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议     关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。     所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;

2016-11-01 16:42:44 249

转载 Linux服务器运维常用命令

apropos word 显示和word相关的命令which command 显示命令的完整路径名 time command 计算命令运行的时间 time cat 开始计时. Ctrl-d停止。nice info 运行一个低优先级命令(这里是info) renice 19 -p $$ 使脚本运行于低优先级。用于非交互任务。 look prefix 在(有序)字典中快速查

2016-11-01 00:00:44 3429

转载 apache负载均衡设置

Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是:1 )轮询均衡策略的配置进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入:ProxyPass / balancer://proxy/         #注意这里以"/"结尾       BalancerMember http://192.168.6.37:

2016-09-04 14:03:14 413

转载 平衡二叉树(AVL树)

AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个儿子子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。对二叉树的平衡调整过程,主要包含四种旋转操作:LL,LR,RR,RL 。LR由当前节点左儿子的一次RR旋转和当前节点的一次LL旋转构成。同理, RR由当前节点右儿子的一次L

2016-09-03 20:02:14 258

原创 php实现快速排序

//快速排序function quick_sort($arr){ $len = count($arr); if($len <= 1) return $arr; $base_num = $arr[0]; $left_arr = array(); $right_arr = array(); for($i = 1;$i < $len;$i++){

2016-08-24 21:18:47 197

原创 php实现直接插入排序

//插入排序function insert_sort($arr){ $len = count($arr); for($i = 1;$i < $len;$i++){ for($j = $i - 1;$j >= 0;$j--){ //插入的元素较小,交换位置 if($arr[$i] < $arr[$j]){

2016-08-24 21:03:27 256

原创 php实现选择排序

//选择排序function select_sort($arr){ $len = count($arr); for($i = 0;$i < $len - 1;$i++){ //假设最小值为$i $min_val = $arr[$i]; //最小值的下标 $min_index = $i; for($j =

2016-08-24 17:34:57 247

原创 php实现冒泡排序

<?php//冒泡排序function bubble_sort($arr){ $len = count($arr); for($i = 0;$i < $len;$i ++){ for($j = 0;$j < $len - $i - 1;$j ++){ if($arr[$j] > $arr[$j+1]){ //交换顺序

2016-08-24 11:34:11 217

原创 php实现折半查找

<?php//递归方式function bin_recur_search($arr,$val){ global $time; if(count($arr) >= 1){ $mid = intval((count($arr) - 1) / 2); $time++; if($arr[$mid] == $val){

2016-08-23 23:51:01 1347

原创 php实现栈操作

<?phpclass MyStack{ private $top = -1;//默认-1,表示该栈为空 private $maxSize = 5;//表示栈的最大容量 private $stack = array(); //入栈操作 public function push($val){ //判断栈是否已满 if($this->

2016-08-14 14:30:25 272

原创 php实现字符串匹配算法——sunday算法

<?php/* *@param $pattern 模式串 *@param $text 待匹配串 */function mySunday($pattern = '',$text = ''){ if(!$pattern || !$text) return false; $pattern_len = mb_strlen($pattern); $text_len = mb_

2016-08-14 14:10:11 1022

空空如也

空空如也

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

TA关注的人

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