在 Angular 1 中,自定义 Filter 可以这么做。

angular
  .module('app')
  .filter('leftPad', function(value, anotherValue){
    // do something with `value` and `anotherValue`
    // and return a value
});

然后用的时候可以这么用

<p>{{ num | leftPad:searchValue }}</p>

然后 controller 中可以这么用

controller($filter) {
    var numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
    this.numbers = numbers.map(number => $filter('leftPad')(number, searchValue));
  }

那么在 Angular 2 中怎么做呢?
首先一点,在 Angular 2 中已经没有 filter 的概念了,取而代之的是 Pipe 的概念。但是其本质和 filter 是一样的。我们来看看具体怎么使用。
当然了,首先还是先定义。主要的内容就是要实现一个 PipeTransform 的 transform 方法。

// leftPad.pipe.ts

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({name: 'leftPad'})
export class LeftPad implements PipeTransform {
  transform(value: number, anotherValue: number): string {
        // do something with `value` and `anotherValue`
        // and return a value
    }
}

然后在模板中使用的方法就是:

<p>{{ num | leftPad:searchValue }}</p>

那如果想在 component 中使用,怎么用呢?其实也很简单

export class App {
  constructor(private leftPad: LeftPad) {
    let numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
    this.numbers = numbers.map(number => this.leftPad.transform(number, searchValue));
  }
}

调用通过 ID 注入进来的 LeftPad 的 实例的 transform 方法即可。
那如果只需要一个参数怎么办呢?
一种就是直接删掉后面的一个参数,例如删掉 searchValue 这个参数。另一种就是兼容两种参数调用,定义 pipe 的时候给不是必须的参数增加一个可选的 ? 标志即可。

最后,在使用的时候,不要忘记添加 providers 哦。

NPM 现在变得越来越流行了,但是很多人可能只是用了其中一小部分的功能,但是 NPM 其实有一大票功能可以用,不信你试试 npm -help 看看。

而本文的主要目的就是介绍 npm version 命令,此命令用来更改项目的版本号。这个版本好就是项目中 package.json 文件中的 version 字段。
一般情况下,都类似于这样一段 json。

{
    "name"           : "npm-version",
    "description"    : "npm version command",
    "version"        : "1.1.1611"
}

怎么用呢?
例如,
你修复了一个 bug,要增加一个最小的版本号,那么

npm version patch

如果想要更新次要版本号的话,那么

npm version minor

更或者,你要更新主版本号的话,那么

npm version major

哈哈哈,是不是不用手动更新这个文件了?

还有一点点

如果你正好用 git 来管理你的项目,那么 npm version 也可以顺便创建一个版本 commit 和 tag 。

钩子

最神奇的事情就是给了我们 pre 和 post 这两个钩子。

即:
在 npm version 执行之前,pre 这个钩子,就会被执行,而在 npm version 执行之后,post 这个钩子也会被执行。
所以呢,如果你想在更新版本号之后在执行一些操作,那么就应该这样写。

"scripts" : {
	"postversion" : "git push && git push --tags"
}

这样子,在更改了版本号之后,就会自动执行这些 git 命令了。
那么想在更新版本号之前呢?咋办啊?

"scripts" : {
	"start" : "node app.js",
	"pretest":"rm -Rf build && gulp build && cd build && npm install --production",
	"test":"./test/run.sh",
	"preversion":"npm test",
	"postversion" : "git push && git push --tags"
}

看,完成了,一个还算基本完成了的 package.json 文件,在改变版本号之前,先测试一下嘛。

如果想看更多的 npm version 的信息,请访问:https://docs.npmjs.com/cli/version

来源:http://blog.js-republic.com/npm-version-is-cool-you-should-use-it/

需求是这样子的,就是想在家里弄个服务器,然后开发,将各种中间代码都推送到这个服务器上,当然了,肯定是使用版本管理中的 Git 嘛。但是当开发到一定程度的时候,也是需要将这个代码推送到公开的代码管理网站,例如 coding 或者 github。

