自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

始终不够

旅行或者读书,身体和灵魂必须有一个在路上。

  • 博客(60)
  • 资源 (13)
  • 收藏
  • 关注

转载 PHP异步编程简述

概述异步编程,我们从字面上理解,可以理解为代码非同步执行的。异步编程可以归结为四种模式:回调、事件监听、发布/订阅、promise模式。我们最熟悉的两种模式是回调和事件监听,举两个最简单的javascript例子,一个ajax,一个点击事件的绑定:123$.getJSON("uri", params, function

2015-10-15 09:56:17 14969

转载 递归与循环

原创文章,转载请注明: 转载自始终不够本文链接地址: 递归与循环转载请注明:始终不够 » 递归与循环大一学C++的时候,老师说过递归与循环是可以相互转化的,当时好像是用来两重循环解决递归问题,算法的复杂度依然是O(n)。最近发现可以通过模拟实现栈结构通过一重循环实现非递归算法。递归必须满足以下两个条件:在每一次调用自己时,必须是(在某种意义上)更接近于解

2015-09-06 20:27:06 5755

转载 wordpress全栈优化

从最开始计算,《始终不够》个人博客上线已经有两年多了。从最开始就是使用的wordpress,最初为了丰富站内功能,使用了一箩筐的插件,首页加载基本在10s以上,期间使用xhprof做过几次优化,都不是很理想。最近抽出时间整体做了一次性能优化。首页响应时间从1s减少到20ms,并发度从2/s增加到500/s。可以说是有了质的飞跃。这里分享下这次的优化过程。首先,确定我们要优化的组件:浏览器端优化php端优化nginx优化

2015-09-06 19:56:05 6575

转载 flume日志收集系统搭建

flume是Apache的一款开源日志收集软件。在flume中,主要有三个重要的角色:source、channel和sink。source负责收集日志,日志可以是来自任何地方,例如socket,本地文件等等。sink负责将收集来的日志处理掉,处理的方法同样可以是多种多样的,例如写入HDFS,或者在本地文件系统中进行持久化。二channel则是负责source和sink之间的通信的,通信方式最常用的主要有内存管道和文件管道。这样设计的一个好处就是能够让每个角色做到单一职责,source只负责收集,sink只负

2015-09-01 19:31:09 7748

转载 flume+hive处理日志

我希望这篇文章不会长的不能忍受,所以我将做一些假设:你已经有了一个已经安装并配置好的集群。我正在使用CDH4.5,但是这并没有什么特殊的,它应该可以在任何hadoop发行版中使用。你已经对flume有了一个基本的了解。我不会讲一些一般的概念和设置。有很多很好的文章,在那里学习这些更合适。你已经对hive有了一个基本的了解。和flume类似,我想跟你说一些你还不知道的。你已经了解正则表达式。

2015-09-01 19:30:00 8244

转载 flume:支持重命名、移动文件的roll file sink升级版

flume roll file sink升级版,支持以下特性: 支持针对已处理完成文件重命名 支持已处理完成文件移动 支持空文件删除(当进行文件移动或文件重命名时,如文件为空,则执行delete()操作) 支持文件多路复制

2015-09-01 19:28:58 9579 1

转载 php包管理机制-支持php5.3的方法

omposer作为目前主流的php包管理器,使得我们组合不同功能的php代码非常容易,开发也可以更专注某一个模块了。而composer要求我们的php版本不低于php5.3,虽然php5.3也能跑,但不保证不会有问题。而相信目前国内很多公司的php版本仍然停留在php5.3以下的时代,或者由于自身实现了autoload,很难与composer组合到一起,虽然对composer的功能很喜欢,但也只能望而却步。

2015-09-01 19:27:42 6919

转载 PHP异步并发访问mysql简单实现

在实际的开发过程中,我们常常会遇到需要操作多张表,多个库的情况。有时因为一些限制我们不能进行连表(例如,异地数据库),所以只能用php串行访问后再在php里进行合并,有时还需要模拟mysql对合并后的结果进行排序、归并等。这里产生的一个问题就是串行带来的访问时间问题。由于传统的串行访问方式,我们只能等到一条sql执行完毕后才可以执行下一条,所以执行时间是累加的。PHP官方手册提供了一种可以异步并发访问mysql的方式,详见:http://php.net/manual/zh/mysqli.poll.php

2015-09-01 19:26:54 13105 1

转载 简单PHP性能记录工具

最近写了一个异步mysql客户端的封装,想与传统的串行方式做下性能对比。包括运行时间、内存使用情况等信息。在github和packagist上搜索并没有找到自己想要的,xhprof又太大了,结果也太复杂,不符合现在的需要。所以决定自己写一个package,来实现对php脚本运行时间和内存使用情况的监控,并生成报告。

2015-09-01 19:25:15 5184

转载 简易HTTP协议解析

TCP协议为操作系统底层协议,能够保证应用层获取到完整的、顺序一直的包序列。但TCP不提供具体的分包,需要上层协议自己解决。TCP发送给上层协议的数据是一个没有意义的字符串序列。如何解释这段序列,需要应用层定义,也就是应用层协议规范的内容。 应用层协议按格式一般可以分为文本协议和二进制协议。文本协议最常见的就是HTTP,二进制协议如websocket。无论是哪种协议,都需要对格式严格定义,以方便程序对字符串序列进行分包、拆包。

2015-09-01 19:24:40 10498

转载 SimpleFork php多进程并发框架

多进程程序的编写相比较多线程编写更加复杂,需要考虑进程回收、同步、互斥、通信等问题。对于初学者来说,处理上述问题会比较困难。 尤其是信号处理和进程通信这块,很难做到不出问题。 SimpleFork提供一套类似于JAVA多线程的进程控制接口,提供回收、同步、互斥、通信等方案,开发者可以关注业务问题,不需要过多考虑进程控制。

2015-09-01 19:23:40 7926

原创 PHP模拟SQL的GROUP BY算法

PHP模拟SQL的GROUP BY算法

2015-01-26 13:53:49 11853 1

原创 PHP微信SDK——Zebra-Wechat

PHP微信SDK——Zebra-Wechat

2014-12-16 15:40:08 6942

原创 基于PHP的crontab定时任务管理

基于PHP的crontab定时任务管理

2014-11-10 20:14:42 21016 1

原创 composer之创建自己的包

如何在packagist上递交自己的包

2014-11-05 21:45:05 18605 5

原创 SQL查询优化——数据结构设计

数据库设计及使用是WEB开发程序员必备的一项基础技能,在大数据量和高并发场景,合理的数据结构及SQL查询优化对项目来说都会显得格外重要。大部分有经验的程序员都能了解到,程序的瓶颈往往不在程序本身,而在数据访问层。造成数据访问效率低下的原因有很多,如何解决这些问题,直接影响到应用的稳定性、健壮性。

2014-10-06 16:51:31 11557 1

翻译 翻译:Laravel-4-Generators 使用自定义代码生成工具快速进行Laravel开发

使用自定义代码生成工具快速进行Laravel开发这个Laravle包提供了一种代码生成器,使得你可以加速你的开发进程,这些生成器包括:generate:model – 模型生成器generate:view – 视图生成器generate:controller – 控制器生成器generate:seed – 数据库填充器generate:migration – 迁移generate:pivot – 关联表generate:resource -资源generate:scaffold – 脚

2014-10-06 14:04:40 13115

原创 基于Redis的MessageQueue队列封装

Redis的链表List可以用来做链表,高并发的特性非常适合做分布式的并行消息传递。项目地址:https://github.com/huyanping/Zebra-PHP-Framework

2014-09-16 22:34:33 23502 2

原创 Redis主从搭建

Redis主从搭建

2014-09-13 11:43:01 15430 1

原创 基于System V Message queue的PHP消息队列封装

System V Message queue 是一种进程通信(IPC)的方式,方便实现生产者-消费者模型,单个或多个生产者向队列中写入消息,多个生产者再从队列中获取消息进行处理。项目地址:https://github.com/huyanping/Zebra-PHP-Framework该Wrapper支持:进程通信设置最大队列容量(字节单位)获取当前队列数量修改队列部分属性

2014-08-22 16:30:07 9607

原创 PHP实现程序单例运行

PHP实现程序单例运行

2014-08-15 00:00:43 2234

原创 初识Redis——邂逅

最近由于一块业务系统瓶颈的原因,需要找一个能够实现数据快速汇总的工具做一个中间缓存。具体场景是这样的:服务器收集WEB机群的日志集中处理,日志中有大量重复信息,需要汇总做COUNT次数统计。最开始用的MYSQL,后来发现写入瓶颈,造成数据库写入线程阻塞,日志处理线程只能等到不然会把放在内存里的数据库写入队列塞满。后来按业务做了分表,数据库写入和日志处理都改成了多线程。仍然不能解决问题,服务器负载也

2014-03-10 21:36:34 3667 2

原创 基于PCNTL的PHP并发编程

本文主要讲解基于PCNTL的PHP并发编程,虽然PHP本身不支持多进程,但基于LINUX的PHP扩展PCNTL却可以提供多进程编程。网络上很多同类文章,但笔者进行多次尝试后发现,不是难以控制进程数量,就是有潜在产生僵尸进程或孤儿进程的危险,或者父进程阻塞难以获得更大的并发效果,且大多没有介绍FORK的原理,使得PHP程序员学习PCNTL并发编程尤为困难。本文力求解决这个问题。

2014-01-14 23:26:01 19094 5

原创 mysql复制的一例错误:Relay_Log_Pos不变

最近公司的一台Mysql从机延迟了18W秒,两天前发现延迟时,观察SLAVE STATUS,一切正常,以为近期业务调整造成写操作过多,从机延迟的比较厉害,就没有做过多注意。元旦放假回来后发下延迟时间竟然已经有18W。

2014-01-02 13:53:31 12131

原创 第二章 基础知识和准备

原创文章,转载请注明出处:http://huyanping.sinaapp.com/?p=121作者:Jenner1、基础知识虽然在第一章中我们对PHP进行了简单的介绍,但在没有看到具体代码之前,我们仍然不甚了解PHP究竟是什么,它究竟能做什么。我们依然采用经典的Hello, World!实例来向大家呈现PHP的功能。下面是hello.php文件的源代码:

2013-06-13 22:52:52 1728

原创 第一章 关于PHP

原创文章,转载请注明出处:http://huyanping.sinaapp.com/?p=121作者:Jenner1、静态网页与动态网页记得本人刚刚接触网页开发的时候曾经因为这个问题,闹出了一个很大的笑话。我咨询老师关于网页开发的问题,老师问我是否理解什么是动态网页,我愚蠢并自信告诉老师,动态网页就是能动的网页,例如网页中有flash动画、gif图片等。而老师却同通俗地给我

2013-05-22 10:10:39 1729

转载 迄今见过的最好的职业规划的文章

抱歉。转载过程中已经找不到源地址了。职业的选择,总的来说,无非就是销售、市场、客服、物流、行政、人事、财务、技术、管理几个大类,有个有趣的现象就是,500强的CEO当中最多的是销售出身,第二多的人是财务出身,这两者加起来大概超过95%。现代IT行业也有技术出身成为老板的,但实际上,后来他们还是从事了很多销售和市场的工作,并且表现出色,公司才获得了成功,完全靠技术能力

2013-03-01 20:34:37 2747 1

原创 写给4年前开始编程序的自己

最近在网上看到有人写了一篇关于《写给4年前没有开始做设计的自己》,突然也想写这样一篇文章。具体那篇文章的内容我并没有细读,防止自己的思路照着他的来。首先,我先简单介绍下自己,好为后面的内容做一个铺垫。我今年23岁,内蒙古人,今年6月将于粤东地区韩山师范学院毕业,软件工程专业。一、如果可以,你应该去学文学或者经济学、或者其他你喜欢的专业这样的建议并不是因为计算机专业不好,或者不适

2013-02-15 17:31:05 36928 222

原创 ORM映射的弊端以及它对数据库优化影响

首先简单的介绍下ORM关系对象映射的概念。虽然NOSQL现在在迅速崛起,但大多数人仍然在使用稳定的关系型数据库,我们将数据组织成记录存储在关系数据库中,每一行代表一条记录。现代编程中,面向对象技术应用已经非常广泛,关系型数据库的数据组织形式与面向对象的数据组织形式存在根本上的差异。ORM的任务就是将关系型数据库中的数据通过ORM层映射为对象,使之能够应用于面向对象程序,方便编程。它确实

2013-02-01 14:22:36 8242 2

转载 B树、B-树、B+树、B*树

源地址丢失。不好意思。B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开

2013-02-01 13:31:45 1433 1

原创 PHP中header()立即重定向的不友好性

PHP程序猿经常会采用header函数进行重定向页面,如果重定向是立即的,本人认为存在以下几点不友好性:一,用户再不清楚操作返回状态的情况下,被强制性跳转到了其他界面,造成用户填写数据的丢失,以及返回状态的不明确问题.二,用户大多希望能够在递交页面之后,仅返回状态信息而保留原有界面,这样看,AJAX更适合返回用户操作状态.另外,个人观点认为,不应该通过header函数进行页面重

2013-01-22 09:30:18 4156

转载 fedora 17 关机方法

第一种:点右上角后,按住ALT键,界面中“挂起”就会变成“关机”。第二种:按alt+F2调出运行命令窗口,输入sudo halt。第三种:shutdown -h now第四种:shutdown -y -g0第五种:init 0

2013-01-04 08:25:20 2455

转载 Fedora 17无法用root账户登录解决方法

转自:http://hi.baidu.com/zhangzhaocai/item/4304d0df02888df793a974d7问题描述:Fedora linux17 用root用户登录,输入密码出现验证失败,即使你的密码是正确的,也会出现这种情况,这是因为Fedora linux 默认禁止了root 超级用户。解决办法:最开始尝试利用修复模式修改root用户密码,但是重

2013-01-04 08:02:27 2160

原创 关于以UTF8编码的文件,php发送header时报错的原因

最近在给实习的同事讲解关于wordpress的二次开发。这几天他们的工作中经常遇到一个问题,问题描述如下:访问wordpress网站时经常会报错,说是再header函数之前就已经有输出了字符,且是在functions.php文件的第一行。        当我一次次修改该文件无效果的情况下,我删除了文件中的所有内容,结果依旧。所以我开始怀疑编码问题,并将编码改为ANSI编码,问题解决了。但我们的

2012-08-20 16:34:41 1907

翻译 Open Flash Chart极简单入门教程 英文翻译

如何让Open Flash Chart运作在这一节里,我们将尝试将下面的图表实施在你的web站点上,如下图所示:1、       安装文件在我们开始之前,你应该将Open Flash Chart的压缩包下载下来。打开你所下载下来的压缩包,进入version-2文件加下,将open-flash-chart.swf文件复制到你的服务器根目录下。你可以移动所有的文件到任何

2012-07-26 14:44:00 3957

转载 Open Flash Chart图表的JSON格式基本属性详解

数据文件必须是JSON格式.JSON对象的基本格式:{}把所有对象都编写在{}里面.让它看起来像下面 JSON 数据格式:{  "title":{    "text":  "Many data lines",    "style": "{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: cen

2012-07-26 14:38:54 1282

转载 zend framework的目录结构

application/ – 存放应用程序的目录,包括 MVC 系统、配置文件、服务以及引导程序(Bootstrap.php)configs/ – 配置文件目录。application/modules   – 多模块目录结果 例如admin(后台前程), default(前台),shop(商城)各个模块下都有自己的controllers,modules,Viewscontrollers

2012-07-25 10:36:27 5660

原创 Wordpress主题制作不完全指南

程序猿始终不够新浪微博:weibo.com/ybchris引言    如果你有些HTML经验或者有些套后台的经历,那么wordpress的主题模板开发方式绝对会令你耳目一新。刚刚接触wordpress的时候,我不禁怨恨其没有使用强大的模板引擎,造成了前台的混乱。在后来的学习中,我逐渐感受到了wordpress的强大,虽然它的很多优点我还不是很清楚,但我所接触到的东西已经能让我确定这是一

2012-07-22 10:16:09 3689

原创 使用Include函数的返回值

記得以前在thinkphp中看到一種寫法,一個文件中只有一條return語句,而return的內容是一個數組例如下面代碼:included.php<?phpreturn array(1,2,3,4,5);當時我猜想其應該是把這個數組當做include函數的返回值。經過測試果然如此,看如下調用代碼:include.php<?php$arr = include 'included.ph

2012-05-22 15:08:39 1795

转载 PHP PDO访问数据库

PHP PDO访问数据库BY FUSHANLANG, ON SEPTEMBER 26TH, 2010原文地址:http://www.fushanlang.com/blog/php-pdo-to-access-the-database-1032/[翻译]为什么你应该使用PHP PDO访问数据库许多PHP程序员学习过如歌使用MySQL或MySQL

2012-05-16 20:37:19 5006

标准的网页布局设计流程

标准的网页布局设计流程

2012-08-01

wordpress完整教程

压缩包中包含了很多wordpress的优秀教程文档。很适合初学者和主题制作师查阅。

2012-07-22

loadrunner破解文件 与 loadrunner破解方法的Pdf文档配套

loadrunner破解文件 与 loadrunner破解方法的Pdf文档配套

2012-05-21

HP+LoadRunner+9.5+下载、安装、破解图解 本人还有配到破解文件

破解 loadrunner9.5 web

2012-05-21

WINDOWS平台下PHP环境搭建完美图解

详细的WINDOWS平台下搭建PHP环境的图解,经过数次测试,证明文档的正确性。

2012-02-18

android开发环境搭建完全指南

本人花了一下午的时间进行配置和测试,基本证明了本文档的正确性。该文档讲解详细,附带安装文件的下载地址,图解,以及环境搭建成功后的一个小测试代码。。。如有转载请注明原作者。

2012-02-17

40条优化PHP代码的小实例

40条大部分对我们来说还是有用的

2011-12-10

php路径讲座

详细讲解PHP路径的使用,看完这个应该以后不会在路径这一块纠结了

2011-12-10

MVC模式精讲

MVC模式讲解

2011-12-10

linux命令全集

linux命令全集,可以方便查找,也可以分块学习

2011-12-10

phpmyadmin教程

讲解phpmyadmin的使用方法,有插图

2011-12-10

apache手册

中文apache手册

2011-12-10

discuz! 7.2 超详细代码解析

discuz详细解析!非常详细。。。大家可以看看

2011-05-02

空空如也

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

TA关注的人

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