- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