谷歌V8引擎探秘:基础概念

V8引擎是驱动NodeJS的核心。为此有必要深入了解其API和运行机制。此系列文章旨在记录我自己探索学习V8引擎的记录。

本文章是此系列的第一篇,将梳理一遍V8引擎的几个总要概念:

  1. Context
  2. Handle
  3. Handle Scope
  4. Templates
  5. Isolates

他山之石之Strategies of setting and implementing goals

Life ultimately means tasking the responsibility to find the right answer to its problems and to fulfill the tasks which it constantly sets for each individuals.

这篇论文论证了设定目标与实现目标的个别方法论,分别为Mental Contrasting以及Implementation Intentions。

Mental Contrasting是一个对比的过程:对比理想中的自己与现实中的自己,发现其中的差距。为了弥补两者的差距,需要定量得发觉其中的原因,从而提炼出需要的目标。 比如我想象一年后的自己拥有六块腹肌,而现实是我有“一大块”腹肌。 为了拥有六块腹肌,我需要达成的目标是,每天运动1小时,控制饮食等等。 与Mental Contrasting相伴的还有两种不健康的形式,即Mental Indulging与Mental Dwelling。 前者只沉浸在对理想的假象中,不面对现实,而后者则想法,只看到了现实的不足而不去设想理想的未来。应该避免这两种情况的发生。

Implementation Intentions即一种心理预设,它大致上以“如果…,我要….”的形式出现。 文中总结了四个阻碍目标达成的原因:难以开始行动,难以坚持,无法意识到目标是徒劳的,以及不挑战自己的极限。 Implementation Intensions为这四个困难都提供了解决的心理预设。 比如我要练腹肌,那么我给我自己一个心理预设,“如果看书看不下去时,那么我要做一组卷腹”。 那么每当看书看不下去时,心理会在很大程度上触发“做一组卷腹”的预设。

其实,我们可以把寻找目标,实现目标的过程比喻为运用神经元网络学习数据的过程。 我们的目标即学习的目标,每一个“如果…,我要…”即神经元,“看书看不下去”就是一个阈值,“做一组卷腹”即单元输出。寻找这些“如果..,我要…”的过程即各种神经元网络算法。

以下是详细的摘记,希望能有所裨益。

[NodeJS源码探秘]之require()

部分源码已过时 -> 升级至9.11

NodeJS是时下非常流行的服务器语言, 这个系列将着重研究NodeJS的源码,以期为之做出贡献。

第一篇文章就是要搞清楚我们经常使用的require()函数到底是如何运作的。