Nodejs读书笔记

今天终于把朴灵老师写的《深入浅出Node.js》给学习完了, 这本书不是一本简单的Node入门书籍,它没有停留在Node介绍或者框架库的使用层面上,而是从不同的视角来揭示Node自己内在的特点和结构。建议有一定Node基础或者做过Node方面的小项目的同学阅读,看完以后你的思维会有很奇特的碰撞,我看的时候就常常会有这样的想法:“哦,原来这个功能是这样实现的哦”。下面这篇文章是我第二次阅读《深入浅出Node.js》的一些学习记录,并且通过百度脑图这个工具来画出思维导图,每天将自己的学习总结写在这篇文章下面。图片文字太小可以右键从新标签页打开图片,然后点击就可以放大显示。 新增原始文件脑图地址,这样大家就可以直接到脑图去看思维导图

Node简介

这一章简要介绍了Node,从中可以了解Node的发展历程及其带来的影响和价值。

为什么叫Node?起初,Ryan Dahl称他的项目为web.js,就是一个Web服务器,但是项目的发展超过了他当初单纯开发一个Web服务器的想法,变成构建网络应用的一个基本框架,这样可以在它的基础上构建更多的东西,诸如服务器、客户端、命令行工具等。Node发展为一个强制不共享任何资源的单线程、单进程系统,包括十分适宜网络的库,为构建大型分布式应用程序提供了基础设施,其目标也是成为一个构建快速、可伸缩的网络应用。它自身非常简单,通过通信协议来组织很多Node,非常容易通过扩展来达成构建大型网络应用的目的。每一个Node进程都构成这个网络应用中的一个节点,这是它名字所含意义的真谛。

Nodejs读书笔记

模块机制

这一章主要介绍Node的模块机制,从中了解到Node如何实现CommonJS模块和包规范的。在这一章中,我们详细的解释了模块在引用过程中的编译、加载规则。另外,我们还能读到更深度的关于Node自身源代码的组织架构。

CommonJS规范为JavaScript定制了一个美好的愿景—希望JavaScript能够在任何地方运行。

Nodejs读书笔记

异步I/O

这一章展示了Node中我们将异步I/O作为主要设计理念的原因。另外,还会介绍到异步I/O的详细实现过程。

事件循环是异步实现的核心,它与浏览器中的执行模型基本上保持一致。而向古老的Rhino,尽管是较早就能在服务器运行的JavaScript运行时但是执行模型并不像浏览器采用事件驱动,而是使用像其他语言一样采用同步I/O作为主要模型,这造成它在性能上面无法发挥。Node正是依靠构建了一套完善的高性能异步I/O框架,打破了JavaScript在服务器止步不前的局面。

Nodejs读书笔记

异步编程

