Node.js 开发技能图谱
# Node.js 开发技能图谱
## Node.js 语言环境搭建
- Node.js 安装(3m大法:nvm、npm、nrm)
- Node.js 命令
- Node.js开发工具(推荐vscode)
## Node.js 语言编程要点
- 使用Node.js 4.x或5.x里的ES 6特性,如果想玩更高级的,可以使用[babel](babeljs.com)编译支持ES 7特性
- 合理使用[standard](https://github.com/feross/standard) 代码风格约定
- ES 6语法
- 需要大家重视OO(面向对象)写法的学习和使用
## 核心模块
- Buffer
- Child Processes
- Cluster
- Crypto
- DNS
- Domain
- Events
- File System
- HTTP
- HTTPS
- Net (TCP)
- OS
- Path
- Process
- Punycode
- Query Strings
- Readline
- Stream
- String Decoder
- TLS/SSL
- TTY
- UDP
- URL
- VM
- ZLIB
## Koa Web 编程
- koa 1.0 && 2.0 (koa2.0刚发布不久,喜欢折腾的可以考虑)
- mongoose(mongodb)
- bluebird(Promise/A+实现、Generator、Async)
- jade(视图层模板)
- ava(测试)
- vscode(调试)
### 了解http协议,尤其是表单和ajax传值,在req里如何接收
- 绝对地址和相对地址
- querystring
- url 和 uri
- http status code
- http verbs
- req取参数的3种方法
- 3种不同类型的post
- 命令行玩法
- supertest用法
- what is rest?
### 了解db相关操作,先以mongoose为主
- crud(增删改查)
- 了解分页
- 了解关系(1对1,1对多)在mongoose里如何实现
- 了解statics方法和methods的区别
- 了解pre和post的差别
- 了解mongoose的插件机制
- 了解mvc里m的作用,以及什么样的代码该放到模型里
- 了解索引优化
- 了解mongodb的部署
### 了解Generator、Async和Promise/A+规范,合理规避回调陷阱
- 了解的node的异步、generator和async(ES7)
- 了解异步的恶心
- 了解异步基本场景,比如waterfall这样的路程使用async如何处理
- 了解q和bluebird用法(如果有angularjs经验,推荐q,其他只推荐bluebird)
- 了解bluebird的promisifyAll用法
- 了解如何重构流程,以及代码的可读性
### 使用tdd/bdd测试,最小化问题
- 理解最小问题思想,培养程序员该有的强大的内心
- ava的基本用法
- 理解断言的用法(注内置断言,不需要assert/should/expect等)
- 理解测试生命周期
- 理解箭头函数、generator、promise等用法
- 理解如何模拟数据
- 理解http下的supertest测试
- 理解测试覆盖率
- 理解基于gulp自动化测试方法
### 你无论如何都要会的:调试
- node debug(太挫了,如果不是c,了解gdb、adb之类的人不推荐用)
- node-inspector(推荐4※)
- tdd/bdd(推荐5※)
- vscode编辑器(推荐5※)
## Node.js 应用
- 网站(如express/koa等)
- im即使聊天(socket.io)
- api(移动端,pc,h5)
- http proxy(淘宝首页)
- 前端构建工具(grunt/gulp/bower/webpack/fis3...)
- 写操作系统(NodeOS)
- 跨平台打包工具(nw.js、electron)
- 命令行工具(比如cordova)
- 编辑器(vscode)
## Node.js 实战案例
Node.js 开发技能图谱的更多相关文章
- HTML5 开发技能图谱skill-map
# HTML5 开发技能图谱扩展到API中间层.代理层及专业的后端开发.Node.js在企业Web开发领域也日渐成熟,无 ...
- Node.js学习笔记——Node.js开发Web后台服务
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...
- Linux虚拟机中 Node.js 开发环境搭建
Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...
- heX——基于 HTML5 和 Node.JS 开发桌面应用
heX 是网易有道团队的一个开源项目,允许你采用前端技术(HTML,CSS,JavaScript)开发桌面应用软件的跨平台解决方案.heX 是你开发桌面应用的一种新的选择,意在解决传统桌面应用开发中繁 ...
- 2015年最佳的15个 Node.js 开发工具
Node.js 越来月流行,这个基于 Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中,我们列出了2015年最佳的15个 Node.js 开发工具.这些工具 ...
- 《Node.js开发实战详解》学习笔记
<Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...
- 推荐近期15个 Node.js 开发工具
近来Node.js 越来月流行了,这个基于Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中,我们列出了2015年最佳的15个 Node.js 开发工具.这些 ...
- 用Node.js开发Windows 10物联网应用
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 未来10年内,物联网将会如移动互联网这样深入到我们生活的各方各面.所以微软现在对物联网进行了 ...
随机推荐
- Hive if和coalesce函数
链接:https://blog.csdn.net/qq_26442553/article/details/79465417 if 函数举例:
- 测开之路五十六:实现类似unittest的断言
import inspect class Case(object): """ 实现断言 """ def __init__(self): se ...
- Flink水印机制(watermark)
Flink流处理时间方式 EventTime 时间发生的时间,例如:点击网站上的某个链接的时间 IngestionTime 某个Flink节点的source operator接收到数据的时间,例如:某 ...
- CET-6 分频周计划生词筛选(Week 1)
Week 1 2016.09.03 p17 bias = prejudice / prejudge p18 diminish p19 distinguish/extinguish + majority ...
- spring boot 尚桂谷学习笔记05 ---Web
------web 开发登录功能------ 修改login.html文件:注意加粗部分为 msg 字符串不为空时候 才进行显示 <!DOCTYPE html> <!-- saved ...
- javascript 计算两个整数的百分比值
///计算两个整数的百分比值 function GetPercent(num, total) { num = parseFloat(num); total = parseFloat(total); i ...
- 分布式服务防雪崩熔断器,Hystrix理论+实战。
Hystrix是什么? hystrix对应的中文名字是"豪猪",豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本身的功能不谋而合,因此Netfl ...
- json模块 pickle 模块 collections 模块 openpyxl 模块
json模块 json 模块是一个系列化模块 一个第三方的特殊数据格式 可以将python数据类型----> json 数据格式 ----> 字符串 ----> 文件 其他语言想要使 ...
- VINS 回环检测与全局优化
回环检测 VINS回环检测与全局优化都在pose_graph.cpp内处理.首先在pose_graph_node加载vocabulary文件给BriefDatabase用,如果要加载地图,会loadP ...
- 在线px转换rem工具
今天推荐一个在线工具,在线px转换rem工具 只要输入1rem = 多少px即可在线转换 和cssrem插件差不多的功能 rem在线转换工具: http://www.ofmonkey.com/fr ...