Origin of Ray

一起探索互联网的秘密

微服务现在大行其道,不同服务之间的调用方式也经过一系列的发展,这次我们就一起看看他们的发展过程,一起看不仅有利于统一理解,也有助于我们看清变化的原因。

我们就拿最简单的场景,客户端调用一个加法函数,将两个整数加起来,返回它们的和。如果放在本地调用,那是简单的不能再简单了,只要稍微学过一种编程语言,三下五除二就搞定了。

但是一旦变成了远程调用,门槛一下子就上去了。首先你要会 Socket 编程,至少先要把咱们这门网络协议课学一下,然后再看 N 本砖头厚的 Socket 程序设计的书,学会咱们学过的几种 Socket 程序设计的模型。这就使得本来大学毕业就能干的一项工作,变成了一件五年工作经验都不一定干好的工作,而且,搞定了 Socket 程序设计,才是万里长征的第一步。后面还有很多问题呢!

阅读全文 »

在 ES6 中,我们知道 import、export 取代了 require、module.exports 用来引入和导出模块,但是如果不了解 ES6 模块特性的话,代码可能就会运行出一些匪夷所思的结果,下面我将通过这篇文章为你揭开 ES6 模块机制特点。

关于二者的使用方式我就不具体介绍了,有兴趣的可以看一下我以前的博客:JavaScript Module使用语法

本文主要针对以下几个问题:

  • 这二者输出的是拷贝还是引用,拷贝的话是深拷贝还是浅拷贝?
  • 二者的加载运行时机有什么不同?
  • 它们是如何解决循环依赖以及重复加载问题的?
  • 二者的运行环境有什么不同,它们什么情况下可以混合使用,为什么可以?
阅读全文 »

越是我们习以为常的事情中,可能往往蕴藏着伟大的哲学,越是简单的事情当中,可能往往蕴藏着巨大的智慧。

今天我们就来讲一讲支撑起整个计算机虚拟世界,支撑起整个互联网,支撑起我们耳熟能详的腾讯,阿里,微软,谷歌这些互联网巨头的基础——冯诺依曼体系。

我们一起看看它有多简单,但同时又是多么的伟大,一起感受其中的哲学。

阅读全文 »
0%