这一章主要介绍异步编程,其中最常见的异步编程问题介绍,也有详细的解决方案。在这一章中我们可以接触到Promise、事件、高阶函数是如何进行流程控制的。 (这一章建议多看书

Nodejs读书笔记

内存控制

这一章主要介绍了Node的内存控制,主要内容有垃圾回收、内存限制、查看内存、内存泄漏、大内存应用等细节。

Node将JavaScript的主要应用场景帮到了服务器端,相应要考虑的细节也与浏览器端不同,在服务器端,资源向来是寸土寸金,要为海量用户服务,就使得一切资源都要高效循环利用,需要更严谨为每一份资源作出安排。

Nodejs读书笔记

理解Buffer

这一章主要介绍了前端JavaScript里不能遇到的Buffer。由于Node中会涉及频繁的网络和磁盘I/O,处理字节流数据会是很常见的行为,这部分的场景与纯粹的前端开发完全不同。

体会过JavaScript友好字符串操作后,有些开发者可能会形成思维定势,将Buffer当作字符串来理解。但字符串与Buffer之间有实质性的差异,即Buffer是二进制数据,字符串与Buffer之间存在编码关系。因此,理解Buffer的诸多细节十分必要,对于如何高效处理二进制十分有用。

Nodejs读书笔记

网络编程

这一章介绍了Node支持的TCP,UDP,HTTP编程,还讲了有关于Websocket与TSL、HTTPS的介绍。

利用Node可以十分方便地搭建网络服务器,不需要专门的Web服务器作为容器,仅仅需要几行代码就可以构建服务器。Node提供了net、dgram、http、https这4个模块,分别用于处理TCP、UDP、HTTP、HTTPS,适用于服务端和客户端。

Nodejs读书笔记

构建Web应用

这一章主要介绍了构建Web应用过程中用到的大多数技术细节,如数据处理、路由、MVC、模板、RESTful等。 我觉得这一章对于我么开发一个Nodejs方面的应用很有指导性作用,整理本章细节就可以完成一个功能的Web开发框架,这章的目的也就是希望读者学习过这一章后能够对Node开发带来地图式的启发,在开发Web应用时能够心有轮廓,明了细微。

Nodejs读书笔记

玩转进程

这一章主要介绍Node的多进程技术,以及如何借助多进程方式来提升应用的可用性和性能。从严格意义上面来讲,Node并非真正的单线程架构,在第3章我们还叙述过Node自身还有一定的I/O线程存在,这些I/O线程由底层libuv处理,这部分线程对于JavaScript开发者是透明的,只在C++扩展开发时才会关注到。JavaScript代码永远运行在V8上,是单线程的。本章将围绕JavaScript部分展开,所以屏蔽底层细节的讨论。

Nodejs读书笔记

测试

这一章主要介绍Node的单元测试和性能测试技巧。测试的意义在于,在用户消费产出的代码之前,开发者首先消费他,给予其重要的质量保证。

测试包括单元测试、性能测试、安全测试和功能测试等几个方面,本章将从Node实践的角度来介绍单元测试和性能测试。

Nodejs读书笔记

产品化

“行百里路半九十”,完成产品开发的代码编写后,才完成了项目的第一步。这是一章介绍了将Node产品化所需要的注意到的细节,如项目工程化、代码部署、日志、性能、监控报警、稳定性、异构共存。 对于Node开发者而言,很多其他语言走过的路需要开发者带着Node特效重新践行一遍。这并不是坏事,Node更接近底层使得开发者对于细节的可控性非常高。

Nodejs读书笔记

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。商机网仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.315965.com/n/53012.html 聚才发 母婴好物

(0)
上一篇 2023年12月15日 上午6:14
下一篇 2023年12月15日 上午6:23

相关推荐

  • 幻灯片制作流程(幻灯片制作教程视频小白系列课程)

    正如工厂流水线生产汽车一样,PPT 制作同样存在流程,遵循合适的方法,不仅能够提高幻灯片的制作效率,更能够让你更加合理的分配 PPT 制作时间。 那么,从0到1.一套幻灯片是怎么被制作出来的呢?我在这里给大家分享一下我的个人经验。 假如说咱们现在就要做一套 关于 「PPT 制作流程」的幻灯片 。启动时都要做点啥呢? 1/ 首先,在我们开始动笔写文字稿之前,我…

    2023年8月1日
    220
  • 笔记本电脑怎么u盘装系统教程(u盘重装系统详细步骤)

    使用U盘重装系统是最普遍的做法,不管什么电脑,都可以用U盘重装系统,尤其是笔记本电脑,有部分电脑没有光驱,下面我们就来学习一下笔记本电脑用u盘重装系统怎么操作步骤吧。 更多win11安装教程小白系统重装官网 1、首先需要制作u盘启动盘。按照图中所示安装好装机吧一键重装系统工具打开后,插入一个8g以上的空白u盘,选择u盘重装系统模式,点击开始制作启动盘。 2、…

    2023年7月30日
    409
  • 简单手语教程(简单手语教程图解)

    学习手语,也可以模拟场景进行对话,这样学起来有画面感,很容易学会。 一般人都觉得学习手语不容易,今天请大家跟着“聋校姬老师”一起来学习手语试试看,包教包会啊! 场景一:图书馆 对话:A、这是图书馆,可以借书的。 B、好的。 A、进去时请保持安静。 B、没问题。 手语图示如下↓ 场景二:办公室 对话:A、有什么可以帮助你? B、我找辅导员。 手语图示如下↓ 场…

    2023年7月30日
    1.6K
  • 6k star!B站、滴滴、小红书都在用的网站防火墙

    你担心网站被黑客攻击么?你知道如何抵御来自黑客的攻击吗? 据称互联网上有 30% 的流量都来自于恶意攻击。做过 Web 开发或者有过建站经验的朋友对 SQL 注入、CC 攻击、XSS、WebShell 等名词应该并不陌生,如果你经常在日志中看到各种奇奇怪怪的请求,这说明你的网站可能已经遭遇了黑客攻击。 SafeLine 简介 今天,推荐给大家的是一款在社区广…

    2023年12月26日
    53
  • 千牛淘宝店铺装修教程(淘宝店铺怎样装修)

    淘宝运营,小白也能学会的保姆级店铺装修攻略 如果想把店铺做起来,首先店铺装修就不能随便应付了事。 新手风风火火开店,对于店铺定位不明确,那店铺装修就是个好机会。 从店铺装修到宝贝分类,从促销区到描述模板都需要风格统一。店铺装修要和自己产品的风格一致,这样才能最大程度留住客户。 和宝贝的主图和详情页相似,店铺装修不能完全按照自己的审美。首先要明确店铺装修的目的…

    2023年8月1日
    391
  • 钢琴初学者指法基本教程(钢琴入门指法教程简单)

    钢琴有多少种指法?经常有琴友经常会问到这个问题。下面来详细介绍一下五种钢琴基本指法。 1、对指 最最基本的是一个手指头正对着一个键盘。五个手指就对应do、re、mi、fa、so五个音。 2、穿指 穿指也叫“拇指潜移”,也有人叫它“钻山洞”,就是1指从2指或3指或4指下面穿过,去弹奏更高的音的指法。 穿指规则: a、只能用1指去穿,而且只能穿2.3.或4指,不…

    2023年7月29日
    271
  • 凉拌黄瓜的做法简单又好吃(凉拌黄瓜的简单做法)

    夏季胃口不好,如果能做一道爽口的凉拌菜,无论是吃米饭、喝粥、吃面条,都是妥妥的开胃下饭菜~ By *长腿_河马太太* 用料 黄瓜 2根 盐 1勺 醋 1勺 生抽 2勺 白糖 2勺 蒜 5瓣 姜 少许 红剁椒 1勺 干辣椒 3个 花椒 1克 做法步骤 1、1⃣️、黄瓜切成段,放白糖1勺、盐1勺腌制1小时,等黄瓜出水以后倒掉水,再用清水冲洗干净 2、2⃣️、冲洗…

    2023年8月2日
    503
  • 如何下载推特视频

    有没有铁子们常常在推特上看到一些超有趣的视频,想要保存下来但是却不知道该怎么保存呢?今天我告诉你们直接保存到手📱机相册的终极方案,毫不费劲!真的很简单,不服来战!而且绝对真实有效! 步骤详解: ①先打开推特,选择一个视频,点【分享】按钮 复制链接 ②再打开【光影存图】app(安卓和苹果手📱机在手📱机应用商店就能搜到),点下方的【存图】 ③粘贴链接到白框,点击…

    2023年12月23日
    324
  • 3dmax教程室内设计教程(3dmax室内设计自学教程)

    打开3DMax-自定义-设制单位 建一长方体-根据房间大小定尺寸 打开修改面版-反转法线 转换多边形 在边级别,选上下边点连接,分段2 再选左右的边-连接-分段1 转到点级别,框选点用移动工具进行调节 选 面删掉 选四边在左视图按SHIFT键,用移动工具拉出. 在边级别下进行切边,打开捕捉开关钩选 在前视图,调节,偏移摸式中输入100回车 选择物体下,切片 …

    2023年8月1日
    319
  • word教程零基础教程(新手如何使用word文档)

    Hi!今天专门出一期,零基础也能快速掌握的“word”使用晓技巧,即便你已经是word“老司机”也推荐你一同往下看看哦! 虽然这些功能没有“花里胡哨”的复杂操作,但重实用性上看,妥妥是许多人日常需要用到的! (PS:结尾有惊喜哦!) 01、查找与替换 “查找与替换”作为word中有个比较基础的功能,虽然看起来平平无奇,但实际在检查文章,纠正用词,快速处理空格…

    2023年7月30日
    429