文档章节

useful tools collection

lucifer210
 lucifer210
发布于 2017/05/22 14:30
字数 899
阅读 64
收藏 1

1.正则表达式

可视化正则表达式解释  https://regexper.com/

2.shell

可视化shell   https://explainshell.com/

 

3. 函数式编程

ramda是一个js实现的函数式编程库。我已经在我的项目中使用了它,当然lamda也可以充当这样的功能。这里提供了一个在线的函数式编程页面。

可以在左侧写代码。右侧看输出。 跟codepen比较相似,但是一方面不用写依赖(引入ramdajs),一方面我们写函数式代码其实用不到界面,不是吗?

这对于你练习函数式编程很有帮助。

http://ramdajs.com/repl/?v=0.23.0

4.文档工具

一个是根据markdown生成网站的docsify。不限语言,你可以在项目中写README.md然后把它作为数据源给docsify,然后你的markdown就可以展示在网页上了。

https://docsify.js.org/#/

一个是根据段落注释(一些特定的tag)生成文档以及索引(用于搜索)

https://yuilibrary.com/

 

 

4. 测试工具

http://karma-runner.github.io/1.0/index.html

 

karma是一个完善的测试体系。可以支持多种浏览器,断言库,测试框架。最重要的是它支持热替换.

这让你在写代码时可以大胆的写了,前提是覆盖率足够(如果覆盖率低,会让你自己产生代码没问题的假象)

一个典型的karma配置文件:

// Karma configuration Generated on Wed Dec 28 2016 12:50:33 GMT+0800 (中国标准时间)
var webpack = require( 'webpack' );
var path = require( 'path' );
var nodemodulesPath = path.resolve( __dirname, 'node_modules' );

module.exports = function ( config ) {
	config.set({

		// base path that will be used to resolve all patterns (eg. files, exclude)
		basePath: '',

		// frameworks to use available frameworks:
		// https://npmjs.org/browse/keyword/karma-adapter
		frameworks: ['mocha'],

		// list of files / patterns to load in the browser
		files: ['test/**/*.spec.js'],

		// list of files to exclude
		exclude: [],

		preprocessors: {
			'test/**/*.spec.js': [ 'webpack' ]

		},

		reporters: [
			'progress', 'coverage'
		],

		// add
		coverageReporter: {
			type: 'html',
			dir: 'coverage/'

		},

		// web server port
		port: 9876,

		// enable / disable colors in the output (reporters and logs)
		colors: true,

		// level of logging possible values: config.LOG_DISABLE || config.LOG_ERROR ||
		// config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
		logLevel: config.LOG_INFO,

		// enable / disable watching file and executing tests whenever any file changes
		autoWatch: true,

		// start these browsers available browser launchers:
		// https://npmjs.org/browse/keyword/karma-launcher
		browsers: ['Chrome'],

		// Continuous Integration mode if true, Karma captures browsers, runs the tests
		// and exits
		singleRun: false,

		// Concurrency level how many browser should be started simultaneous
		concurrency: Infinity,
		// webpack
		webpack: {
			module: {
				loaders: [
					{
						test: /\.js$/,
						loader: 'babel',
						exclude: [nodemodulesPath],
						query: {
							presets: ['es2015'],
							plugins: [ 'istanbul', 'transform-object-rest-spread' ]

						}

					}, {
						test: /\.json$/,
						loader: 'json'

					}
				]

			}

		}

	})

}

同时packge中定义依赖

{
  "name": "xxx",
  "version": "1.0.0",
  "private": true,
  "entry": {},
  "dependencies": {
  },
  "devDependencies": {
    "babel-eslint": "^6.0.2",
    "babel-loader": "^6.2.8",
    "babel-plugin-istanbul": "^3.0.0",
    "babel-plugin-transform-object-rest-spread": "^6.23.0",
    "babel-plugin-transform-runtime": "^6.8.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-runtime": "^6.6.1",
    "chai": "^4.0.0-canary.1",
    "karma": "^1.3.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-coverage": "^1.1.1",
    "karma-mocha": "^1.3.0",
    "karma-webpack": "^1.8.1",
    "mocha": "^3.2.0",
    "mocha-loader": "^1.0.0",
    "webpack": "^1.9.13",
    "webpack-dev-server": "^1.16.2"
  },
  "scripts": {
    "test": "karma start"
  },
}

6. 部署

一个超轻量的工具。可以配置一个json文件,一键部署代码,支持正则,配置足够灵活。而且还有进度条,哈哈~

https://github.com/azl397985856/deploy

一个典型的配置如下:
 

{
    "uatStepOne": {
        "host": "xx.xx.xx.xx",
        "username": "root",
        "port": "22",
        "password": "xxxxxxxxxxxxxx",
        "remoteDir": "/Data/deploy/xxxxx",
        "path": "\\.(js|json|css)$",
        "base": "./assets/"
    },
    "uatStepTwo": {
        "host": "xx.xx.xx.xx",
        "username": "root",
        "port": "22",
        "password": "xxxxxxxxxxxxxx",
        "remoteDir": "/Data/deploy/xxxxxx",
        "path": "index.*\\.html",
        "base": "./new_assets/html/"
    },
}

7. 画图工具

之前一直使用processon,操作非常简单,现在尝试使用draw,操作上同样简单,同时支持github仓库绑定,对于码农老说非常好用。

https://www.draw.io/

8.  响应式开发工具

https://browsersync.io/              browserSync 工具非常棒且永久免费。之前我写介绍过这个工具。简单来说就是Time-saving synchronised browser testing.

9. 在线代码

CodePen  JSFiddle都很好用

10.  网络工具

charles 或者 fiddler

11. 代码统计工具

cloc

http://cloc.sourceforge.net/

 

12. 性能测试 & 性能优化

WebPagetest.org 是一个免费工具,可以使用来自世界各地的真实设备对你的网站进行测试

© 著作权归作者所有

lucifer210

lucifer210

粉丝 21
博文 155
码字总数 92388
作品 0
杭州
前端工程师
私信 提问
视频版 |《老运维带你用 Golang 飞》

Outline What is Golang Syntax Concurrent Example Docker Useful tools History Design began in late 2007 by Google. Authors: Rob Pike (Bell Lab & UTF-8) Ken Thompson (UNIX & C & T......

xjtuhit
2017/09/22
0
0
Here are 10 tools useful for Java application performance troubleshooting.

Here are 10 tools useful for Java application performance troubleshooting. jconsole comes together with JDK 1.5 and above. It is a Java Monitoring and Management Console - JMX-c......

linugb118
2010/09/19
0
0
A little collection of cool unix terminal/console/curses tools

Just a list of 20 (now 28) tools for the command line. Some are little-known, some are just too useful to miss, some are pure obscure-- I hope you find something useful that you......

wuyaoito
2014/03/21
0
0
9 个帮助你进行Java性能调优的工具

NetBeans Profiler NetBeans Profiler is found in NetBeans The NetBeans profiler is a modular add on which is used to provide the profiling functionality for the NetBeans IDE, whi......

ihaolin
2014/06/16
262
0
Java HotSpot VM 命令行参数【官方版】

Java HotSpot VM Command-Line Options Command-line options that are prefixed with are specific to the Java HotSpot Virtual Machine. Many of these options are important for perfor......

nj-zhangmq
2016/12/22
8
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部