自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟蜗居地

尽快干掉老鸟!

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

转载 深入理解composer的autoload自动加载原理

转载地址:http://www.toolmao.com/composer-autoload composer的出现真是让人们眼前一亮,web开发从此变成了一件很『好玩』的事情,开发一个CMS就像在搭积木,从packagist中取出『积木』搭建在自己的代码中,一点一点搭建出一个属于自己的王国。 从此以后我基本就抛弃了require和include函数,一个项目中,这两个函数只可能

2016-12-08 11:27:29 26708

转载 mac 装oh my zsh

Mac 系统安装 oh my zsh 字数177 阅读147 评论0 喜欢1 安装oh my zsh: 1、克隆这个项目到本地(前提是你得有装git)     git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 2、创建一个zsh的配置文件 注意:如果你已经有一

2016-10-13 19:15:02 1362

原创 工厂模式-(PHP版)

<?php interface creathuman{ function getlife(); } /** * */ class Man { function __construct() { echo "I'm Man "; } } class WoMan { function __construct() { echo "I

2016-09-22 22:17:50 447

转载 根据前序遍历序列和中序遍历序列构造二叉树

转载地址:http://blog.youkuaiyun.com/yunzhongguwu005/article/details/9270085 感谢作者!!!  一个前序遍历序列和一个中序遍历序列可以确定一颗唯一的二叉树。        根据前序遍历的特点, 知前序序列(PreSequence)的首个元素(PreSequence[0])为二叉树的根(root),  然后在中序序列(InSeq

2016-08-20 11:20:33 1362

转载 Linux 忘记root密码

转载:http://blog.chinaunix.net/uid-26853826-id-3190753.html Ubuntu 方法一:    如果用户具有sudo权限,那么直接可以运行如下命令:    #sudo su root    #passwd    #更改密码    或者直接运行sudo passwd root命令就可以直接更改root密码。

2016-04-16 21:46:15 507

转载 Mac忘记root密码

转载地址:http://bbs.feng.com/read-htm-tid-6338596.html 力求以最简洁的文字来解决问题。 直接进入正题,4种方法: [li]使用Apple ID重置用户账户密码[/li][li]使用OS X安装光盘或者U盘来重置用户账户密码[/li][li]新建一个管理员账户来更改原有用户账户密码[/li][li]Recovery模式终端更改用户账户密码[/l

2016-04-16 20:49:04 656

转载 Nginx负载均衡

转载地址:http://www.cnblogs.com/xiaogangqq123/archive/2011/03/04/1971002.html nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 如果只有一

2016-03-25 13:57:28 465

转载 Apache配置之url重写

根目录权限 AllowOverride None   //禁止用户对目录配置文件.htaccess修改,一般为none, //当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。 Require all granted  Order Allow,Deny  用来控制目录和文件的访问授权。 apache2.4以后修改

2016-03-23 15:14:01 4144

转载 Apache工作模式配置

apache工作模式:prefork和worker prefork模式:     prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大。 prefork模式安全性比较好,但是性能会差一点; prefork模式配置: ServerLimit 256                

2016-03-23 14:55:15 547

原创 单链表

/** * 单链表 * 时间:2016-3-4 22:43 * 功能:创建,打印,删除,测长 */ #include #include #include using namespace std; #define OK 1 #define ERRoR 0 #define OVERFLOW -1 typedef int Status

2016-03-04 22:45:46 361

转载 TCP协议中的三次握手和四次挥手

转载地址:http://blog.youkuaiyun.com/whuslei/article/details/6667471 感谢作者!!! 建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 (这个地方有问题:授予链接(seq=server_isn,不是client_isn),原文评论发现的。。) 首先

2016-02-27 21:57:06 338

转载 有序集合(zset)数据类型

转载地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/23/2354994.html 感谢作者!!!!! 一、概述:     Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之

2016-02-26 11:08:03 5890

转载 无序集合(set)数据类型

转载地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/21/2352512.html 感谢作者!!!! 一、概述:       在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O

2016-02-26 11:02:34 2556

转载 hash 数据类型

转载地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/19/2352932.html 感谢作者!!! 一、概述:       我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。

2016-02-26 10:54:10 512

转载 list数据类型

转载地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/16/2351859.html 感谢作者!! 一、概述:       在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键

2016-02-26 10:50:13 3330

转载 string数据类型

转载地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/14/2349815.html 感谢作者! 一、概述:       字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Valu

2016-02-26 10:46:15 671

转载 composer安装(中国镜像)

转载地址:http://my.oschina.net/igq/blog/312322 1、安装composer 网上已经有很多安装教程了,这里就全局安装 $ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer 2、修改配置,使用中国镜像 先找到config文件

2015-08-30 10:23:09 1894

原创 二叉排序树

二叉排序树的基本操作: 1,添加一个节点。 2,删除一个节点。 这里说一下删除。 删除有3中情况: 1,没找到这个节点。 2,节点为叶子节点(没有左右孩子)。 3,节点只有左孩子。 4,节点只有右孩子。 5,左右孩子都有。又分两种情况(A和B)          情况A:节点的右孩子的左孩子为空。 情况B:一直找到节点的右孩子下左孩子为空的节点 上代码(C+

2015-08-26 17:08:03 431

原创 二叉树--基本操作

1.前序遍历 2.中序遍历 3.后序遍历 4.层次遍历(层次遍历的时候需要用到队列) 这里解释一下层次遍历:先把root节点压入队列,然后判断队列是否为空,非空,输出队首节点(root),压入root的左节点A,再压入root的右节点B,再判断,再输出输出队首节点(A),再压入A的左节点C,再压入A的右节点D,以此循环,直到队空。 上代码(C++版): /* *二叉树 */ #incl

2015-08-25 23:05:48 384

原创 队列

注意:一定要搞清什么时候需要释放内存,什么时候不用。。 /** * name:队列 * time:15/8/16 16:26 */ #include #include #include using namespace std; //宏定义 #define NO 0 #define YES 1 #define OK 2 #define ERROR 3

2015-08-18 21:00:08 429

原创 栈

/** * name:栈(stack) * time:15/8/17 15:00 */ #include #include #include using namespace std; //宏定义 #define NO 0 #define YES 1 #define OK 2 #define ERROR 3 #define INFEASIBLE -1

2015-08-18 20:21:55 368

转载 8大排序算法总结

常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。  总结 各种排序的稳定性,时间复杂度、空间复杂度、稳定性总结如下图:  关于时间复杂度: (1)平方阶(O(n2))排序  各类简单排序:直接插入、直接选择和冒泡排序;  (2)线性对数阶(O(nlog2n))排序    快速排序、堆排序和归并排序;

2015-08-16 16:09:46 759

原创 基数排序(C++版)

假设原来有一串数值如下所示: 73, 22, 93, 43, 55, 14, 28, 65, 39, 81 首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中: 0 1 81 2 22 3 73 93 43 4 14 5 55 65 6 7 8 28 9 39 第二步: 接下来将这些桶子中的数值重新串接起来,成为以下的数列: 81, 22, 73

2015-08-16 15:54:42 23079 15

原创 选择排序(C++版)

思想:在数组中找到最小(最大)的放在前面,所以时间复杂度为O(n^2)。 代码: /** * name:选择排序 * time:15/8/15 14:40 * environment: ubuntu 14.04, sublime text 3 */ #include #include using namespace std; /* * 打印数组 */ void printArray(

2015-08-15 17:42:45 668

原创 希尔排序(C++版)

希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 C++代码: /** * name:希尔排序 * time:15/8/8 17:10 * environment: ubuntu 14.04, sublime text 3 */ #include using namespace std; /* * 打印数组 */ void pr

2015-08-12 18:09:27 430

原创 冒泡排序及改进(C++版)

冒泡排序:相邻两个数比较,根据大小交换位置 C++代码: /** * name:冒泡排序 * time:15/8/12 15:00 * environment: ubuntu 14.04, sublime text 3 */ #include #include using namespace std; /* * 打印数组 */ void printArray(int array[],in

2015-08-12 16:55:20 1924

原创 快速排序(C++版)

A[p,r]进行快速排序的3步分治过程: 1,分解。数组A[p,r]被划分为两个(可能为空的)子数组A[p,q-1]和A[q+1,r],使得A[p,q-1]中的每个元素都小于A[q],而A[q]也小于或者等于A[q+1,r]中的每一个元素。 2,解决。递归调用快速排序,对A[p,q-1]和A[q+1,r]进行排序。 3,合并。因为是原址排序所以不用合并。 C++代码: /** *

2015-08-11 16:18:34 588

原创 堆排序(C++版)

/** * name:堆排序 *时间复杂度:O(nloogn) * 稳定性:不稳定 * time:16/2/28 09:28 */ #include using namespace std; /** * 打印数组 */ void printArray(int array[] , int length) { for (int i = 0; i < length; ++i) { cou

2015-08-10 17:53:52 1611

原创 23种设计模式--单例模式(c++版和php版)

单例模式:就是一个类一个实例。 直接上代码(c++版): /** * name:单例模式 * define:一个类只有一个实例 * time:15/8/9 20:00 */ #include using namespace std; class Singleton { private: Singleton() { } static Singleton* instance; publi

2015-08-09 21:17:21 1094

原创 分治算法排序(C++版)

分治排序: 把一个数组分成两个数组,然后在把这两个数组再各自分成两个数组,直到数组有两个数,然后比较这两个数,并且合并,排序。 就是上面这个样子 的。。 不说了上代码(c++版): /** * name:分治算法 * time:15/8/9 14:25 * environment: ubuntu 14.04,sublime text 3 */ #include using nam

2015-08-09 18:04:41 5256 3

原创 插入排序(C++ 版)

插入排序,跟玩扑克一样,起牌的时候,用一个和其他的比较。 举个例子 int array[10] = {8,4,1,3,2,5,7,6,9,0};1,用第二个4和第一个8比较,4 2,再用第三个1 和8比较,1 。。。。 以此类推。。 c++代码 /** * name:插入排序 * time:15/8/8 17:40 * environment: ubuntu 14.04, subl

2015-08-09 17:49:51 461

原创 Redis PHP 连接

设置redis的php的驱动     ​    ​下载phpredis 地址:https://github.com/nicolasff/phpredis     ​    ​然后解压,目录名phpredis  cd phpredissudo phpize sudo ./configuresudo makesudo make install 这里第二行:phpiz

2015-07-28 15:09:20 525

转载 Redis介绍和安装

一下来自:http://www.yiibai.com/redis/redis_quick_guide.html Redis三个主要特点: Redis数据库完全在内存中,使用磁盘仅用于持久性。 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。 Redis可以将数据复制到任意数量的从服务器。 Redis 优势

2015-07-27 23:09:15 464

原创 Redis 的订阅和发布

Redis 的 SUBSCRIBE 可以订阅任意数量的频道 Redis 的 PUBLISH 发送命令道频道,然后这个消息就会发送道订阅这个频道的客户端 举例:     ​现在有两个频道:     ​客户端1:打开shell zhaoning@zhaoning-computer:~$ redis-cli127.0.0.1:6379> subscrib

2015-07-27 23:05:36 496

转载 ubuntu下svn创建多个仓库

下载和安装svn之前的写过,在这里不再重复。 名字:ubuntu下搭建svn服务器。 地址:http://blog.youkuaiyun.com/u012580566/article/details/46913375 在/srv/svn根目录下(svn的仓库是创建在/srv/svn的目录下,当然你还可以常见在Apache的www下) 创建两个仓库:test1,test2 sudo svnad

2015-07-21 22:08:12 2655

转载 Ubuntu下搭建svn服务器

安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置(这个地方自己决定,如果你用Apache 的话可以放在www下面) cd /srv sudo mkdir svn svn版本仓库叫test cd /srv/svn sudo mkdir test 目录建好

2015-07-16 16:04:38 778

原创 ubuntu 重新安装mysql

今天感觉比较蛋疼,本来网就不好,还发生一些不如意的事。 说一下我之前的安装过程: 我先用Ubuntu的软件中心安装的mysql-server 和 mysql-client,结果没有让设置mysql密码,我也不知道数据库密码,然后mysql的一个配置文件中找到了,好长一个码,不知道加密没有,然后我抱着试一试的态度把那个密码改成root,结果不行。后来想删掉重新装的,如软件中心又让我失望。 网上

2015-07-15 21:03:05 583

原创 explicit作用

定义:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类, 不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。 注意:1.explicit 关键字只能用于类内部的构造函数声明上。     ​    ​2.explicit 关键字作用于单个参数的构造函数。     ​    ​3.被修饰的构造函数的类,不能发生相应的隐式类型转换。 例子: 未加exp

2015-05-09 18:17:15 676

转载 三种缓存原理

一  .Opcode缓存 Opcode是operation code(操作码)的简称,一种中间码。PHP代码执行会经过如下4个步骤: 首先,Zend Engine(Zend引擎),调用词法分析器(Lex生成的,源文件在 Zend/zend_language_sanner.l), 将我们要执行的PHP源文件,去掉空格 ,注释,分割成一个一个的token。然后,Zend引擎会将

2015-04-27 08:26:23 704

转载 JS实现图片预览

/**  * 从 file 域获取 本地图片 url  */  function getFileUrl(sourceId) {  var url;  /*if (navigator.userAgent.indexOf("MSIE")>=1) { // IE 这个写法只能适应IE11一下版本,IE11不能用 url = document.getElementById(sourceId).

2014-10-12 17:24:07 518

AngularJS--angular-phonecat

根据官网上做的,跟网上有点小出入,测试没写!

2014-07-09

基于thinkphp的excel导出

基于thinkphp的excel的导出,,将数据库表的数据用excel导出

2015-07-03

空空如也

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

TA关注的人

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