那么怎么做呢?

本地的开发和版本管理就按照正常的 Git 的那一套走。
然后想要推送到 Github 上的话,就按照下面的步骤来。
1. 现在 Github 上新建一个 repository,然后获得一个可以推送的地址,例如 https://github.com/a/a.git;
2. 然后将这个 git 地址添加到本地的 git 中。

git remote add A https://github.com/a/a.git; # A 是这个 remote 的名称

然后使用

git remote -v

就可以查看本地的推送地址列表了。
例如:

a   https://github.com/a/a.git (fetch)
a   https://github.com/a/a.git (push)
origin  https://git.net/b/b.git (fetch)
origin  https://git.net/b/b.git (push)

3. 然后就可以使用命令将这个代码推送到 GitHub 了。

git push a master

当然这个是完全一样的代码的情况下,
如果还需要在两个不同环境有差异的话,那么最好新建一个分支。

git checkout -b GitHubBranch

然后在这个分支下面修改差异,这个时候就要将这个代码推送到 GitHub 的 GitHubBranch 分支了。

git push a GitHubBranch

然后再在 GitHub 合并 GitHub 上的 master 和 GitHubBranch 两个分支就可以了。
这时候,GitHub 上面的 master 分支就可以是最新的代码了。
当然了合并到哪个分支按照自己的需求来。

合并分支我用的是 pull request 合并的,(因为貌似我用了两个不同的账户?)。

完了。

主要是给自己记录用的,其实。

尊敬的刘总,各位领导及各位同事:

  大家好,很荣幸自己可以代表员工在华泰商学院的开学典礼上发言,感谢公司各位领导一直以来的关心及指导。

  作为一名普通的物业管理员,与所有员工一样,正在亲历着公司因为互联网化所带来的全新变化,在这个变化中,我们不断的尝试、创新、形成属于我们华泰物业自己的文化,这是一次全新挑战,同时也是我们员工们一次难得的成长机会。

  公司成立华泰商学院的目的,我觉得是想我们在公司转型成长的过程中能够跟的上脚步,让我们用知识来武装自己,用知识提升我们的能力,用能力更好的服务于业主。用更加专业化的服务来赢得业主的信任,从而获得业主对我们自身对华泰物业的认可。

  在工作中我相信每个人都有自己所要实现的梦想和想要达到的目标,可是空谈梦想和目标只会让我们离它越来越远。

  目标的实现需要公司领导的带领,但也需要我们自己的努力。设定目标,做好计划,主动思考,加强自身学习,不断尝试,坚持到底。公司为我们每一个人提供了同等的平台 ,商学院的成立正是我们起航的码头,在这个平台中,我们学习他人之长,补自己之短,我们可以把自己懂得会的拿出来分享与他人,在这个大家庭中一起进步,一起成长。

  古人曾说,三日不读书,便觉语言无味,面目可憎,现在我们有了一个这样的学习平台,再不读书,不充实自己,面部的表情都可憎起来了,谈何对业主热情服务呢。

  在公司大目标的前提下,建立自己所要实现的小目标,只有我们小目标的实现,最后才能完成公司大目标的实现。因此学习的过程,充实自己的过程虽是自己人生价值实现的过程,但也更是为公司成长和蜕变付出自己努力的过程。

  最后预祝我们自己的商学院越办越好,也希望我们可以成长为比今天更好的自己。

  谢谢大家。

1. 在Windows中添加一个HOME环境变量,值为%USERPROFILE%,如下图:
environment variable
2. 在 “开始>运行” 中打开 %Home%,新建一个名为 _netrc 的文件。

3. 用文本编辑器打开 _netrc 文件,输入 Git 服务器名、用户名、密码,并保存。示例如下:

machine git.xxx.com
login git_user
password git_pwd

OK, 试试吧,还需要不需要用户名密码了。