Life Will Change Lyn
  1. 1 Life Will Change Lyn
  2. 2 Warcry mpi
  3. 3 Libertus Chen-U
  4. 4 One Last You Jen Bird
  5. 5 The Night We Stood Lyn
  6. 6 Hypocrite Nush
  7. 7 Time Bomb Veela
  8. 8 かかってこいよ NakamuraEmi
  9. 9 Last Surprise Lyn
  10. 10 Quiet Storm Lyn
  11. 11 Flower Of Life 发热巫女

标签Node.js下的文章

Node源码解析——WritableStream
2020-03-26 22:08:42

终于到这个核心模块了。包括之前写过的网络模块,在Node中大量模块的底层都用到了stream处理数据。这篇文章就来看stream的可写流内部实现。

阅读全文 »

Node源码解析——http(上)
2020-02-29 21:53:03

网络模块的最后一系列文章,就看看基于tcp之上的一些网络模块实现,因为已经有了阅读net模块的基础,看这个部分应该会好理解很多。

阅读全文 »

Node源码解析——udp
2020-02-23 17:33:36

源码阅读最好遵循一个从架构到细节的流程。现在我们已经了解了node的整体架构以及模块间的职责划分。接下来可以再深入一步,看看node内部模块间又有怎样的区别和联系。这篇文章就从之前写过的代表tcp的net的平行模块入手——udp相关模块。

阅读全文 »

Node源码解析——net
2020-01-31 14:33:42

上篇文章涉及到了net这个在node中构建异步网络的模块,也是node里很重要的基础模块,这篇文章就来把net搞清楚。

阅读全文 »

Node源码解析——BootstrapNode
2020-02-21 23:46:44

继续看Bootstrap第二步。如果第一步概括为内部模块初始化,这一步就是node环境初始化。包括process对象上的属性,一些全局对象或方法等,以及正式执行我们的JS代码并解析三方模块依赖。

阅读全文 »

Node源码解析——BootstrapInternalLoaders
2020-02-16 19:04:30

之前谈到了node在启动时会调用run方法,在其中有一个env准备的过程,这个过程中做了大量的bootstrap工作。但从总的层面可以分为两步,其一就是这篇文章谈到的内容——BootstrapInternalLoaders,在这一步主要完成了built-in模块和native模块的准备工作。下面就进入源码看细节吧。

阅读全文 »

Node源码解析——整体架构
2020-02-05 17:55:36

因为接下来分析的stream模块和dns等网络模块等都涉及到很多libuv的知识,这部分不是node内部的JS代码,前端同学不一定熟悉。想了想有必要先谈谈Node的整体架构,毕竟Node内部的构成还是比较复杂且有序的,把这些理清才能更有层次的阅读源码。

阅读全文 »

Node源码解析——cluster
2020-01-27 15:19:04

Node自诞生起就以其非阻塞式IO和事件驱动的特性闻名,基于此的实现下,常规node应用的代码执行都是单线程的。虽然单线程的好处不少,但在目前普遍都是多核CPU的环境下,单线程无法充分利用其性能。同时,单线程模式下的容错率过低,一旦异常未捕获应用就会崩溃。以此为背景,就诞生了今天要谈到的node内置模块——cluster。

阅读全文 »

从BFF到SFF
2019-08-10 17:47:35

最近Serverless这个概念异常火热,感觉是哪家公司都在搞,但具体怎么搞怎么落地的,大多也属于探索阶段。概念很美好,但其中可见的坑也不少。跟风不可取,场景合适的才是最好的,所以要想用好Serverless,必须先了解下相关生态和现状,这篇文章就记录下我粗浅的理解。

阅读全文 »

vue-cli2源码解析
2019-07-20 23:05:01

node本身虽然是一门后端语言,但和前端的联系还是相当紧密的,基本上渗透到了日常使用中,玩法也是多种多样。工程化,中台服务,命令行工具等等。这篇文章就从vue-cli入手,学习一下node在命令行工具开发中的应用以及相关生态。虽然vue-cli3已经发布很久了,但考虑到其插件服务的架构是重点,相对来说vue-cli2的node命令行开发更纯粹一些,也比较全面的涵盖日常cli开发的工具和思路,所以就从版本2开始吧。

阅读全文 »

Node的模块与包管理机制
2018-07-22 21:46:12

平时前端虽然没什么机会用Node写后端业务,但在前端工程化中,一定离不开Node的模块管理。最近计划从Node开始学后端相关的一些思想,第一篇文章就从距离前端最近的点开始。

阅读全文 »

有别于浏览器环境的Node.js Event loop
2017-12-08 12:28:41

之前已经谈到过浏览器中的事件循环机制,可以简单概括为执行栈和任务队列共同实现异步队列的机制,但根据运行环境不同,这套机制也会存在差别。那么Node环境和浏览器环境的区别又是什么呢?

阅读全文 »

Koa2原理解析
2017-11-24 12:26:56

Koa是继Express之后的又一大方异彩的后端框架。相比于Express其最大的变化在于支持async/await的异步流程控制以及中间件的变化。本文将按照流程对其原理进行讨论。

阅读全文 »

异步编程——Promise
2017-01-20 12:17:09

之前我们说到,当通过回调函数执行多步异步操作时,会创造难以理解和调试的代码,而且也缺乏控制异步操作时机的手段。比如想让两个异步操作同时运行,或者同时启动多个异步操作只采用某个结果,都很难做到。在这些情况下,通过使用ES6的新特性——Promise将能大幅度改善这种情况。

阅读全文 »

异步编程——线程与事件循环
2017-01-07 20:24:14

JS最有特点的一方面就在于它能轻易地处理异步编程。作为因互联网而生的语言,必须要求JS能响应用户的点击,按键,鼠标滚动之类的交互行为。但是JS引擎是单线程运行的,就是说浏览器无论在什么时候都只有一个线程在运行JS,那么如何配合浏览器内核处理这些异步事件呢?事实上除了处理JS的线程外,浏览器内核中还存在其他线程共同配合完成工作。我们就从头来说说JS的异步编程。

阅读全文 »

浅谈CommonJS规范
2017-01-02 23:58:20

前端开发最初只需要使用JS实现一些基本的交互效果,所以早期一般在script标签中嵌入一些代码既可以达到要求。但随着各种WEB应用的兴起,JS的地位越来越重要,文件越来越复杂,一个项目里的文件势必要有良好的管理。模块化思想也就应运而生。

阅读全文 »