Skip to content

Commit

Permalink
release to v3
Browse files Browse the repository at this point in the history
  • Loading branch information
scott@chnshad committed Aug 30, 2016
1 parent 184b43d commit 05a6c70
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 87 deletions.
80 changes: 38 additions & 42 deletions DUWO.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,48 @@
[![Build Status](https://drone.io/github.com/scotv/algo-js/status.png)](https://drone.io/github.com/scotv/algo-js/latest)

# Algo.js
####### _版本: 2.718281828459_
####### _使用带箭头的`JavaScript`实现的基础算法包_
####### _版本: 3 _
####### _使用`ECMAScript 6`实现的基础算法包_

## 摘要

这是一个用`JavaScript`写的基础算法包,包含基本数据结构、线性算法、树和图,
这是一个用`ECMAScript 6`写的基础算法包,包含基本数据结构、线性算法、树和图,
并试图将`V8`环境下耗时的递归算法重构为迭代算法([解释] [9])。
项目借助[Mocha] [1][Blanketjs] [2][drone.io] [7]平台,搭建了单元测试、代码覆盖率的持续集成。

## 文档
## 接口文档

完整的API文档可以访问[该页面] [6],而基于`LaTeX`编译的PDF文档,可参考[LaTeX发布页面] [10]

## 历史版本

使用如下命令查看历史的重大版本信息。

##### git tag -n

时间 | 说明 | 参考源
:-------|:---------|:-------:
2016↓ | - | -
八月,30 | 使用 `webpack``ES 6`重写代码 |
2015↓ | - | -
八月,03 | 发布简体中文接口文档 | [文档页面] [6]
八月,01 | 引入新的版本编号方式 |
八月,01 | 引入强联通图的大文件测试 | [测试文件] [11]
五月,21 | 将`nodejs 0.12`设为drone.io的默认环境 |
五月,16 | 逐步用`ES6`的箭头来表达函数 |
2014↓ | - | -
八月,27 | 基于`LaTeX`编译的第一份PDF文档发布 | [发布页面] [10]
六月,14 | 逐步用`gitbook`重写API文档 | [API文档页面] [6]
2013↓ | - | -
十二月,20 | 引入持续集成 [drone.io] [7]| [`e03180d`](https://github.com/scotv/algo-js/commit/e03180df15)
十二月,12 | 逐步将该项目从[Google Code] [4]迁移过来 | [`b39f7f7`](https://github.com/scotv/algo-js/commit/b39f7f78ab)
十月,18 | 自豪地实现了迭代版本的Tarjan强联通算法 | [`4542b93`](https://github.com/scotv/algo-js/commit/4542b937d827)[解释][9]
九月,27 | 开始留意JSLint |
七月,12 | 引入代码覆盖率测试 | [`600ee7d`](https://github.com/scotv/algo-js/commit/600ee7d899d2)
五月,23 | 引入单元测试 | [`dad30d6`](https://github.com/scotv/algo-js/commit/dad30d64ad70)
五月,23 | 从SVN到GIT | [`3b0c92e`](https://github.com/scotv/algo-js/commit/3b0c92e3b173)


## ES6

我喜欢用`lambda`来表达函数——`Scala !`——所以,我默认开启了`nodejs``harmony`选项。
Expand All @@ -27,19 +56,18 @@

### drone.io
```bash
nvm install 0.12
nvm install v5.11.1
nodejs --version
npm -d install
npm install -g grunt-cli
npm install -g mocha
npm i
npm install -g grunt-cli mocha
npm test
```
### Travis CI
```yml
# .travis.yml
language: node_js
node_js:
- "0.12"
- "v5.11.1"
script: 'npm i -g grunt-cli mocha && npm test'
```
Expand All @@ -52,39 +80,7 @@ script: 'npm i -g grunt-cli mocha && npm test'
耗时的瓶颈来自`V8`的文件读取,而非算法本身的时间复杂度。

##### `npm test`
默认的`grunt`任务配置在如下两个文件:`Gruntfile.js`和`package.json`。

##### `grunt default`
运行所有的单元测试和代码覆盖。

##### `grunt testscc`
单独运行强联通算法的单元测试。

## 历史版本

使用如下命令查看历史的重大版本信息。

##### git tag -n

时间 | 说明 | 参考源
:-------|:---------|:-------:
2015↓ | - | -
八月,03 | 发布简体中文接口文档 | [文档页面] [6]
八月,01 | 引入新的版本编号方式 |
八月,01 | 引入强联通图的大文件测试 | [测试文件] [11]
五月,21 | 将`nodejs 0.12`设为drone.io的默认环境 |
五月,16 | 逐步用`ES6`的箭头来表达函数 |
2014↓ | - | -
八月,27 | 基于`LaTeX`编译的第一份PDF文档发布 | [发布页面] [10]
六月,14 | 逐步用`gitbook`重写API文档 | [API文档页面] [6]
2013↓ | - | -
十二月,20 | 引入持续集成 [drone.io] [7]| [`e03180d`](https://github.com/scotv/algo-js/commit/e03180df15)
十二月,12 | 逐步将该项目从[Google Code] [4]迁移过来 | [`b39f7f7`](https://github.com/scotv/algo-js/commit/b39f7f78ab)
十月,18 | 自豪地实现了迭代版本的Tarjan强联通算法 | [`4542b93`](https://github.com/scotv/algo-js/commit/4542b937d827)和[解释][9]
九月,27 | 开始留意JSLint |
七月,12 | 引入代码覆盖率测试 | [`600ee7d`](https://github.com/scotv/algo-js/commit/600ee7d899d2)
五月,23 | 引入单元测试 | [`dad30d6`](https://github.com/scotv/algo-js/commit/dad30d64ad70)
五月,23 | 从SVN到GIT | [`3b0c92e`](https://github.com/scotv/algo-js/commit/3b0c92e3b173)
默认的`mocha`任务配置在:`package.json`。

## 迁移

Expand Down
81 changes: 37 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,42 @@

# Algo.js
####### [简体中文](https://github.com/scozv/algo-js/blob/master/DUWO.md)
####### _Version: 2.718281828459_
####### _Implementation of some algorithms using JavaScript with Harmony_
####### _Version: 3_
####### _Implementation of some algorithms using ECMAScript 6_

## Abstract
This is a project containing implementation of some fudamental algorithms in `JavaScript` with arrow functions enabled.
This is a project containing implementation of some fundamental algorithms in `ECMAScript 6` with arrow functions enabled.
I use [Mocha] [1] for unit test, [Blanketjs] [2] for code coverage, and [drone.io] [7] for CI.

## Docs
Read new [__Docs__] [6] page for details including API of this.
## Documentation
Read new [__API Documentation__] [6] page for details.

## Milestone
Use following command to list the history tags.
##### git tag -n

When | What | Where
:-------|:---------|:-------:
2016↓ | - | -
Aug, 30 | switch to `webpack` and `ES 6` |
2015↓ | - | -
Aug, 03 | publish API page in `zh-cn` | [接口文档](http://scozv.github.io/algo-wiki/zh-cn/index.html)
Aug, 01 | introduce new tag version naming system |
Aug, 01 | introduce big test file for SCC algorithm |
May, 21 | drone.io with `nodejs 0.12` |
May, 16 | Start to replace `return` with Arrow functions in JavaScript |
2014↓ | - | -
Aug, 27 | An initial PDF document of API writed in LaTeX has been released | [Releases](https://github.com/scozv/algo-wiki/releases)
Jun, 14 | Start to migrate API docs to project wiki page | [API page] [6]
2013↓ | - | -
Dec,20 | Introduce Continuous Integration by [drone.io] [7]| [`e03180d`](https://github.com/scozv/algo-js/commit/e03180df15)
Dec,12 | Start to migrate Algo.js from [Google Code] [4] | [`b39f7f7`](https://github.com/scozv/algo-js/commit/b39f7f78ab)
Oct,18 | Proudly finish the implementation of iteration Tarjan algorithm on strongly connected components | [`4542b93`](https://github.com/scozv/algo-js/commit/4542b937d827)
Sept,27 | Start to pay attention on JSLint |
Jul,12 | Add code coverage | [`600ee7d`](https://github.com/scozv/algo-js/commit/600ee7d899d2)
May,23 | Start unit test | [`dad30d6`](https://github.com/scozv/algo-js/commit/dad30d64ad70)
May,23 | Switch SVN to Git | [`3b0c92e`](https://github.com/scozv/algo-js/commit/3b0c92e3b173)


## Harmony
I don't like returning value with `return`, so I enable `harmony` option of `nodejs` by default.
Expand All @@ -23,19 +50,18 @@ Use following scripts to initialize your environments.

### drone.io
```bash
nvm install 0.12
nvm install v5.11.1
nodejs --version
npm -d install
npm install -g grunt-cli
npm install -g mocha
npm i
npm install -g grunt-cli mocha
npm test
```
### Travis CI
```yml
# .travis.yml
language: node_js
node_js:
- "0.12"
- "v5.11.1"
script: 'npm i -g grunt-cli mocha && npm test'
```
Expand All @@ -44,40 +70,7 @@ Use following commands to run tests or coverage.
The result of converge will be located `converage.html`

##### `npm test`
The default `grunt` task has been configured in the `Gruntfile.js` and `package.json`.

##### `grunt default`
Will test all unit tests

##### `grunt testscc`
Only test SCC algorithm

##### `grunt testcov`
Will test all unit tests, and run coverage. The coverage result will be generated as `./coverage.html`.

## Milestone
Use following command to list the history tags.
##### git tag -n

When | What | Where
:-------|:---------|:-------:
2015↓ | - | -
Aug, 03 | publish API page in `zh-cn` | [接口文档](http://scozv.github.io/algo-wiki/zh-cn/index.html)
Aug, 01 | introduce new tag version naming system |
Aug, 01 | introduce big test file for SCC algorithm |
May, 21 | drone.io with `nodejs 0.12` |
May, 16 | Start to replace `return` with Arrow functions in JavaScript |
2014↓ | - | -
Aug, 27 | An initial PDF document of API writed in LaTeX has been released | [Releases](https://github.com/scozv/algo-wiki/releases)
Jun, 14 | Start to migrate API docs to project wiki page | [API page] [6]
2013↓ | - | -
Dec,20 | Introduce Continuous Integration by [drone.io] [7]| [`e03180d`](https://github.com/scozv/algo-js/commit/e03180df15)
Dec,12 | Start to migrate Algo.js from [Google Code] [4] | [`b39f7f7`](https://github.com/scozv/algo-js/commit/b39f7f78ab)
Oct,18 | Proudly finish the implementation of iteration Tarjan algorithm on strongly connected components | [`4542b93`](https://github.com/scozv/algo-js/commit/4542b937d827)
Sept,27 | Start to pay attention on JSLint |
Jul,12 | Add code coverage | [`600ee7d`](https://github.com/scozv/algo-js/commit/600ee7d899d2)
May,23 | Start unit test | [`dad30d6`](https://github.com/scozv/algo-js/commit/dad30d64ad70)
May,23 | Switch SVN to Git | [`3b0c92e`](https://github.com/scozv/algo-js/commit/3b0c92e3b173)
The default `mocha` task has been configured in `package.json`.

## Migration
I have migrated this project from [Algo.js in Google Code] [4], with [__API__ page] [6] and [issue] [5].
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "algo",
"private": true,
"version": "1.0.0",
"version": "2.3.0",
"description": "Implementation of some algorithms using JavaScript",
"main": "bundle.js",
"dependencies": {},
Expand Down

0 comments on commit 05a6c70

Please sign in to comment.