One months to organize the "in layman node. js"

Source: Internet
Author: User

Today finally put Pauling teacher wrote "Easy to read node. js" To learn, this book is not a simple node primer, it does not stay in node Introduction or framework, library use level, but from a different perspective to reveal node's own internal characteristics and structure. Suggest that there is a certain node based or do a small project node aspect of reading, after reading your thinking will have a very strange collision, I see the time will often have such an idea: "Oh, the original function is such a realization of OH." The following article is the second time I read the "in-depth node. js" Some of the learning record, and through the Baidu Brain map This tool to draw a mind map, every day to write their own learning summary in this article below.

picture text is too small can right click the New tab to open the picture, and then click on it to enlarge the display. Add original file brain map address, so that people can go directly to the brain map to see mind Map

About node

This chapter provides a brief introduction to node, from which you can learn about node's evolution and its impact and value.

Why is it called node? At first, Ryan Dahl called his Project Web.js, a Web server, but the development of the project exceeded his idea of simply developing a Web server, becoming a basic framework for building Web applications, so that it could build more things on its basis. such as servers, clients, command-line tools, and so on. Node has evolved into a single-threaded, single-process system that enforces no resources, including libraries that are well-suited to the network, providing the infrastructure for building large distributed applications and the goal of becoming a platform for building fast, scalable Web applications. It's very simple, and it's very easy to organize a lot of Node through communication protocols, so it can be easily extended to achieve the purpose of building large network applications. Each node process makes up one of the nodes in this network application, which is the true meaning of its name. Brain Map

Module mechanism

This chapter focuses on the module mechanism of node, which shows how node implements the Commonjs module and package specification. In this chapter, we explain in detail the compilation and loading rules of the module during the reference process. In addition, we can read more about the organizational structure of node's own source code.
The COMMONJS specification has a wonderful vision for JavaScript-hopefully JavaScript will run anywhere. Brain Map

asynchronous I/O

This chapter shows why we use asynchronous I/O as the primary design concept in node. In addition, a detailed implementation of asynchronous I/O is described.
The event loop is the core of the asynchronous implementation, which is basically consistent with the execution model in the browser. And to the old rhino, although the JavaScript runtime, which was earlier able to run on the server, but the execution model was not as event-driven as the browser, it used synchronous I/O as the main model in other languages, which made it unusable on performance. node relies on building a complete set of high-performance asynchronous I/O frameworks that break down JavaScript in a server-only scenario. Brain Map

Asynchronous programming

This chapter introduces asynchronous programming, one of the most common asynchronous programming problems, and a detailed solution. In this chapter we have access to how promise, events, and higher-order functions are controlled by the process. (This chapter suggests reading more) brain map

Memory control

This chapter focuses on node's memory control, which includes details such as garbage collection, memory limitations, view memory, memory leaks, and large memory applications.
Node will be the main application of JavaScript to the server side, the corresponding to consider the details are different from the browser, on the server side, resources have always been the size of gold, to serve the vast amount of users, so that all resources are efficient recycling, need more rigorous for each resource to make arrangements. Brain Map

Understanding Buffer

This chapter mainly describes the buffer that cannot be encountered in the front-end JavaScript. Because node involves frequent network and disk I/O, processing byte stream data can be a common behavior, and this part of the scenario is completely different from a purely front-end development.
Having experienced JavaScript-friendly string manipulation, some developers may develop a mindset to understand buffer as a string. However, there is a substantial difference between the string and buffer, that is, the buffer is binary data, and there is an encoding relationship between the string and buffer. Therefore, it is necessary to understand the many details of buffer, which is useful for how to handle binary efficiently. Brain Map

Network programming

This chapter describes the TCP,UDP,HTTP programming supported by node, as well as the introduction of WebSocket with TSL and HTTPS.
Node makes it easy to build a Web server, without a dedicated web server as a container, and just a few lines of code to build the server. Node provides 4 modules of net, Dgram, HTTP, HTTPS, respectively, for processing TCP, UDP, HTTP, HTTPS, for both server and client. Brain Map

Building Web Apps

This chapter focuses on the most technical details used in building Web applications, such as data processing, routing, MVC, templates, restful, and so on. I think this chapter for me to develop a nodejs aspect of the application is very instructive, to collate the details of this chapter can be completed a functional web development framework, the purpose of this chapter is to hope that readers learn this chapter can be a map-inspired node development, in the development of Web applications can be heart outline, Understand the nuances. Brain Map

Play-round process

This chapter focuses on node's multi-process technology and how to improve the usability and performance of your application with multi-process approaches. In strict terms, node is not a true single-threaded architecture, and in the 3rd chapter we also describe node itself as having a certain I/O thread, which is handled by the underlying LIBUV, which is transparent to the JavaScript developer, only in C + + You will not be interested in expanding your development. JavaScript code is always run on V8 and is single-threaded. This chapter expands around the JavaScript section, so the discussion of the underlying details is masked. Brain Map

Test

This chapter focuses on node's unit testing and performance testing techniques. The significance of the test is that before the user consumes the output code, the developer first consumes him, giving it an important quality assurance.
Tests include unit testing, performance testing, security testing, and functional testing, and this chapter introduces unit tests and performance tests from the point of view of node practice. Brain Map

The product of

"Line hundred half Nine Ten", completed the product development code after the completion of the first step of the project. This is a chapter that describes the attention-to-details needed to make node products, such as project Engineering, code deployment, logging, performance, monitoring alarms, stability, heterogeneous coexistence. For node developers, many other languages require developers to re-practice with node effects. This is not a bad thing, and node is closer to the bottom to make the developer's control of the details very high. Brain Map

Ext.: http://tw93.github.io/2015-03-01/shen-ru-qian-chu-nodejs-reading-mind-map.html

One months to organize the "in layman node. js"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.