Giter VIP home page Giter VIP logo

deep-into-node's Introduction

《深入理解Node.js:核心**与源码分析》

Node.js 的源码分析,基于node v6.0.0。

源码分析包括(libuv, v8), 需要有一定的 C、C++基础。 Node.js 的源码到处闪烁着开发者的智慧和追求极致的精神。 包括但不限于:

  • 系统架构

  • 设计模式

  • 性能优化

  • 奇技淫巧

本书通过分析 node 核心模块的实现,向读者阐述 node 异步 IO,事件循环的核心**。帮助开发者更好的使用 Node.js。

通过追溯 node 社区开发issue, 探讨 node 的变迁和演进,学习 node.js 的设计哲学。

Table of content

本书版权归作者所有,未经作者授权,禁止一切方式转载。

本书尚在撰写中,欢迎读者讨论https://github.com/yjhjstz/deep-into-node/issues

如果您觉得还不错, 请我喝杯咖啡,欢迎Star, 提交PR

zhi

deep-into-node's People

Contributors

anc95 avatar lovefengruoqing avatar lumiasaki avatar madneal avatar meritozh avatar rickyes avatar sensitivemix avatar xiedacon avatar xwartz avatar yjhjstz avatar zyszys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deep-into-node's Issues

发现一处貌似笔误

在V8 concept那个章节里面,原文是这样的

如果不显示创建 Isolate, 会自动创建一个默认的 Isolate

文中的“显示”是否应该为“显式”?

generator

deep-into-node,不能缺少generator相关的东西吧,作为从c转到nodejs的开发者,很好奇js的yield是底层怎么实现的

出书进展

  1. 书出版了吗?
  2. 现在 node 版本更迭这么快,如何让读者获取更全面更准确的信息?

有没有MicroTask和MacroTask的一些介绍呢

目前只看到Promise的Then方法注册的回调函数是在MicroTask队列中被依次执行的,还有别的方法是在MicroTask队列中执行的么?还有就是我搜遍源代码也没看到MacroTask队列的东西,请问这个到底是什么,用来执行哪些内容的呢?

关于uv__io_poll的一些疑问

在uv_run函数中
I/O部分调用的uv__io_poll,这一块libuv做了跨平台
我看的是Mac下的kqueue.c这个文件,然后有一个小小的疑问:
nfds = kevent(loop->backend_fd,
events,
nevents,
events,
ARRAY_SIZE(events),
timeout == -1 ? NULL : &spec);
第一个疑问是:
当有请求到达服务器时,kevent被唤醒,此时如果因为之前的loop耗时较多导致已经有3个请求积压在kqueue中,那么这里的nfds就等于3吗?
也就是说,这种情况下,在当前这次loop中实际上处理了三个已经到达的请求。
第二个疑问是:
如果是的话,那这三个到达的请求的回调处理是按照达到kqueue的顺序被循环执行的么?

笔误

chapter2-1章节的ObjectTempalte貌似拼错了~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.