全栈工程师,也叫全端工程师。是指掌握多种技能,并能利用多种技能
独立完成产品的人
技术栈
- 界面设计 Axure
- 前端开发 HTML5+CSS3
- 后端开发 Node.js Express Koa
- 数据库 Mysql Mongodb Redis
- 移动端 Ionic
- Restful API
- OAuth QQ第三方认证
- 单页应用 AngularJs
- WebSocket
- 微信开发
- 设计模式
基础篇
- NODE基础
- Javascript高级
- 面向对象
- 闭包
- 作用域
- this
- 执行上下文
- ......
提高篇
- GIT 原理解析与最佳实践
- ES6+Gulp+Webpack+ ReactJS 高级
- React Native 实战
- AngularJS 高级
- 微信开发
- OAuth QQ第三方认证
- Restful API
Node是什么
- Node.js是一个让JS可以运行在浏览器之外的服务器端的平台它实现了诸如文件系统、模块、包、操作系统API,网络通信等核心JS没有或不完善的功能
- 它摒弃传统平台依赖多线程来实现高并发的设计思路,而采用单线程,异步式I/O,事件驱动式的程序设计模型
- Node.js使用了来自于Google ChromeV8引擎。V8是目前世界上最快的Javascript引擎
同步和异步
同步是指发起调用之后主线程只能挂起
异步是指发起调用之后主线程可以做别的事情
什么是I O
I/O输入/输出(Input/Output)
node.js的优点
Nodejs基于Javascript语言
统一公共类库,代码标准化
Nodejs选择了目前最快的浏览器内核V8做为执行引擎
Nodejs的社区非常活跃
js模块
不足
js没有模块系统,不支持封闭作用域或依赖管理
没有标准库,没有文件系统API
没有包管理系统,不能自动加载和安装依赖
commonjs规范
一个 node.js由大量模块组成, 每个JS文件都是一个模块
实现了require 方法,npm基于commonjs 实现了自动加载和安装
依赖
模块和包的优点
增加内聚性,有助分工协作
方便重构
提高代码质量
模块使用
定义模块
导出模块 (导出类和对象或常量)
使用模块
什么是前后端分离
前端:负责View 和Controller 层。
后端:只负责Model 层,业务和数据处理等。
为什么要前后端分离?
后端为主的MVC,遇到同步异步结合的页面沟通麻烦
Ajax为主SPA 型开发模式, 如果一个页面请求过多则性能较低
前后端职责不清
限制了前端的发挥空间
基于Node.js的前后端分离
后端提供API数据接口
前端负责渲染模板和页面
案例
抓取百度百家生成新闻列表
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。