2015年北京的第二场雪,故宫
跟宜人贷的同事去的故宫,北京2015年的第二场雪,下得很大。

















































































跟宜人贷的同事去的故宫,北京2015年的第二场雪,下得很大。

















































































如果在安装 npm 的各种包时,总是需要 sudo 才能完成安装的话,那是因为你的 npm 包安装目录的权限问题,你可以通过下面两种方式的任何一种解决:
npm 默认安装目录的权限找到 npm 默认安装目录:
npm config get prefix很多系统都应该是 /usr/local ,如果目录是 /usr 的话,请不要使用此方法,改用方法二。
将该目录的所有者改成当前用户即可(就是你啦):
sudo chown -R `whoami` <directory>如果你不想修改目录的权限,你可以单独修改下面这些子目录即可:
lib/node_modulesbinsharenpm 默认的安装目录至另一个目录很多时候,可能因为各种各样的原因,你并不想或者根本就不能修改默认目录的所有者,那么,改变 npm 的默认安装目录将是最好的选择了:
创建一个新的目录,比如下面这样:
make ~/.npm-global设置 npm 使用刚才新建的目录:
npm config set prefix '~/.npm-global'创建或者打开现有的 ~/.profile 文件,添加下面这一行:
export PATH=~/.npm-glopbal/bin:$PATH保存之后返回至命令行,更新系统变量:
source ~/.profile现在你可以直接通过下面这行命令全局安装一下 jshint 试试。
npm install -g jshint 如果你希望以命令行的方式在任何一个目录启动 Browsersync,那么需要你全局安,使用下面这行命令即可:
npm install -g browser-sync本地安装则是直接将 Browsersync 直接安装至你的项目中,这是应该优先选择的方式,安装完成之后,便将 Browsersync 作为你的项目的一个依赖添加至 package.json 文件中,这样所有的人都会在使用你的项目时,自动安装 Browsersync。
npm install browser-sync --save-dev不管是全局安装,还是本地安装,请都不要使用sudo,如果你在安装过程中告诉你需要使用sudo,你可以通过 《修复 npm 的权限》这篇文章修复,很简单,只需要一分钟不到。
Gulp.js 配合在你的项目中安装 browsersync 与 gulp:
npm install browser-sync gulp --save-dev然后在 gulpfile.js 中添加如下代码:
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
// 服务本地静态文件
gulp.task('browser-sync', function() {
browserSync.init({
server: {
baseDir: './www/'
}
})
});
// 代理你的其它的项目
gulp.task('browser-sync', function() {
browserSync.init({
proxy: "yourlocal.dev"
})
});之后,在你的项目中即可以使用以下方式直接打开开发服务器了:
gulp browser-syncSASS 与 CSS 注入Browsersync 支持数据流,所以你可以在一个特定的时间点重载页面,比如你修改了某个CSS文件或者HTML(注意,你需要在 gulp.dest 之后再调用 .stream)。
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
var sass = require('gulp-sass');
// 服务本地静态文件
gulp.task('browser-sync', function() {
browserSync.init({
server: {
baseDir: './www/'
}
});
gulp.watch('./scss/*.scss', ['sass']);
gulp.watch('./www/*.html').on('change', browserSync.reload);
});
gulp.task('sass', function() {
return gulp.src('scss/*.scss')
.pipe(sass())
.pipe(gulp.dest('www/css'))
.pipe(browserSync.stream());
});
gulp.task('default', ['browser-sync']);与比对应的项目目录结构如下:
project/
scss/
main.scss
www/
index.html
css/
main.css
gulpfile.jsruby-sass 与 sourcemap如果使用了 gulp-ruby-sass ,并且开启了 sourcemap: true ,附加的 .map 文件也会被生成,如下:
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
var sass = require('gulp-ruby-sass');
var sourcemaps = require('gulp-sourcemaps');
// 服务本地静态文件
gulp.task('browser-sync', ['sass'], function() {
// 初始化 browser-sync
browserSync.init({
// 设置服务器
server: {
// 根目录为 ./www/
baseDir: './www/'
}
});
// 观察 ./scss 目录下所有 scss 文件的变更,同时将变更通知给 sass task
gulp.watch('./scss/*.scss', ['sass']);
// 观察 ./www 目录下的所有 .html 文件,当其修改时, browser-sync 重新加载(reload)
gulp.watch('./www/*.html').on('change', browserSync.reload);
});
// sass 任务
gulp.task('sass', function() {
return sass('scss/*.scss', {
sourcemap: true
}).on('error', function(err){
console.error('Error!', err.message);
}).pipe(sourcemaps.write('./www/css', {
includeContent: false,
sourceRoot: 'scss'
})).pipe(browserSync.stream({
match: '**/*.css'
}))
});
gulp.task('default', ['browser-sync']); 北京使馆区的银杏叶黄了





























































