Node.js | 跟哎哟喂学长一起学习node.js
Posted 哎哟喂学长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js | 跟哎哟喂学长一起学习node.js相关的知识,希望对你有一定的参考价值。
⊙ 不谋万世者,不足谋一时;不谋全局者,不足谋一域。摘自《寤言二·迁都建藩议》
我是哎哟喂学长,一个集颜值,才华和情怀于一身的男子
学长现在如同一年前预测微信小程序会成为一个职业一样来预测node.js,过不了2年,它会成为一个单独的职业。作为真正属于前端行业的未来发展方向,node.js绝对是每一个前端人值得追寻和探索的一项关键性技术,在流量越来越大、用户越来越挑剔的当前社会发展下,当node社区完善到一种高度的时候,各个生态的产品用node来重构就显得越来越必要。危机感常存,才会不断去超越自己;居安思危,才不至于未来你是被淘汰的那一位。
你是否像学长一样,买了一本《node.js深入浅出》在家里落灰?你是否像有些人一样,知道node.js很重要但是却不知道怎么来学习?学长年后也是越来越感觉到想法和实施之间的距离,于是学长新年列出计划,今年用项目实例来推动node.js学习。你是否也想加入学习队伍?你是否也想赶在未来潮流前灵活掌握node呢?跟着学长的步伐,一步两步,一起来学习这么厚积薄发的技术。
为什么说node会成为未来的潮流?
非阻断 \ 异步 \ I/O与事件驱动 ,不为别的,就是因为这两个牛逼哄哄的特性,让服务器处于最优化状态下利用轮询处理高并发成为了可能。等等,轮询什么鬼?兄弟别慌,轮询就是轮询啊!学长做过深刻的解读。
点击下面小姐姐,前去了解轮询
(想点哪里就点哪里)
非阻断 \ 异步 \ I/O什么鬼?
学长肝肠寸断绞尽脑细胞重要想到了一个可以生动解释的场景,于是就想到了倒垃圾的故事。学长在的公司有一位机智的年轻人,在公司成立之初规模还小的时候承担起来了倒垃圾的神圣职责。你可以想象一下,学长在的这一排办公桌有3个垃圾桶,这位年轻的小哥哥就在这三个垃圾桶的旁边,小哥哥不可能在有垃圾的情况下就去倒垃圾吧,总得让垃圾桶满了再去,而这个时候小哥哥就是处于做PPT,写文档,敲代码的状态。若干分钟后,垃圾桶A满了,小哥哥很自觉的就去倒了,回来以后把垃圾桶放在原地,依旧干着写文档,做PPT,敲代码等等别的事情;又若干后垃圾桶B满了,小哥哥又去送;后来后来,垃圾桶C满了,又去送C。于是乎我们就能明天,小哥哥其实一直在工作状态,但是如果只干送垃圾这件事,老板发现后要打他PP的,所以小哥哥在垃圾桶没满的情况下一直在做着别的事情。假如把小哥哥当做服务器?假如把垃圾桶当做轮询中的一次请求?假如把做PPT,写文档当做别的请求?于是乎你就明白了非阻断异步是什么鬼。PS : 主动点的人,肯于付出的人运气不会太差,因为小哥哥在倒垃圾之余撩到了隔壁公司的小姐姐,顺利结束单身,走向人生第一次高峰。
事件驱动又是什么鬼?
还是拿到垃圾的事情来说吧!人是意识的,但是我们可爱的计算机语言没有。当垃圾桶满了的时候,需要有个学长需要触发一个事件来告诉小哥哥说,我垃圾桶满了需要你去倒了;而他倒了以后,需要告诉我,学长垃圾桶清空了,又可以用了,这个事件就是回调。每一个动作,每一次请求都需要通过事件来触发,这就是事件驱动,这不正是js所用的特性么?
Node.js的应用核心语言是javascript,然后直接在超级变态的Google V8引擎上运行。
那么问题来了,V8引擎又是什么鬼?
" V8使用C++开发,并在谷歌浏览器中使用。在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(IA-32, x86-64, ARM, or MIPS CPUs),并且使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript程序在V8引擎下的运行速度媲美二进制程序。
V8中实现的ECMAScript中指定 ECMA - 262 ,第3版 运行在Windows XP和Vista,Mac OS X的10.5(雪豹和Linux系统使用IA - 32或ARM处理器。
V8可以独立运行,也可以 嵌入 到任何C++应用程序。"
看着头晕?头晕没关系,知道这么多可以帮自己去细入了解引擎基本理论,而作为开发者知道怎么用就OK了。反正一句话,他能帮住js接近计算机低层,提高js编译的性能。
Node.js解决了js哪些问题呢?
1. 更好的组织代码,提升复用性。当然在ES6中这一点也得到了很大的提升。
2. 处理文件与数据库。
3. 与互联网进行沟通,以标准化的格式处理请求并发送回答。
Node.js可以运用在哪些项目中呢?
Node.js对前端来说算什么福利?
node.js就是一个前端觉得写个功能还要等后端捣鼓半天
然后干脆就自己用javascript把后端搞定的一个东西
让前端任性的东西,酌情使用
推荐阅读-
点击文字即可阅读全文
以上是关于Node.js | 跟哎哟喂学长一起学习node.js的主要内容,如果未能解决你的问题,请参考以下文章