00:00
那接下来呢,我们来开始正式来学习我们这个note GS啊,学习note GS note GS什么东西啊,可能这名字JS就不用说了,对吧?no.JS这就是我们这个javascript note什么意思?节点对吧?节点note JS直接翻译过来叫做一个节点点GS是吧?节点GS这玩意儿是干嘛的呀?名字很奇怪对吧?名字很奇怪那到底是干嘛的?那我们这来先来了解一下not GS note g X什么呢?Note g X是一个能够在服务器端运行javascript的开放源代码,跨平台的javascript行环境,这句话有点拗口是吧,挺长的,但是你们要读这个语句,读这话的时候你一定要能读重点,那像这个重点就是什么?哎,Node GS是一个能够在服务器端哎运行的一个javascript的环境,懂这意思吧?哎,NOEGS是一个服务器端的。
01:00
运行环境,这是一个关键点,诶那我们想想,我们学GS很长时间了,对吧,很长时间了,我们之前写的GS是在哪运行的,浏览器是不是都是在浏览器运行的呀?哎,都是在浏览器运行的,而我们的note GS它干了一件特别特别厉害的事儿,干嘛呢?让我们的GS可以直接在什么呀,在我们的这个服务器上运行,什么叫浏览器,什么叫服务器,浏览器是不是在我们本地运行的是吗?哎,浏览器注意。对于咱们来说啊,你要站到开发人员的角度来讲,他不是在咱们本地运行的,为什么?你想想我们喜欢的网页最终是不是都要发给用户啊,他是在用户的客户端上执行的吧,不是在咱们服务器本地执行的,懂这意思吧,所以我们的网页最终都是发给客户了,是在这个客户端执行的,而我们这个note GS,它做了一件特别伟大的事儿,干嘛呢?让我们的G代码可以直接在我们的这个什么呀服务器中运行,再直接说一点,可以直接在我们的什么呀系统中运行。
02:13
诶,你现在我这么一说,你是不是感觉好像也没什么神奇的,对吧?那你要注意了,在浏览器中运行,你说它能干什么事儿,最大的限度它就能操作浏览器,顶多顶多我关闭个窗口,我跳整个页面,我改个网页,它的最大限度就是什么?就是浏览器,懂这意思吧,你说就像我说了,我这现在是在咱们班讲课,我最大限度我就我也觉得咱们班折腾折腾,我不能上别的班折腾去,对吧,这是我的一个平台,很小很小,那我们想想,但是我们现在说了NOEGS,它让我们GS可以在服务器中运行,那这个时候它是在和谁进行交互,和我们直接和我们的Windows,和我们linus,和我们的Mac OS,和这个系统进行什么呀,交互了,也就是说它和我们这些Java,和我们这些C也好,C加加也好,C也好,它和这些语言都一样。
03:13
可以直接和系统进行交互,它的平台还是不是仅限于浏览器了,不是了,他想把浏览器删了都行,因为它是和系统进行交互了,你说我我三个系统文件小意思,因为直接去操作什么了,操作系统了,所以NOEGS它的最重要的一点就是什么呢?就是把我们GS的这个战场从什么呢?从前端拿到了什么呀,拿到了我们的,诶后台拿到了我们这个服务器里,懂意思吧,所以NOEGS对我们前端的影响的话呀,非常非常大啊,直接让我们这个GS在这个服务器中运行,像之前的话,可能我们这个前端其实它不不够受重视,那就是主要就写浏览器,你写个破页面,你你得瑟什么对吧,不受重视,哎,就是说你想我后台我想做一些工具干嘛呀,我写不了,因为你写工具你得用什么呀,你得用C呀,用Java呀,C加加这些语言去写,那用note干嘛呀,那写不了又。
04:13
GS写不了这些东西,那有了GS以后干嘛呀?哎,我们可以直接通过GS和系统进行交互,我们可以通过GS去开发一些什么呀,服务器的应用,发开开开发一些什么呀,软件直接就在我们这个计算机中干嘛呀,运行,甚至说你说以后我想用JS去写一个这种图形化界面,那它干嘛呀。也是,诶,肯定是能往这个方向发展的,但是现在它主要不在这块,所以note GS一个重要的特点就是把我们的战场从这个浏览器迁到了我们这个服务器,啊服务器好,那这块我们来说一下啊,Noe采用的是谷歌开发的V8引擎,运行接代码,所以注意note GS用的是我们什么呀,Chrome的那个V8引擎,那这个是公认比较比较快的一个G引擎,所以在我们note里边实际上用的也是一个V8,它使用什么呢?使用事件驱动,非阻塞异步IO等技术来提高性能,可优化应用程绩的一个传输量和规模。诶,这句话听见肯定一个字也不懂对吧?诶,这这单个拎出来都认识,凑一块一点也不明白对吧?凑一块一点也不明白,那这块我们来稍微解释一下,那稍微解释一下呢,我们就要把这个时间往前倒倒了,我们要说一下我们这个node的一个发展,Node是怎么出来的,那这块呢,我们先要介绍一个这个。
05:35
人,哎,这个叫什么呀?叫瑞安达尔是吧?瑞安达尔这挺拗口一名是吧?瑞安达尔这哥们是什么呢?这哥们叫做一个node GS之父是吧?之父为什么之父呢?一个是男的是吧?就是女的,就是之母是吧?哎,瑞恩达node GS之父说白了瑞node GS就是什么呀?就是他写的,哎,就是他写的,那真的这么厉害呢?简单的了解一下啊,诶,那瑞恩达尔这个人呢,他并不是科班出身的开发者,说白了就不是计算机专业的对吧?那咱们也会有很多不是计算机专业对吧?诶,那在2004年的时候,他还在纽约的这个什么什么大学读这个数学系的博士,那就不管你是不是科班出身,你都读到士了是吧,还是数学系,这人肯定很厉害对吧?那很厉害,但是呢,一般这种厉害的人就有一个特点是吧,头发少,头发倒不少是吧,头不少就是烦了,你说这人。
06:35
都读到博士了是吧,都读到博士了,这玩意儿世界很就很无聊,你知道意思吧,哎,很无聊,就我记着我以前我看到一个这个新闻是吧,说这个女女女生这个相亲女生相亲是吧,诶这个专科呢是减分的,本科呢是干嘛呀,是加分的,然后你要是博士呢,就减很多分,比那专科狠是吧?哎,什么分什么什么男人女人女博士是吧?哎,就是这个,你读到那么高了,他会觉得这个读反了啊,读烦了,所以当时就产生一个想法叫什么呀,诶世界那么大,我想去看看,很类似一个就干嘛了,退学了,老狠了是吧,哎,老狠了就退学了,然后呢,一个人就去干嘛了,就玩去了,说大家去哪去哪吧,反正就玩去了,但是玩的时候就面临到一个问题呀,哎钱呢是吧,你要你,你要叫。
07:35
瑞安思聪是吧,你可能不缺钱是吧,哎或叫思通达尔是吧,你也不缺钱是吧,但是你你你不你不是,那怎么办赚钱,哎,那这个时候他是不是就得想办法去赚钱呀,哎赚钱,所以呢,那个候有一个框架叫做一个Ruby on ras啊Ruby on ras,这是一个Ruby的框架,Ruby也是一个语言,这是一个Ruby的一个外表框架,那其实这个东西我们DS里边东西很多东西都是借鉴了什么呀,借鉴了它,所以如果你以后能接触到这个reals,接触到Ruby,你会发现我们NOEGI东西全都是干嘛呀,全都是从Ruby那给他搬过来,但是现在就了解一下就OK了啊,那当时呢,他做的这个框架,诶,那他就是学的这个东西,那这东西干嘛的,说白了就是干嘛呀,就是做网站的啊,就是做网站的一个外部框架,那那时候开开始呢,这哥们儿的生活方式就是什么呀,接项目。
08:34
捐缘项目,然后去客户的地方干嘛呀工作,那在他眼里边就是什么呀,我这工作就是连玩带干,说哎,我上你那工作,工作完了我干玩会,玩会没钱了干嘛呀,再工作是吧,然后这个诶挣完钱再玩,玩完了再工作,工作完了再玩是吧,挺潇洒是吧,哥们这个心挺大是吧,哎心挺大,但是确实这种生活挺好的是吧,哎挺好的啊,挺羡慕诶诶但是呢,哎,咱们来看吧,哎那经过了两年的工作之后,他就成为了高性能web服务器的专家,两年,两年就成为了专家了是吧,那人人家这个是什么呀,专是真的专家啊,是真的专家,那他从干嘛呢?从接开发应用到变成专门帮客户解决性能问题的专家,解决性能问题专家什么意思?起初刚起步的时候,比如说你A公司想做一个。
09:34
网站好,我过去我给你做了,B公司想做一个网站,过去我给你做了,懂这意思吧,这是最开始的时候,这是一个初级阶段,你们以后工作的时候也是这个阶段啊,公司来个需求我去做,这来一个需求我去做,我去完成工作啊,完成工作那后来变成什么了?叫做解决性能问题的专家,为什么呀?因为我们开发这个网站,它并不是所有的工作都特别高端,以后你们知道其实企业网站其实挺简单的,对吧?挺简单的,但是网站的最重要的一个问题,有一个问题叫什么呢?叫性能问题,什么叫性能问题?就是我打开简单来说就是打开网页的时间,哎,你这网,你这打开浏览器随便输一个网址,它是不是需要一个时间去加载啊,诶这个时间的快慢,我们叫一个性能越快是不是性能越好啊,诶越快性能越好,所以呢他成为这方面专家了,因为这个性能问题总是一个很难解决的问题,所以呢他就不再去开发网站了,而专注于干嘛呀解决这个性能问题,那这时候其实工作。
10:34
倒了,但是这活是不是更高端了,可想而知,收入干嘛呀,也肯定更高了,那肯定更高了,而且期间人家还有什么呀,自己就写了一些开源项目,帮助客户去解决外部服务器的什么呀,这这些问题,什么叫高并发的问题,高并发的问题,你写一网站,你这网站这这一年就或者每天就一个人访问,他不会特别慢,就一个人,你开一饭店,这这这每天就一个客人,你服务就是基本上你是服务,不会出什么大问题,对吧,除非你关张了对吧,不会出什么大问题,但是什么叫高病化问题,我一个网站,你像淘宝双11对吧,京东双11干嘛呀,同时几亿人是不是在,尤其是12点,呃,12点那个时刻,同时几亿人在访问,那这个时候服务器是不是面临很多人同时访问啊,这个就叫做一个高并发的一个性能问题,你像京东好像双11,好像你挂一会儿是吧,就挂一会儿,所以这东西很重要。这个高并发性能问。
11:34
你那他就开始干嘛呢,尝试了很多种语言去解决这个问题,但是最终干嘛呀,失败,最终都失败,为什么会失败,哎,因为遇到了什么呀,遇到了这个瓶颈,简单说一下。什么意思呢?那这里边我们来画一个简单的图来说明一下这个问题,我们的一个项目的架构,我们叫做一个客户端,还有什么呀,服务器,那注意我们开发完了以后,我们的代码都是放到哪的呀?哎,服务器的我们写的网页都是放到服务器的,用户去访问,服务器把你的网页下载了,它浏览器它是不是在查看呀,所以这里边儿我们来注意我们网络通信,它叫基于请求和响应,这是我们的客户端,那这是我们这个服务器,我这写一个,这个我们叫做一个客户端,这个呢,我们叫做一个服务器啊客户端服务器,我们的客户端给我们的服务器干嘛呢?发送请求啊,这个东西我们叫做一个请求发作箭头。
12:45
发送请求啊,这个叫做一个请求,先记住了啊,先记住了这个东西我们会这两天会用的非常多请求,然后服务器干嘛呢?给我们的客户端返回响应啊,返回响应。
13:04
哎,我这先插入一个啊,这是我们这个响应,诶客户端发送请求,服务器返回响应,就像我在这输入一个3W100度点com,实际上我可一敲回车就是在百度服务器干嘛呀,发请求这个网页是不是就百度给我返回的响应啊,哎返回的响应,那这里边呢,注意了,我们说了,其实除了我们真正一个项目,除了客户端服务器,这个服务器指的是我们这个web服务器,除了这个东西我们还有一个什么呢。还会有一个啊,用一个圆柱形表示,这是什么呢?我们的数据库啊,数据库,数据库是干嘛的,保存我们的数据的,你像我们京东的商品信息啊,淘宝的商品信息啊,我的用户信息啊,它是不是都需要保存到数据库里啊,所以当我们向服务器发请求的时候,服务器往往还需要干嘛呢?
14:00
诶需要去和数据库进行交互,比如说你要买,你要看我这个京东这个有什么电脑,那你是不是得把京东数据库里边电脑信息都得加载出来呀,哎加载出来,所以这块要跟这个数据库进行交互,那这个交互我们叫什么呢?这块我们简单来说一下,那数据库的数据是不是得保存到磁盘里头,哎,那这块我们叫一个I。还有。IOI叫什么?I我们叫做input,对input叫什么呀?叫输入啊,输入,哎,Input呢,我从磁盘来读数据是往往这输入啊,哎,输入,然后O呢叫做output output叫什么呀?叫输出啊,叫输出input output,所以这里边我们的IO指的就是什么?就是去从磁盘中加载什么呀,读取或者向磁盘中写入数据,Input读output是往外写,懂这意思吧,这是IO操作,而呢,注意了,那现在这就是我们整个的一个服务器,这个客户端和服务器交互一个流程,客户端给服务器发请求,然后服务器去调数据库,数据库返回数据,然后服务器再把响应信息数返回给客户端呀,这就像我们跑一个这个跑一个这个操场一样,那我不是跑完这一圈,我这流程就完了,那么说了,我这一圈完成下来,是不是时间越短?
15:28
性能就越好,哎性能越好,所以这里边我们注意了,我们的要提升的位置就很明显了,你要不然诶用户发请求干嘛呀,发的快点对吧,服务器处理请求处理的快点,你去读取或写入数据的时候,处理它干嘛呀快一点,然后你的应返回来干嘛呀快一点是不就这么几个,还这么几个,那我们想想哪个是我们能做,哪个是我不能做,发请求快点我们能不能控,能控制吗?不能控制,因为这是用户的网速决定的吧,哎,客户端的网速决定的,那响应快点行不行,可以,我把服务器带宽提高,你响应速度是不是就快了?哎,这可以做,那还有什么呀,我服务器的代码逻辑我干嘛呀,我写好一点,处理速度快一点,是不是也可以啊?哎,然后还有什么呀,这些都好办,都好办,唯独有一个什么问题,还有问题苏。
16:28
所有的项目开发到最终,它的瓶颈都在什么?IO,我们说IO什么从数据库里读,从这个磁盘或者是数据库里去读取,或者说写入数据,对吧?那这个时候注意了,IO为什么都成为瓶颈?为什么成为瓶颈,因为IO是不是要跟磁盘去交互啊,然后你你你去从磁盘读出去,或者像磁盘写出去,你说我把这性能提升特别好特别好特别好不好不好,但是注意磁盘的速度是不是有限制啊,你说现在服务器奖励点服务器全都是什么呀,固态硬盘对吧,就是固态硬盘,但是固态硬盘的读写速度是不是也有极限呀,你到那个极限。
17:10
干嘛了就突破不了了,肯定到了极限卡这了,你你你没办法突破,除非出新技术,要出新磁盘了,但是他是不是也会有极限呀,所以所有项目的瓶颈到最后都是什么,都是这个IO啊,都是IO,那这时候我们就面临一个问题,我们前面程序写的很好了,我这个用户网速也很快,我服务器逻辑也很严谨,没有一点浪费的代码,速度处理非常快,服务器的带宽也够,响应速度干嘛呢,也是非常快的,但是都卡在哪儿了?都卡在这个什么了?I欧,这能理解这意思吗?就像什么呀?举个例子,我们跑这个四乘100米接力,诶,那我们可能找一些比较快的人是吧,可能第一半是这个,假如说刘翔吧,哎,第二半假如说这个博尔特是吧?哎,博尔特,那这个第三棒还有谁跑得快,曹操是吧?曹操跑得快啊,诶都跑挺快是吧?啊第四棒我懂你的意思吧,你前面再快没用到我这儿,我掉链子了,懂这意思吧,同样这儿也是,你这前边再快没用到IO,这是不是就卡住了,就卡住了啊,所以当时这个瑞安达尔再去做的时候,他就遇到了这个问题啊,就遇到这个问题,就是因为什么呀,这个IO影响了我们这个服务器的一个什么呀,服务器的一个性能,那你要注意了,我们。
18:49
传统的服务器它都是多线程的,什么叫多线程?每进来一个请求,注意,传统的服务器都是每进来一个请求,我就创建一个线程,干嘛呢?去处理这个请求,每进来一个请求,我就创建一个线程,这能理解吗?就好比我们去饭店吃饭,每来一个客人,我饭店就配一个服务员,专门为他服务,来十个人我就配十个服务员,来100个人我就配100个服务员,懂这意思吧?你想想这体验好不好啊,非常好是吧,一对一的服务,那我们服务器,传统服务器也是这样的,进来以后我就给你一个线程,进来以后我就给你线程,像淘宝的,你像你发一个请求,淘宝一定会有一个专门的线程去给你提供什么呀,提供服务,懂这意思吧?哎,那这个时候其实会带来一个问题,我们上饭店吃饭,我们都都知道,其实我们想想上饭店吃饭。
19:49
点菜快不快,基本上你不是选择恐惧症是吧,基本上点菜是很快的,咱们也就是某某盖饭是吧,诶某某面是吧,哎,很快就点完了啊,很快点完了,点菜是很快的,上菜也快,那是什么卖做菜除了炒菜是卖呀,好,那你想想,如果每来一个人,我就专门给他配一个服务员,服务员给你点菜很快吧,他给你端菜也很快吧,但是他是不是得等厨师炒菜呀,你想想,那这服务员我说了一对一给你服务。
20:23
那服务师这菜没炒完呢,那我这服务员不能走是吧?好服务师炒菜呢,服务员站着跟着看着你是吧?跟着看着你,那你说很别扭啊,那你想想对这县城是不是一个浪费,这时候这服务员完全可以干嘛,是不是完全可以去为别的顾客去服务啊,等你那个菜炒完了以后是不是再去服务啊,所以这个时候我们服务器同样的问题,在我们服务器里边数据库就相当于是一个什么呀,厨师他炒菜慢死了是吧?慢死了你没看那个以前有一视频是吧?那外卖小哥看炒菜慢自己上了是吧?诶自己上了在这就慢死了,那这块会带来一个问题,好,我这进请求,注意啊,请求进来了,我给你分配一个什么呀,现程是不是去处理请求啊,好,前面处理都非踌快,咔一到IO这干嘛了,卡这了,IO是不是要去调用数据库啊,那注意操作数据库不是由我们这个。
21:24
去做的,它会专门有IO的线程去操作,为什么?因为涉及到磁盘了,需要调用磁盘的线程去操作,懂这意思吧?所以这个时候实际上这个事儿就交给别的县城了,就相当于把这个炒差的任务交给什么了,出师了,大家注意,我这请求完没完呢?没完呢,我这县城能不能动,不能动就得跟这等,就得跟着等,这个我们叫什么叫阻塞,我们IO的操作是不是阻塞这个线程的执行啊,它什么也干不了,好,那有100个人进来,我有100个线程操作数据库,我就有100个线程在在阻塞,如果有1亿个人,我就有一个1亿个线程在阻塞,懂这意思吗?哎,好,但是问题就来了,这1亿个人,1亿个线程,它在我的内存里,在我的磁盘里,是不是要。
22:15
占空间呀,他这时候没有完全发挥出作用,都在等着这厨师炒菜呢,厨子都要疯了是吧,这哥几跟这聊天呢,抽烟呢,这愁事不行啊,啊什么玩意儿是吧?他跟这聊天呢,他不干活,然后还占用我的空间,占用我的内存,那这样我是不是就得我一发现又慢了,慢了慢了怎么卖,慢了我还得去什么加内存加磁盘等等去加那但是这个问题是不是一直都存在啊,哎,一直存在,这线程跟这不干活就跟这光待着等着是不是很浪费啊,啊很浪费,所以这IO是一个大问题,IO的速度有瓶颈,我们是提升不了的,是提升不了,因为它跟硬件有关系,但是现在这种情况,我们想想我们是不是可以优化一下,哪可以优化务我少几个服员说行,我干嘛整这么多服务员。现在我们想爱欧这我。
23:15
好了,但是我们想想这个现程我们是不是可以优化一下什么意思?好,我这服务员点完菜,然后把这个菜单子交给厨师,这时候服务员干嘛呀,不要等干嘛呀,继续给下一个客人服务,你点什么菜,我再交给厨师,那什么时候给他上菜呀,菜炒好了我是不是再给他上啊,那这样我一个线程是不是可以做很多事儿啊,就不用在那儿等了,也节省我服务器的一个什么呀资源啊,也节省我服务器资源,那这个模式就是什么呢?就是我们这个node的模式,注意node服,Node我们说了,在我们这儿也是可以用来写服务器的,而node就是什么呢?单线程的单线程的node,我刚才说了,传统服务器只要进来一个请求,是不是就创建一个请线程啊,而node每个所有请求它都是什么?一个县城都是一个县城,再换句话说,上饭店吃饭来一个人,我这个服务员来十个人的。
24:15
啊,还是这个服员来1万个人,也是这一个服务员是单线程的,但是你可能想那那时候疯了呀,但是你要想这是一个什么呀,超级服务员,超级服务员处理速度干嘛呀,很快,他不会因为IO干嘛呀,阻塞啊,不要有阻塞,这个先了解一下啊,这个先了解一下,好,那这个就是我们说的,哎,他期间什么呀,他尝试了很多种语言,但是最终都是什么呀,失败了,失败在哪?就是因为我们的IO会阻塞我们程序的一个什么呀,运行其他语言都做不到,这个事儿为什么做不到,为什么做不到,因为时间太长了,C呀,C加加呀,Java这些语言干嘛呀,时间太长了,那些思想都已经干嘛了,根深蒂固了,他在想改,很难了啊,很难了,那这个时候救星来了,你看,在他快绝望的时候。
25:10
总是这么写是吧,你看电视剧,看电视也是,都是快绝望的时候才来的,哎,快绝望的时候,V8引擎来了,他发现有一个新的语言。Java qui,那同学说了,Java死qui不是九五年就有,怎么还叫新的语言呢?Javava qui是不是新的语言?不是,但是在一个位置它是新的,在我们的服务器上,Javascript之前是不是一直在浏览器里写啊,在服务器里边它没有任何东西,它是一张白纸,我是不是想怎么去做就怎么去做呀,所以诶,V8引擎满足了他关于高性能外部服务器的什么呀所有的想象,于是在2009年2月开始着手编写什么呀,Note GS,所以注意开始起初创建note GS的目的是什么?
26:01
用GS去编写一个高性能的外部服务器,懂这意思吧,哎,外部服务器为什么GS型,第一个GS是单线程的,第二一个GS,我们经常会用到一个东西叫什么呀,叫异步,异步咱们现在先不说它,我们叫回调函数,是不是经常用的呀,当然我们再去解释这个东西啊,到再解释东西,现在先理解一下,所以注意note GS创建之初就是为了干嘛的,就是为了这个写高性能的外部服务器的,而且注意是用什么呀,用我们这个javascript写的啊,JS写的好,那但是起初的时候啊,这东西它并不叫note JS叫什么呢?叫web GS。其实web GS更合理,干嘛呢?写服务器嘛,对吧,服务器嘛,我那用web呗,网络呗,哎,服务器的web.GS那后来为什么改名叫noe呢?不是被人抢了,那你改名叫noe,哎,哥们儿,你想2009年2月开始着手编写这个note GS,一开始写没想那么多,就想着干嘛呀,整一服务器,整一高性能服务器,外部服务器就完事了,开始就这么想的,但是没没没想到啊,越写越大,越写越大,搂不住了,开始就想写福气,结果越写越大,越写越大,就像什么呀,你看那个七龙珠是吧,七龙珠本来打把那个比克大魔王打死就完了对吧,结果发现这故事越写他越写,他写写写写一个宇宙出来对吧?哎,好几个人是吧,那这个情况是一样的,搂不住了,他本来就想写一个服务器,结果写不。
27:44
小心的麻辣整出了一个非常非常庞大的一个生态环境,整出了一个非常非常庞大的生态环境,所以现在提note,其实很多情况下我们不一定是用它写服务器的,我们经常这东西经常会干嘛呀,把它当成一个大的生态系统,我们用它里边的一些软件啊,一些插件啊,一些这个框架来干嘛呀,帮助我们的开发,反而服务器功能倒有一点点的。
28:10
弱化了,懂意思吧,哎,所以改名了叫note GS,那为什么叫note GS note什么意思?节点,节点有什么特点,节点什么特点,点节点是可以扩充的,我在一个节点上我是可以插一个节点啊,在一个节点上我是不是可以再插一个节点啊,所以为什么叫noe.gs他希望这个note以后可以像一个什么呀节点一样,通过不断的去接入新的节点干嘛呀,可以无限的去扩充这个什么呀功能,让他是不是越来越完善呀,哎,越来越强大啊,所以这里边注意,现在note GS起初主要是来写高性能外部服务器的,但是现在已经形成了一个非常非常庞大的一个什么呀,生态环境,前端开发离不开能的,DS对我们来说是非常非常的重要的啊,非常非常重要,理解一下啊,然后呢,这是一个它的一个简单的一个历史吧,呃,零九年呢,它发布了一个note最初版本啊,这个一零年呢note的。
29:10
NPM诞生NPM待会我们再去说哈,先了解一下,一零年底的时候,这个join公司赞助了note的开发,Join什么呢?转就相当于那个美国的阿里云一个服务器供应商啊,服务器供应商他发现这个note干嘛呢?Note特别好,知道note好在哪吗?不知道不知道是吧,刚才说了别的服务器都是多线程,它是单线程的,单线程什么好处?多线程你想吧,我弄十个工人,跟我弄一个工人,哪个对我这个要求高啊,十个工人吧,那我得有地儿是不是装这十个工人啊?所以多线程的传统服务器往往有一个特点,什么特点对你的系统的硬件要求比较高,你必须买更好的服务器能支撑你的多线程系统,懂这意思吧,对你的硬件要比较高,而我们no的是什么呀?单线程的就一个服务员,它对这服务器的要求干嘛呀,比较低,同样的功能,同样的需求量,我弄的可以干嘛呀,成本更低,懂这意思吧,诶成本更低啊,好,所以这公司赞助了,因为他看到前景了嘛,因为他就靠卖服务器赚钱的,对吧,所以他赞助这个noe,然后呢啊,他就加入这个公司了,全职负责这个noe啊noe啊,然后呢,就是note。
30:30
在11年7月的时候,这都是不说话了啊,我们就不说它了,然后再往下一二年的时候,瑞达尔离开了,这个什么呀,像为什么离开了,觉得这东西挺好的了是吧,哎,就不做这个东西,咱就就走了,然后呢,注意关键节点在这儿,14年12月,这个人在2014年的12月份制作了分支版本,起名叫什么呢。IO点钱为什么是这样的呢?Joinone的公司他收就是他基本上就是赞助note,其实说白了就是收购note,有如说note变成他公司的一个产品了,是不是由他公司去去维护啊,哎,去维护,但是我们说了noe是一个开源的产品,我们的程序员都有一个开源的思想,什么叫开源思想啊,这也对,免费是一方面,但是不光是这个东西,就是说我们这个产品它不属于任何一个人,或者你说另一个字属于谁,他不属于任何一个人,不属于任何一个什么呀,公司它属于什么呀?属于整个我们的这个开源什么呀,开源社区,由我们这个开源社区干嘛呀,共同去维护这个产品,懂意思吧,有点什么呀,共产主义,共产主义啊,大家来维护主义不属于这个公司,但是这个赚的公司no走这个弄了以后呢,他就把它变成一个公司,产品全权由公司去维护,那这时候开元社区这帮成序员。
31:55
程序员其实挺讨厌是吧,有时候啊一想凭什么呀,算了,你既然这样我不跟你玩了干嘛,我自己另起门户,其实整了一什么呀,io.gs这io.gs什么,就是一个note GS,它等于弄了一个什么呀,分支我不跟你玩了,我自己做一个,这是我们的开源产品,对吧?哎整这么一个,那这个时候就带来一个问题了,一般的话,一般公司是干不过开源社区的,因为你想全世界成序员都在做这事儿,一个公司你是不是干不过他呀,所以这公司也看完了,弄的要完呀,以后都哎我减谁还用弄的对吧,开完的吗?他开的,所以在一五年初的时候,诶创建了一个基金会,基金会干嘛的呀,就跟这个W3C基本上一个性质,说白了,那我基金会肯定很多人成立的,对吧,不是我一个人说了算的,我多个人咱们一块商量来,它不属于我一个人了,那那这个基型的成立呢,IBM,英特尔,微软几个。
32:56
公司干嘛了,参与了筹备,也就是说从这开始note还属不属于某一个公司了,不属于了,那于是这帮程序员一看,那得了你你也不要了,咱们就干嘛了,这分久必合,合久必分,对吧?于是NOEGS和lgs合并了,现在已经没有lgs啊然后呢,发布note什么呀,420版本这块简单说一下历史,什么目的,你会看到note版本很奇怪,零点几零点几突然蹦出一四点几,为什么前面零点几都是原来的note GS,四点几是和IG了合并以后出来的,懂这意思吧,所以你不要找123没有是吧,前面零点几后边就是四点几了啊,这是一个,然后呢,一六年的这个6.0发布,一七年呢,8.0发布啊,8.0发布,然后注意啊,这里边我们六点零八点,你会发现没有什么呀,没有七没有五是吧,没有七没有五什么意思。
33:56
Noe的版本,奇数版为这个开发版,这个偶数版是这个什么呀,稳定版啊,偶数版是稳定版,所以七呀五啊这些有没有有,但是它是用,它是开发的时候测试的,它一边会有一些bug,不稳定,所以这种奇数版我们用不用不用我们全都用的什么呀,偶数版啊四呀六啊八呀都行啊468都行,那现在呢,最新的是八,我们主要还是用这个六啊,主要还是用六,因为八对我们开发工具它不太友好,我们主要以这个六为主,区别不大啊,区别不大,好这块简单的介绍了一下啊,然后呢,Note的用途,其实你们看一下吧,其实就是服务器能干什么的,Note就干嘛呀。
34:41
就干什么啊,Noe就能干什么,但是现在我们再简单说一句,Noe呢,我们说了单线程是它的一个特点,但是你可想而知,这单线程其实是不太靠得住的,因为你说了你单线程我人多了以后肯定顾不过来,对吧,所以note基本上是成也单线程,败也这个单线程,所以noe注定它处理不了这个访问量太大了,访问量太大了还是干嘛呀,以Java为主,现在你说企业应用肯定Java这东西没跑,那noe一般要处理这多的话,他就得多整几个服务器分布式,那这个我就不管了啊,就不说这个东西了,所以noe的用途呢,也就是一些这个web服务器,那现在note主要来说用的比较多的是干嘛的,嗯,简单了解一下啊,简单了解一下,比如说淘宝,嗯,淘宝是干嘛的,淘宝的后台服务器肯定是Java的啊,肯定Java的,但是呢,我们客户端跟服务器是不是交互啊,诶交互,那这个时候淘宝它会干嘛呢?在客户端和服务器之间再加一层服务器。
35:42
再加一层服务器,这层服务器干嘛呢?用note写,那这层服务器用note写,这层服务器干嘛呢?因为我们Java的特点就是处理请求非常快,多线程嘛,处理请求非常快,但是弱点是什么呢?它对页面的渲染速度干嘛呀,慢渲染渲染页面不行,而我们GS是不是专业就渲染页面呀,所以呢,它的特点就是渲染页面速度非常快诶,而且能处理一些这个成本比较低,搭建一个服务器成本比较低,而且我我实在不行,我多拉几个啊,多搭几个,所以呢,它我们这个淘宝的呢,在什么呀,在这个客户端和服务器之间架起来一个note服务器,这个服务器干嘛,专门用来渲染页面啊,专门用来渲染页面,那这个可以就处理一些这个高频发请求,那这个我们就了解一下就行了啊,先先知道一下,好,这是我们说的一个note的一个这个简介啊,我们先停一下。
我来说两句