自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Toby的博客

博客陆续迁移至个人网站 https://toby-wang.github.io

  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 必会算法--选择排序

选择排序算法的原理如下:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。使用PHP实现如下: function selection_sort($array){ $count=count($array); for($i=0;$i<$count-1;$i++){ $min=$i; for($j=$

2018-03-31 20:54:42 301

原创 必会算法--直接插入排序

直接插入排序的算法如下:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。使用PHP实现如下:function insert_sort(&amp;$arr)//传入引用{ for($i=1;$i&lt;count($arr);$i++){//第0个是有序的 $insertVal...

2018-03-31 20:10:54 269

原创 必会算法--快速排序

快速排序算法的原理如下:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。使用PHP实现代码如下:function fast_sort($arr){ if (!is_array($arr)) { retu...

2018-03-31 19:54:02 302

原创 必会算法--冒泡排序

最近去公司面试,新浪、360等第一道面试题都是书写冒泡排序,必知必会,必须做到倒背如流,随手能写。冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比...

2018-03-31 14:41:00 245

转载 Redis持久化

最近学习了Redis,其最重要的一个特点就是数据可以持久化,那么接下来我们就学习一下。摘自Redis官方权威文档:http://www.redis.cn/topics/persistence.htmlRedis 持久化Redis 提供了不同级别的持久化方式:RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储.AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来...

2018-03-18 11:28:33 207

原创 Git与SVN最全面详细对比

概念Git(分布式版本控制系统)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS...

2018-03-13 21:38:17 2911

原创 到底什么是哈希Hash?

但凡是从事过计算机行业的人,多多少少都会听说过这个概念,但是又对其很模糊,那么到底什么是Hash呢?定义Hash一般翻译为散列,还有音译为哈希,本文我们统称为哈希(这么叫好听,哈希=散列),通过百度以及谷歌都没有直接找到Hash的定义,而是找到了一些相关的概念,哈希算法,哈希函数,哈希表等概念。我所理解的哈希是指一个过程,这个过程就是把任意长度的输入,通过哈希算法,变换成固定长度的输出,所输出的称...

2018-03-13 20:21:00 24798

原创 PHP错误和异常详解(PHP7错误处理)

世界上没有绝对完美的事,对于程序员来说更是如此,无论我们多么努力、多么细心的开发一个项目,总会有缺陷和错误的存在。错误和异常的异同"错误"和"异常"的概念十分相似,很容易混淆,"错误"和"异常"都表明了项目出了问题,都会提供相关的信息,并且都有错误类型。然而,"异常机制"是在"错误机制"后才出现的,"异常"是避免"错误"的不足。比较重要的一点就是因为

2018-03-12 14:29:51 5261

转载 快速理解硬链接与软链接

什么是链接?链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。它是用来干什么的?你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到软链接(也称符号链接)。软链接和硬链接的区别是?下面我们...

2018-03-11 10:53:54 467

转载 阻塞非阻塞与同步异步的区别

nginx是异步非阻塞型的,那么这又怎么理解呢?以下是我从知乎上看到的。摘自知乎 作者:严肃链接:https://www.zhihu.com/question/19732473/answer/20851256“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication...

2018-03-09 17:41:24 145

转载 【Nginx】实现负载均衡的几种方式

转自学长博客:http://blog.csdn.net/qq_28602957/article/details/61615876什么是负载均衡当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间...

2018-03-08 16:47:02 216

转载 Apache、Nginx 最新深度对比

刚入手一台新的MBP,在纠结搭建环境是用LAMP呢?还是LNMP呢?以下是两个服务器的对比。连接处理架构Apache 和 Nginx 最大的不同在于它们对连接和流量传输处理的方式。下文将论述当它们响应不同的流量状况时,表现出的最关键的不同之处。Apache是基于模块化设计的,它的核心代码并不多,大多数的功能都被分散到各个模块中,各个模块在系统启动的时候按需载入。Apache中还有一个重要的组件就是...

2018-03-08 16:28:05 331

转载 Memcached的内存管理与删除机制

部分摘自:http://blog.csdn.net/qq_28602957/article/details/52799117               https://www.jianshu.com/p/e0676591f5acSlab Allocator 缓解内存碎片化Memcached利用Slab Allocator机制管理内存。预先把内存划分成数个大小1M的slab class仓库,再把每...

2018-03-08 13:32:46 268

原创 Nginx反向代理Apache实现动静结合

当今最流行的WEB服务器当属Nginx和Apache了,最近接触了nginx,那么nginx的一大特点就是它本身是一个反向代理服务器,且支持7层负载均衡,相比于apache,nginx对静态内容对处理能力很强,对于动态内容还是apache性能更优,于是我突发奇想使二者结合使用,也即使用Nginx处理静态内容,动态内容反向代理交给Apache处理。    首先需要了解一下什么是反向代理?这个概念貌似...

2018-03-07 20:45:06 11138

原创 浅析CGI、FastCGI、PHP-FPM、PHP-CGI

一、CGI(通用网关接口)CGI 是Web 服务器运行时外部程序的规范标准(一种协议),按CGI 编写的程序可以扩展服务器功能。CGI应用程序是独立于服务器的,所以说几乎所有服务器都支持CGI,可用任何语言编写实现CGI(只要这种语言具有标准输入、输出和环境变量)。CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。工作流程:我们说Int...

2018-03-06 19:29:33 526

转载 Session数据共享

参考文章:http://blog.csdn.net/lamp_yang_3533/article/details/51984201               https://www.cnblogs.com/lingshao/p/5580287.html比如:现在有三台php服务器,且实现了负载均衡,如何让这三台web服务器共享session数据?session数据默认是以文件的形式保存在web服...

2018-03-05 19:29:11 509

原创 Cookie/Session机制解析

一、cookie 机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的...

2018-03-05 17:04:40 149

原创 Memcache与Memcached最新详细解析

在近期的搭配环境中学习了memcache、memcached、php-memcache、php-memcached等的异同,通过查询大量资料以及实践总结出本篇文章。一、memcacheMemcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存...

2018-03-04 13:37:51 725

转载 CSS浮动清除

今天在牛客网刷题的时候看到有关浮动清除的问题,在之前的开发中虽然也遇到并解决过类似的情况但是没有做过系统的总结。在segmentfault看到一篇不错的文章来讲解总结这个常见的问题,转载过来学习一下。什么是CSS清除浮动?在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度...

2018-03-02 11:41:55 189

转载 CentOS 7.2 下安装部署 LAMP 详解

今天在腾讯云租了个linux的服务器,找到一篇很详细部署LAMP的文章,分享一下简介LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Python是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。部署方式在云服务器下部署LAMP通常有

2017-11-23 15:29:32 1116

转载 PHP设计模式

今天看到一篇讲述php设计模式的文章,写的很不错,分享一下。PHP设计模式——概述  常见的面向对象设计模式大约有23种,但是自从接触PHP后,渐渐发现常见的设计模式好像少了很多,网络上的资料也比较少,身边的PHP同事们有的甚至没有听说过设计模式,这也有可能是PHP的发展所带来的,因为PHP对面向对象支持的比较晚,好多PHP程序员还按照面向过程的思想写代码。于是,我决定

2017-11-11 15:45:01 332

原创 PHP新特性——命名空间

命名空间:       现代的PHP特性中最重要的恐怕就是命名空间了,如果曾经接触过java、C#等语言的话,大概对这个名词不会太陌生,而命名空间则是在PHP5.3.0中引入的。       其作用是按照一种虚拟的层次结构组织代码PHP代码,这种层次结构类似操作系统中文件系统的目录结构。      *现代的PHP组件和框架都放在各自的全局唯一的厂商命名空间中,以免与其他厂商使用的常见类

2017-10-11 18:07:08 496

原创 PHP代码规范

一、基本约定 1、源文件(1)、纯PHP代码源文件只使用<?php标签,省略关闭标签 ?> ;(2)、源文件中PHP代码的编码格式必须是无BOM的UTF-8格式;(3)、使用 Unix LF(换行符)作为行结束符;(4)、一个源文件只做一种类型的声明,即,这个文件专门用来声明Class, 那个文件专门用来设置配置信息,别混在一起写; 2、缩进使用Tab键来缩进,每个Tab键长度设置为4个空格;

2017-09-18 11:00:03 582

转载 mysql模糊查询like/REGEXP

摘自:http://www.cnblogs.com/wangmeijian/p/5392954.html;增删改查是mysql最基本的功能,而其中查是最频繁的操作,模糊查找是查询中非常常见的操作,于是模糊查找成了必修课。like模式like意思是长得像,有两个模式:_和%表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意“王”后面有两个select na

2017-09-17 17:31:33 618

原创 MYSQL explain详解

转自:http://blog.csdn.net/zhuxineli/article/details/14455029explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。虽然这篇文章我写的很长,但看起来真的不会困啊,真的都是干货啊!!!!先解析一条sql语句,看出现什么内容EXPLAIN SELEC

2017-09-15 10:33:23 238

转载 数据库索引的实现原理

转载出处:http://blog.csdn.net/kennyrose/article/details/7532032说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以

2017-09-12 14:12:42 279

转载 唯一索引与主键索引的比较

唯一索引唯一索引不允许两行具有相同的索引值。如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。主键索引主键索引是唯一索引的特殊类型。数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。在数...

2017-09-12 14:07:21 596

原创 char与varchar类型区别的深度剖析

char和varchar这两种类型是我们经常使用的类型,在使用的时候大家也没有特别注意有什么区别,好奇心驱使我对其进行探究,经过查阅一番资料手册以及做的小测试,有了一定程度的了解,特此记录下来!   手册中有提到:CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。   稍微进一步的解释:

2017-09-07 16:23:49 31087

原创 php文件上传详解

1.PHP配置文件首先,我们文件上传需要设定一下 php.ini 的配置文件。这是最基本的设置,如果这里设置不成功,那么代码写得再正确也没有用。基本的配置项目如下file_uploads = on #文件上传开启upload_max_filesize= 200M #文件上传的最大尺寸upload_tmp_dir = c:/uploads/ #临时文件目录post_max_size

2017-09-06 14:42:36 303

原创 Mysql条件计数查询

在网站开发的过程中,经常会用到数据统计功能,因此条件计数查询便是不可避免的,下面介绍几种方法来解决此问题。例(假设):

2017-09-04 13:47:40 17321 2

转载 HTTP与HTTPS的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据

2017-07-28 20:03:35 283

转载 Git撤销修改

自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行:$ cat readme.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called stage.

2017-07-17 17:23:08 284

转载 Git工作原理

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称

2017-07-17 17:06:17 347

转载 CI文件上传失败原因

CI文件上传总是出现很其他问题,但大部分都是php配置问题,CI本身的问题不大,所以CI总是背锅。php.ini的配置:1. 启用上传file_uploads = On2. 设置上传文件大小限制upload_max_filesize = 50M3. 设置 POST 大小限制post_max_size = 60M需要设置为比 upload_ma

2017-07-14 18:55:29 1607

原创 CI框架解决无法上传0字节文件问题

当使用CI框架进行开发时,发现这样一个小问题,文件上传的时候,一切都正常,但是当上传0字节文件的时候(以.txt文件为例),报出以下错误:那么为什么明明设置的上传允许类型有,但是还显示类型在禁止上传之列呢?经过一番查询资料,才得知原来是mimes.php中没有对应的类型,才导致上传类判断没有对应的类型。那么首先我们先获取这个文件的mime类型(如下):在CI目录下s

2017-07-14 18:20:20 396 1

原创 Window下为何无法正确执行git reset --hard HEAD^

开始学习Git的小伙伴们一定都知道,版本退回,返回最后一次的commit而恢复到其上一次的commit指令是:git reset --hard HEAD^但是当我在windows下的命令行中却无法正常执行,会出现以下错误:经过查询资料,发现原来^是cmd的escape字元,属于特殊字元,命令行中要用到^的时候就必须用双引号把它给括起来,如下:git reset --hard H

2017-07-12 09:48:36 907

原创 PHP性能优化

图示为100个并发,请求1000次目标地址     进行测试   最重要的两个参数:Requests per second :每秒接受请求数,这里每秒接收101个请求         Time per request:一个请求用多少耗时,这里是9毫秒第一个参数越大越好,第二个参数越小越好

2017-07-11 20:25:24 1301

转载 Zend coding的详细用法

Zencoding    首先看看这个zencoding代码:点击(此处)折叠或打开html>head>(title+style+script[src=abc$.js]*3)+body>((.content>.nav>ul>li*5>a>span)+(.sidebar>.top+.middle+.bottom)+.main>.acticle*3>h1

2017-07-11 16:22:08 1387

转载 PHP代码运行流程

PHP代码运行流程Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码:    echo "Hello World";   $a = 1 + 1;   echo $a;?>PHP执行这段代码会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend)1.Scanning(Lexin

2017-07-08 15:55:33 1266

转载 Position详解

CSS的很多其他属性大多容易理解,比如字体,文本,背景等。有些CSS书籍也会对这些简单的属性进行大张旗鼓的介绍,而偏偏忽略了对一些难缠的属性讲解,有避重就轻的嫌疑。CSS中主要难以理解的属性包括盒型结构,以及定位。正如positioniseverything,本文将主要讲述关于position的理解,力求让您看完本文后对position有着最全面的认识。position的四个属性值:

2017-07-07 15:41:56 630

无水印高清录制屏幕软件

提供无水印超高清屏幕录制工具,简单灵活,操作简单,可以自行指定存储位置,任意调整录制桌面位置,大小等。

2017-09-07

RunHiddenConsole

nginx需要的配置文件

2016-10-17

空空如也

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

TA关注的人

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