Phalcon 是一个用 C 语言编写的,号称是速度最快、占用资源最少的 PHP 框架。它以一个 PHP 扩展的形式安装,与 CodeIgniter、CakePHP 等框架有显著的不同。
Phalcon 在 Windows 上的安装很简单,只要在官方网站上找到对应 PHP 版本的 DLL,放进 PHP 目录,然后在 php.ini 里加上就行了。但在 Linux 和 Mac 上需要自己编译。
在 Mac 上做 PHP 开发,很多人都用 MAMP。情况比较麻烦,因为除了 MAMP 以外,OS X 还自带了一个 PHP;而且 MAMP 没有自带 PHP 的源码。所以需要一些额外的步骤。
首先,你得有一个包管理器,比如 Homebrew,用来安装一些工具。另外,还要安装 Xcode 或者只安装它的命令行工具,才能进行编译。
接下来,用 Homebrew安装一些工具:
$ brew install autoconf automake libtool现在,如果你在终端使用 PHP,实际上用的是 OS X 自带的那个:
$ which php
/usr/bin/php修改环境变量,让终端调用 MAMP 里的 PHP:
$ export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
$ which php
/Applications/MAMP/bin/php/php5.6.10/bin/php用 php --version 获得 PHP 的版本,然后在 php.net 下载对应的源码包。
$ php --version
PHP 5.6.10 (cli) (built: Jul 6 2015 14:28:54)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
$ curl http://cn2.php.net/distributions/php-5.6.10.tar.bz2 | tar -xj
$ mkdir /Applications/MAMP/bin/php/php5.6.10/include
$ mv php-5.6.10/ /Applications/MAMP/bin/php/php5.6.10/php
$ cd /Applications/MAMP/bin/php/php5.6.10/php/
$ ./configure$ curl -L -o cphalcon-master.zip https://github.com/phalcon/cphalcon/archive/master.zip
$ unzip cphalcon-master.zip
$ cd cphalcon-master/build
$ sudo ./install打开 MAMP,点击 File -> File -> Edit Template -> php 5.6.10 php.ini ,添加如下一行:
extension=phalcon.so重启服务后,即可通过 phpinfo() 函数看到已安装的 Phalcon 信息。
很多软件都必须服务器提供了 Java 支持,本文将指导你完成在 Ubuntu 服务器如何安装与管理多版本的 Java.
JRE/JDK这是被推荐的,也是最简单的方式,默认情况下,在 Ubuntu 12.04 上面,会安装 OpenJDK 6,而在 Ubuntu 12.10+ 上面,会安装 OpenJDK 7。
通过 apt-get 工具安装 Java 很简单,首先更新包索引:
sudo apt-get update安装检查你的服务器上面是否已经安装了 Java:
java -version如果该命令返回 『The program java can be found in the following packages』,则表明你的服务器上面还没有安装任何版本的 Java,那么,执行下面这行命令即可安装默认版本的 Java:
sudo apt-get install default-jre这会安装 Java 运行时环境(JRE),如果你需要安装 Java 开发工具包(JDK)来构建或编译 Java 程序(比如 Apache Ant,Apache Maven 等),那么执行下面这行命令:
sudo apt-get install default-jdk这人安装 Java 需要的所有内容。
其它的步骤,都是可选的,而且应该在你需要的时候才执行。
要安装 OpenJDK 7 ,执行下面的命令:
sudo apt-get install openjdk-7-jre 这会安装 Java 运行时环境 (JRE),如果你需要安装 Java 开发工具包,则执行下面的命令:
sudo apt-get install openjdk-7-jdkOrache JDK 是官方的 JDK,但是它现在已经不再被是 Ubuntu 的默认安装选项了。但是你还仍然可以通过 apt-get 安装它,要安装任何版本的 Oracle JDK,都需要先执行下面的命令:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update根据你要安装的 JDK 版本的不同,选择下面不同的命令执行:
这是一个很古老的版本,但是同样可以安装
sudo apt-get install oracle-java6-installer这是最新的稳定发布版本:
sudo apt-get install oracle-java7-installer这是一个开发者预览版:
sudo apt-get install oracle-java8-installer如果你的系统中安装了多个版本的 Java,那么你可以随时设置并切换默认版本的 Java,执行下面的命令:
sudo update-alternatives --config java如果你的系统中安装了多个版本,那么通常会有如下这样的返回结果:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode
Press enter to keep the current choice[*], or type selection number:你现在就可以通过输入每一个版本前面的序号来设置默认的 Java 版本,这种默认版本的设置方法,对于 Java 编译器 javac 同样适用:
sudo update-alternatives --config javac同样的,keytool、javadoc 以及 jarsigner 等均可以通过此种方法来设置默认版本。
JAVA_HOME 环境变量有一些程序需要系统提供一个 JAVA_HOME 环境变量,首先找到当前系统安装了哪些版本的Java。
sudo update-alternatives --config java返回如下这样的结果:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode
Press enter to keep the current choice[*], or type selection number:那么,安装路径就有下面这些:
/usr/lib/jvm/java-7-oracle
/usr/lib/jvm/java-6-openjdk-amd64
/usr/lib/jvm/java-7-oracle复制你需要版本的路径,然后编辑:/etc/environment 文件:
sudo nano /etc/environment在该文件中,添加下面这一行(同时将 YOUR_PATH 改为你刚才复制的路径):
JAVA_HOME="YOUR_PATH"然后,重新加载该文件:
source /etc/environment测试设置是否正确,可以执行下面这行命令:
echo $JAVA_HOME如果成功显示了你设置的路径,则表示设置成功。