- 博客(184)
- 资源 (2)
- 收藏
- 关注
原创 二叉树的遍历(前序、中序、后序、层次)
基本性质每个结点最多有两棵子树,左子树和右子树,顺序不可颠倒。非空二叉树第nn层最多有2n−12n−1个元素。深度为hh的二叉树,至多有2h−12h−1个结点。结点结构class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }
2017-05-12 10:00:13 851 1
转载 二叉树前序、中序、后序遍历非递归写法的透彻解析
前言在前两篇文章二叉树和二叉搜索树中已经涉及到了二叉树的三种遍历。递归写法,只要理解思想,几行代码。可是非递归写法却很不容易。这里特地总结下,透彻解析它们的非递归写法。其中,中序遍历的非递归写法最简单,后序遍历最难。我们的讨论基础是这样的: [cpp] view plain copy //Binary Tree Node
2017-05-12 09:58:49 517
原创 Mac下php版本切换
本文介绍在Mac开发环境下怎样进行php版本的切换前言默认php的安装方式是homebrew,如果不是,那就别看了。。。安装php多版本Mac下默认安装了php但是版本不是很高,用php -v查看php版本123456localhost:~ Ken$ php -vPHP 5.6.17 (cli) (built: Jan 8 201
2016-07-10 10:31:42 2940
转载 INSTALL NGINX, PHP AND MYSQL ON OS X
INSTALL NGINX, PHP AND MYSQL ON OS X19. OCTOBER 2014 — 503 COMMENTSRecently I got a new MacBook Pro and decided to set it up from scratch, because I've used the same Time Machine backup
2016-07-10 03:45:43 1271
原创 php5.6, php7 on ubuntu14 via phpbrew
Installation procedure for php5.6 (officel release) and php7 (alpha) on Ubuntu 14.04, viaphpbrew package.Install requirements for phpbrew:apt-get updateapt-get upgradeapt-get build-dep php
2016-07-09 23:52:04 855
转载 MAC下安装多版本JDK和切换几种方式
环境:MAC AIR,OS X 10.10,64位 历史:过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)(原自带的是1.6)。后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。 在终端中输
2016-07-09 18:54:36 542
转载 SpringMVC之HandlerAdapter解析
HandlerAdapter字面上的意思就是处理适配器,它的作用用一句话概括就是调用具体的方法对用户发来的请求来进行处理。当handlerMapping获取到执行请求的controller时,DispatcherServlte会根据controller对应的controller类型来调用相应的HandlerAdapter来进行处理。 在贴源码之前先说一下HandlerAdap
2016-07-05 13:10:07 1249
原创 google font 字体下载方式
npm install -g goog-webfont-dl 然后使用goog-webfont-dl工具就可以愉快的下载字体了 goog-webfont-dl -a -f 'Source Sans Pro' -y '300,400,600,900'goog-webfont-dl -a -f 'Lato' -y '100'enjoy it !
2016-06-25 17:35:53 1995
原创 centos 6 升级安装 php5.6
centos默认带了php5.3,现应使用yii2, 需要安装php5.5以上版本,考虑使用最新的php5.6 ,安装方法如下https://webtatic.com/packages/php55/1. 添加源rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm2. 安装
2016-06-23 01:03:23 701
转载 如何使用openssl生成RSA公钥和私钥对
在ubuntu上要使用openssl的话需要先进行安装,命令如下:sudo apt-get install openssl安装完成就可以使用openssl了。首先需要进入openssl的交互界面,在命令行了输入openssl即可;1)生成RSA私钥:genrsa -out rsa_private_key.pem 1024该命令会生成1024位的私
2016-06-17 15:39:25 697
转载 python的包管理方式
转自 http://hi.baidu.com/nkhzj/blog/item/a6f0df00b2c39716728b65f1.html模块包:包通常总是一个目录,目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。差不多就像这样吧:Package1/ __init__.py
2016-05-31 14:54:36 528
转载 终极Shell---zsh
终极 ShellPosted on 2013 年 7 月 23 日在开始今天的 MacTalk 之前,先问两个问题吧:1、相对于其他系统,Mac 的主要优势是什么?2、你们平时用哪种 Shell?……第一个童靴可以坐下了,Mac 的最大优势是 GUI 和命令行的完美结合,不要把所有注意力放在 Mac 性感的腰身和明媚的显示屏上好吧,这不是妹纸
2016-05-29 16:41:15 648
转载 在Vim中使用ctags
如何在Vim中使用ctags?之前在《把Vim打造成真正的IDE》系列里已经讲过大致的ctags在vim中的使用,这篇文章我们就详细的讲一下。首先要明白,ctags是什么?官方的解释是:产生标记文件以帮助在源文件中定位对象。其生成的标记文件tags中包括这些对象的列表:用#define定义的宏枚举型变量的值函数的定义、原型和声明名字空间(name
2016-05-11 13:31:31 548
转载 深刻理解Python中的元类(metaclass)
译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入
2016-05-10 20:45:33 550
原创 php http请求 curl方法
<?php/** * * @brief http请求类 * **/class Activity_Http{ /** * Contains the last HTTP status code returned. */ public $http_code; /** * Contains the last API call.
2016-05-09 22:12:45 1662
转载 吞吐量(Throughput)、QPS、并发数、响应时间(RT)对系统性能的影响
首先对吞吐量()、QPS、并发数、响应时间(RT)几个概念一直比较模糊,也不知道哪些指标可以较好的衡量系统的性能。今天特意查了些资料做一些记录:首先看一些概念(来自百度百科) 1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处
2016-04-20 16:15:03 913
原创 chrome浏览器添加个性标签,可以弹出代码编辑器
javascript:void((function(){ if(document.getElementById("yimlu-div")){ document.getElementById("yimlu-div").style.display="block"; }else{ var yimluDiv = document.createElement("div"); yimluDiv.setAttr
2016-01-19 10:39:00 716
原创 svn解决冲突revert和resolved用法总结
解决版本冲突的命令。在冲突解决之后,需要使用svnresolved来告诉subversion冲突解决,这样才能提交更新。冲突发生时,subversion会在WorkCopy中保存所有的目标文件版本(上次更新版本、当前获取的版本,即别人提交的版本、自己更新的版本、目标文件。开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了。不管你个人喜欢git还是svn还是其他,但
2016-01-15 19:03:11 44152 1
转载 PHP—— 生成器 (generator)和协程的实现
博客的原文地址 https://www.insp.top/article/php-knowledge-completion-generator-and-the-realization-of-coroutine 先说一些废话PHP 5.5 以来,新的诸多特性又一次令 PHP 焕发新的光彩,虽然在本文写的时候已是 PHP 7 alpha 2 发布后的一段时间,但此时国内依旧是 ph
2015-11-12 16:44:50 717
转载 大端模式和小端模式
在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。一、什
2015-10-29 10:18:22 459
原创 laravel-homestead环境搭建
composer安装使用curl指令下载:culr -sS https://getcomposer.org/installer | php使用php指令下载:php -r "readfile('https://getcomposer.org/installer');" | php或者手动下载composer.phar当你下载之后,需要配置环境变量,以便可以在任意路径下进行全局域操作 m
2015-10-28 11:48:19 1045
原创 Vagrant用法总结
1.首先,需要下载安装virtualbox,下载地址为https://www.virtualbox.org/wiki/Downloads;2. 其次,需要下载安装Vagrant,地址为:http://www.vagrantup.com/downloads3. 在这里,你可以找到一些镜像:http://www.vagrantbox.es/4. 安装好之后,在本地创建好
2015-10-27 18:26:14 1198
原创 使用Vagrant安装的box镜像都放在了哪里?可以更改嘛?
box存放在哪里?谈到Vagrang的一些基本内容,不过如果磁盘规划不好,而使用的boxes越来越多,悲剧的发现磁盘没空间了。那么Vagrant的boxes存放在哪里的呢?翻看文档,发现boxes默认是放在~/.vagrant.d/boxes下面的,如果根目录空间不大,很快没空间了。怎么办?修改box存放路径赶紧SO和Google,还真发现两篇文章(一,二)讲这玩意,就简要
2015-10-27 16:24:06 10421 2
原创 C++类overlode、override和overwrite详细解释
overload(重载),即函数重载:在同一个类中;函数名字相同;函数参数不同(类型不同、数量不同,两者满足其一即可);不以返回值类型不同作为函数重载的条件。override(覆盖),用于实现C++中多态:分别位于父类和子类中;子类改写父类中的virtual方法;与父类中的函数原型相同。overwrite(重写):与overload类似,但是
2015-10-17 11:11:11 960
原创 VIM命令指南
VIM命令指南*:读取光标处的字符串,并且移动光标到它再次出现的地方。 #:和上面的类似,但是是往反方向寻找。 i:在当前字符的左边插入 I:在当前行首插入 a:在当前字符的右边插入 A:在当前行尾插入 o:在当前行下面插入一个新行 O:在当前行上面插入一个新行 p:和 p的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下!
2015-10-16 17:03:52 441
转载 Mac OS Terminal 几个快捷键
在Mac系统中几个键位组合可以使Terminal的操作更加灵活方便。1、将光标移动到行首:ctrl + a2、将光标移动到行尾:ctrl + e3、清除屏幕: ctrl + l4、搜索以前使用命令:ctrl + r5、清除当前行: ctrl + u6、清除至当前行尾: ctrl + k7、单词为单位移动:option + 方向键
2015-09-11 19:36:37 1557
原创 svn的 merge用法总结
Subversion的分支通常用于在主干程序之外,对程序进行修改。这样 可以在不扰乱主干程序进行的开发、测试、发布流程之外,尝试一下新功能的研究、修改。如果觉得新功能没问题,可以将分支合并到主干程序中。 合并前,需要将分支提交(Commit),由此看来,合并操作好象是在服务端和本地客户端同时进行的操作。 合并时,要从主干的working copy的右键菜单开始,"From" Url是合
2015-09-10 20:21:02 1773
原创 在Mac OS X上安装Virtual Box 和 Vagrant
做Web开发免不了要在本地搭建好开发环境,其实Mac OS X本身就是基于UNIX的,配合Homebrew几条命令就能搭建PHP+MySql+Nginx的开发环境。而且Mac OS X已经自带PHP和Apache,只需要简单的配置即可运行PHP站点。但是如果你跟我一样,有点“系统洁癖”,而且又有点爱折腾,那么强烈推荐使用Vagrant。1.下载安装 VirtualBox
2015-08-31 14:37:18 1041
原创 nginx 正则表达式匹配入门篇
正则表达式是项很有学问是的东西,我们经常会碰到要使用一以正则,下面我来介绍nginx 正则表达式匹配入门篇与一些小问题解决办法。1、nginx配置基础1、正则表达式匹配~ 区分大小写匹配~* 不区分大小写匹配!~和!~*分别为区分大小写不匹配及不区分大小写不匹配^ 以什么开头的匹配$ 以什么结尾的匹配转义字符。
2015-08-14 16:41:12 1708
原创 redis的PHP封装
class MyRedis { private $redis; /** * @param string $host * @param int $post */ public function __construct($host = 'xxxx', $port = 6379) { $this->redis = new Redi
2015-07-28 18:39:55 1933
转载 Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 消耗资源小, 无论是静态服务器还是网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高,目前很多大型网站都在使用Nginx做为 Web 服务器,例如:人人网。另外淘宝研发大军针对大访问量网站的需求,对Nginx做了专门的定制,添加了很多高级功能和特性(Tengine),Tengine的性能和稳定
2015-07-28 17:04:38 668
转载 php面向对象之final static const关键字的使用
这个关键字只能用来定义类和定义方法,不能使用final 这个关键字来定义成员属性,因为final 是常量的意思,我们在PHP 里定义常量使用的是define()函数,所以不能使用final 来定义成员属性。14.final 关键字的应用 这个关键字只能用来定义类和定义方法,不能使用final 这个关键字来定义成员属性,因 为final 是常量的意思,我们在PHP 里
2015-07-28 16:57:33 731
转载 PhPStorm mac最新破解版
PhPStorm mac最新破解版是JetBrains公司开发的一款MAC下的PHP集成开发工具。非常适合PHP开发人员及前端工程师。PhpStorm可随时帮助用户对其编码进行调整,进行单元测试或者提供可视化debug功能。PhpStorm for mac 是一个轻量级的和聪明的PHP IDE,专注于开发人员的生产力,深深地理解你的代码,提供了智能代码完成,快速导航,即时错误检查。它随时准备
2015-07-28 14:58:38 4424
转载 哈希表算法
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快
2015-07-25 14:00:58 702
原创 sublime text 批量删除空白行
方法:1CTRL+H打开replace功能,勾选上左侧的regular expression,并填写 find what栏 : \s+$ (正则表达式)replace with栏 : (这行留空) 接着点replace all即可方法:2CTRL+H打开replace功能,勾选上左侧的regular expression,并填写 find wh
2015-07-19 17:43:09 44144 1
转载 mac在终端(Terminal)中用颜色显示不同类型文件
对于从Unix/Linux平台转到Mac的同学来说,“终端”是经常要使用的一个工具。不过可能有很多人已经发现了,当我们使用ls命令来显示目录内容的时候,“终端”对于目录、可执行文件等特殊类型的文件并没有使用颜色来显示,只有使用“ls -G”时,才能显示颜色,这可真是不方便啊。有没有方法可以默认显示颜色呢?方法当然有。 方案一 第一个方案是让ls自动变成ls -G。我们要在
2015-07-18 02:54:27 1476
转载 gcc创建和使用静态库、动态库
下面以工程libtest为例说明gcc创建和使用静态库、动态库的过程,libtest目录结构和内容如图1所示,其中三个文件hello.h,hello.c和main.c的内容如下。 图1libtest/include/hello.h #ifdef _HELLO_H_#define _HELLO_H_void hello();#endiflibtest/l
2015-07-17 17:29:41 543
原创 静态编译与动态编译的区别
静态编译与动态编译的区别 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。 静态编译就是
2015-07-14 17:20:44 3728
转载 WordPress 为分类添加图片的插件:Categories Images
Categories Images is a WordPress plugin which allow you to add an image for each category (or term), it is so easy to user. This plugin will create a new text input that will had the image url of th
2015-07-10 18:52:45 3551
原创 PHP中include和require的区别详解
require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,
2015-07-07 09:26:22 590
wordpress主题
2014-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人