Suche senden
Hochladen
Node way
•
19 gefällt mir
•
4,515 views
Ethan Zhang
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 42
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程
zhangdaiping
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
Justin Lin
180518 ntut js and node
180518 ntut js and node
Peter Yi
Wind.js无障碍调试与排错
Wind.js无障碍调试与排错
jeffz
JavaScript现代化排错实践
JavaScript现代化排错实践
jeffz
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
The Evolution of Async Programming (GZ TechParty C#)
The Evolution of Async Programming (GZ TechParty C#)
jeffz
Node.js开发体验
Node.js开发体验
QLeelulu
Empfohlen
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程
zhangdaiping
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
Justin Lin
180518 ntut js and node
180518 ntut js and node
Peter Yi
Wind.js无障碍调试与排错
Wind.js无障碍调试与排错
jeffz
JavaScript现代化排错实践
JavaScript现代化排错实践
jeffz
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
The Evolution of Async Programming (GZ TechParty C#)
The Evolution of Async Programming (GZ TechParty C#)
jeffz
Node.js开发体验
Node.js开发体验
QLeelulu
论 Python 与设计模式。
论 Python 与设计模式。
勇浩 赖
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
勇浩 赖
Python 于 webgame 的应用
Python 于 webgame 的应用
勇浩 赖
jQuery源码学习
jQuery源码学习
fangdeng
JavaScript 教程
JavaScript 教程
Bobby Zhou
Javascript autoload
Javascript autoload
jay li
JavaScript 闭包分享(一):传递参数
JavaScript 闭包分享(一):传递参数
Janlay Wu
Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法
yiditushe
从问题开始,谈前端架构
从问题开始,谈前端架构
裕波 周
Java华为面试题
Java华为面试题
yiditushe
异步编程与浏览器执行模型
异步编程与浏览器执行模型
keelii
常見設計模式介紹
常見設計模式介紹
Jace Ju
由Hash Set谈重用
由Hash Set谈重用
yiditushe
JAVA内存泄漏及诊断
JAVA内存泄漏及诊断
ivannotes
JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
Glider
Glider
windyrobin
Jscex:案例、经验、阻碍、展望
Jscex:案例、经验、阻碍、展望
jeffz
5, initialization & cleanup
5, initialization & cleanup
ted-xu
PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术
hoopchina
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)
Kejun Zhang
旺铺前端设计和实现
旺铺前端设计和实现
hua qiu
Weitere ähnliche Inhalte
Was ist angesagt?
论 Python 与设计模式。
论 Python 与设计模式。
勇浩 赖
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
勇浩 赖
Python 于 webgame 的应用
Python 于 webgame 的应用
勇浩 赖
jQuery源码学习
jQuery源码学习
fangdeng
JavaScript 教程
JavaScript 教程
Bobby Zhou
Javascript autoload
Javascript autoload
jay li
JavaScript 闭包分享(一):传递参数
JavaScript 闭包分享(一):传递参数
Janlay Wu
Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法
yiditushe
从问题开始,谈前端架构
从问题开始,谈前端架构
裕波 周
Java华为面试题
Java华为面试题
yiditushe
异步编程与浏览器执行模型
异步编程与浏览器执行模型
keelii
常見設計模式介紹
常見設計模式介紹
Jace Ju
由Hash Set谈重用
由Hash Set谈重用
yiditushe
JAVA内存泄漏及诊断
JAVA内存泄漏及诊断
ivannotes
JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
Glider
Glider
windyrobin
Jscex:案例、经验、阻碍、展望
Jscex:案例、经验、阻碍、展望
jeffz
5, initialization & cleanup
5, initialization & cleanup
ted-xu
PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术
hoopchina
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
Was ist angesagt?
(20)
论 Python 与设计模式。
论 Python 与设计模式。
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
Python 于 webgame 的应用
Python 于 webgame 的应用
jQuery源码学习
jQuery源码学习
JavaScript 教程
JavaScript 教程
Javascript autoload
Javascript autoload
JavaScript 闭包分享(一):传递参数
JavaScript 闭包分享(一):传递参数
Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法
从问题开始,谈前端架构
从问题开始,谈前端架构
Java华为面试题
Java华为面试题
异步编程与浏览器执行模型
异步编程与浏览器执行模型
常見設計模式介紹
常見設計模式介紹
由Hash Set谈重用
由Hash Set谈重用
JAVA内存泄漏及诊断
JAVA内存泄漏及诊断
JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Glider
Glider
Jscex:案例、经验、阻碍、展望
Jscex:案例、经验、阻碍、展望
5, initialization & cleanup
5, initialization & cleanup
PHPUnit + Xdebug 单元测试技术
PHPUnit + Xdebug 单元测试技术
合久必分,分久必合
合久必分,分久必合
Ähnlich wie Node way
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)
Kejun Zhang
旺铺前端设计和实现
旺铺前端设计和实现
hua qiu
Discuz技术交流
Discuz技术交流
pigso
nodejs开发web站点
nodejs开发web站点
xiaojueqq12345
Asp.net mvc 培训
Asp.net mvc 培训
lotusprince
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services
javatwo2011
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
Html5和css3入门
Html5和css3入门
Xiujun Ma
Huangjing renren
Huangjing renren
d0nn9n
前端MVC之backbone
前端MVC之backbone
Jerry Xie
缓存技术浅谈
缓存技术浅谈
Robbin Fan
Mongodb
Mongodb
bj
Android resource-management
Android resource-management
Lucas Xu
Event proxy introduction
Event proxy introduction
mysqlops
EventProxy introduction - JacksonTian
EventProxy introduction - JacksonTian
Jackson Tian
PHP & MySQL 教學
PHP & MySQL 教學
Bo-Yi Wu
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
Jackson Tian
in in der 響應式編程
in in der 響應式編程
景隆 張
Mybatis学习培训
Mybatis学习培训
flynofry
Ähnlich wie Node way
(20)
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)
旺铺前端设计和实现
旺铺前端设计和实现
Discuz技术交流
Discuz技术交流
nodejs开发web站点
nodejs开发web站点
Asp.net mvc 培训
Asp.net mvc 培训
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Html5和css3入门
Html5和css3入门
Huangjing renren
Huangjing renren
前端MVC之backbone
前端MVC之backbone
缓存技术浅谈
缓存技术浅谈
Mongodb
Mongodb
Android resource-management
Android resource-management
Event proxy introduction
Event proxy introduction
EventProxy introduction - JacksonTian
EventProxy introduction - JacksonTian
PHP & MySQL 教學
PHP & MySQL 教學
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
in in der 響應式編程
in in der 響應式編程
Mybatis学习培训
Mybatis学习培训
Node way
1.
Node 技术栈实践 张宇⾠辰 (pw)
@ 猿题库
2.
后端 前端 ? Java/Python/PHP … HTML/CSS/JavaScript…
3.
猿题库前端进化之路
4.
Node 实践中的那些坑
5.
后端 前端 ? Java/Python/PHP … HTML/CSS/JavaScript…
6.
服务器 数据库浏览器 模板
静态资源
7.
服务器 数据库浏览器 模板
静态资源 后端 前端
8.
服务器 数据库浏览器 模板
静态资源 后端 前端
9.
服务器 数据库浏览器 模板
静态资源 后端 前端灰⾊色地带
10.
服务器 数据库 模板 后端
前端 ⽤用接⼝口来解决问题
11.
服务器 数据库 模板 后端
前端 前端包圆
12.
猿题库前端进化之路
13.
CSS / JS
/ IMG Java HTML Template 猿题库
14.
CSS / JS /
IMG Java HTML Tmpl 主站 CSS / JS / IMG Java HTML Tmpl 公务员 CSS / JS / IMG Java HTML Tmpl 司法考试 CSS / JS / IMG Java HTML Tmpl ⾼高考
15.
Java 主站 CSS / JS /
IMG Java HTML Tmpl 公务员 Java 司法考试 Java ⾼高考 前端代码
16.
Java 主站 CSS / JS /
IMG Java HTML Tmpl 公务员 Java 司法考试 Java ⾼高考 前端服务器 Node
17.
Java 主站 CSS / JS /
IMG Java HTML Tmpl 公务员 Java 司法考试 Java ⾼高考 前端服务器 Node 后端 前端 HTTP
18.
服务器 数据库 模板 后端
前端 前端包圆 (By Node)
19.
那些坑 • HTTP • 异常处理 •
内存泄露 • 多核优化, 部署 • ⼀一些⼯工具: 开发, 调试, 性能调优
20.
n 2n 2n n client api request Node
API ServerNginx
21.
Node API ServerNginx n 2n 2n n Nginx client
api request
22.
NginxNode API Server API
Server API Server Nginx 10.0.1.3 yuantiku.com /api /
23.
http.globalAgent.maxSockets = Infinity;
24.
var agent =
new http.Agent({ maxSockets: 2 }); ! req.request = request.defaults({ pool: agent });
25.
那些坑 • HTTP • 异常处理 •
内存泄露 • 多核优化, 部署 • ⼀一些⼯工具: 开发, 调试, 性能调优
26.
app.get('/foo', function (req,
res) { throw new Error('foo'); }); ! app.use(function (err, req, res, next) { res.send(500, err.message); });
27.
app.get('/bar', function (req,
res) { process.nextTick(function () { throw new Error(‘bar'); // 异步函数中的异常 }); });
28.
process.on('uncaughtException', function ()
{ return; });
29.
Express Domain http://lostjs.com/2014/01/25/handle-exception-in-node/
30.
那些坑 • HTTP • 异常处理 •
内存泄露 • 多核优化, 部署 • ⼀一些⼯工具: 开发, 调试, 性能调优
31.
var val =
'hello world'; function outer() { var val = 'bar'; return function inner() { return val; }; } global.inner = outer();
32.
var getUserData =
(function () { var cache = {}; return function (userId, callback) { if (cache[id]) { process.nextTick(function () { callback(cache[id]); }); return; } getUser(id, function (data) { cache[id] = data; callback(data); }); }; }());
33.
var getUserData =
(function () { var cache = new LRU({max: 100}); return function (userId, callback) { if (cache.has(id)) { var user = cache.get(‘id’); process.nextTick(function () { callback(user); }); return; } getUser(id, function (data) { cache.set(id, data); callback(data); }); }; }());
34.
app.get(‘/users/:id’, function (req,
res) { getUser(function (req.param(‘id’), data) { user = data; getOrderByUser(user.id, function (order) { res.render({ user: user, order: order }); }); }); });
35.
app.get(‘/users/:id’, function (req,
res) { getUser(function (req.param(‘id’), data) { user = data; getOrderByUser(user.id, function (order) { res.render({ user: user, order: order }); }); }); });
36.
app.get(‘/users/:id’, function (req,
res) { getUser(function (req.param(‘id’), data) { var user = data; getOrderByUser(user.id, function (order) { res.render({ user: user, order: order }); }); }); });
37.
app.get(‘/users/:id’, function (req,
res) { getUser(function (req.param(‘id’), data) { var user = data; getOrderByUser(user.id, function (order) { res.render({ user: user, order: order }); }); }); }); ‘use strict’;
38.
那些坑 • HTTP • 异常处理 •
内存泄露 • 多核优化, 部署 • ⼀一些⼯工具: 开发, 调试, 性能调优
39.
• node • pm2 •
NODE_ENV
40.
那些坑 • HTTP • 异常处理 •
内存泄露 • 多核优化, 部署 • ⼀一些⼯工具: 开发, 调试, 性能调优
41.
• npm • node
inspector • webkit-devtools-agent • console.trace
42.
perfectworks@gmail.com @__pw__ lostjs.com
Jetzt herunterladen