Node.js|世界各行业牛逼公司都开始使用的和每周超过10亿的下载量Node.js,其最有用的十篇文章归纳
来源:互联网 发布:刷单网站源码 编辑:程序博客网 时间:2024/04/29 08:52
回首Node.js从无到有的6年,我们可以大声宣布我们最爱的框架已经长大成人——基本上世界上每个行业的牛逼公司都开始使用它。
另外一个好消息是Node.js已经成为史上最大的开源平台——每月1500万和每周超过10亿的下载量足以证明。我们有超过1100位开发者来为Node.js的开源平台添钻加瓦,正因如此,其贡献量也达到了历史峰值。
回顾这一年,我们精心挑选了十大文章,大家走过路过不要错过。这些内容围绕2016这一年中Node.js的发展,包罗万象好坏兼顾。
让我们一起来看看吧!
#1: 我怎么用11行代码搞垮了Node,Babel和不计其数的工程
程序员们都震惊了!!!眼睁睁的看着编译失效、安装失败,而这一切都是Azer Koçulu在16年3月将他自己的250个模块从NPM中下线导致的———搞垮了不计其数的模块,包括Node和Babel
译者注释:果然不要得罪程序员……
Koçulu删除自己代码的原因是他有一个叫Kik的模块——和那个即时通信应用同名,正因如此,Kik的律师声称其侵权,之后NPM就直接移除了他的模块。
“这件事让我意识到NPM只是某些人的私有领域,公司在那里比普通人更有权利,而我开源只因权利属于人民” - Azer Koçulu
译者注释:Power To The People是美国常见的标语,这里直译为“权利属于人民”,可以参考wikihttps://en.wikipedia.org/wiki/Power_to_thepeople(slogan)
Azer有一个叫做left-pad的模块,其可以用0和空格将字符串左边进行填充。不幸的是,一大堆模块对其有依赖。
整件事的后续可以在The Register's great article 查看到,事件的更新也会及时布告在上面。
#2: Facebook联合Google发布了新的JavaScript包管理工具
2016年十月,Facebooke联合Google发布了Yarn,一个全新的JavaScript包管理工具
为啥要搞这个?Facebook的工作流在融合npm时出现了不少原则性的问题
在Facebook,npm确实不能发挥其效。
npm降低了公司持续集成工作流的效率。
在仓库中检查所有模块也十分低效。
npm的不确定因素太多,这也是无法改变的——然而Facebook的工程师需要一个持续而有效的系统,来保证他们的DevOps工作流的正常运作。
与其说用hack的方式绕过npm的限制,Facebook索性自己从头开始,开发了Yarn:
译者注释:其实就是造轮子
Yarn在本地缓存文件上很有优势。
Yarn同样可以对某些操作进行并行化处理,这也使得新模块的安装更加迅速。
Yarn使用文件锁和一套成熟的安装算法,来保证跨终端的文件结构一致性。
出于安全方面的考虑,在安装过程中Yarn不允许包开发者运行所需的第三方代码,
Yarn向不在Facebook工作的开发者宣称其可以带来大幅度的性能提成,但是,其使用的还是npm的注册机制,本质上只是npm客户端的仿制品
你可以在TechCrunch上了解到全文的细节内容。
#3: 使用Chrome开发者工具调试Node.js
对Node.js新增的调试能力支持已在五月份合并到Node.js主干
使用新的调试工具,你需要
nvm install node
添加
inspect
参数运行Node:node --inspect index.js
你会获得一个以 “chrome-devtools://..” 开头的URL,打开它
可以通过阅读此文章Read the great tutorial from Paul Irish了解所有特性和相关细节!
#4: 100块的服务器+5天=50万用户,我是怎么做到的,你猜?
Jonathan Zarra,GoChat for Pokémon GO的创建者,在五天内获得了一百万用户。Zarra在支付服务器成本上颇感压力(大约 4,000美元 / 月),然而维护一百万的活跃用户相关费用是必不可少的。
他做梦的没想到会有如此多的用户。 他是用 MVP(Minimum Viable Product,最小化可行产品) 的方法来构建这个 app 的,还没有考虑可扩展性。他只是用这个来试错。
Zara之前已经和VC们讨论过这个应用的发展和盈利。由于他构建这个 app 只是作为 MVP,他以为可以等以后再来考虑可扩展性。
他错了。
由于其简陋的设计, GoChat没有办法扩展到足以支撑这么多用户,于是系统就 down 了。 钱花了,用户却都走了
五天,100美元/月的服务器上跑出的500,000用户
Unboxd的CTO Erik Duindam究其一生在设计构建网络平台的工作上,服务了不计其数的活跃用户。
受挫于Zarra的GoChat的简陋设计和霉运,Erik决定自己搞出一套方案, GoSnaps: 为Pokémon GO而生的Instagram/Snapchat。
Erik使用Node.js在24小时里开发一个可以轻松处理50万独立用户的 MVP 应用。
所有的安装只是搭建在一个100美元/月的中型Goolge云服务器上,外加一个用来存储图片的(简易版)Google云存储服务——而其性能却格外显著。
他是怎么做到的? 想知技术细节如何,请阅读下文:
读下我的 《100块的服务器+5天=50万用户,我是怎么做到的,你猜?》 https://t.co/euP0OFJdZJ #startups#pokemongo #tech
— Erik Duindam (@erikduindam) July 18, 2016
#5: 从0开始学习Node.js - Node明星教程系列
Node明星教程系列的目的是帮助开发新人从0开始学习Node.js,进而用其交付软件产品!
你可以从下面找到所有内容:
从0开始学习Node.js
使用NPM
了解异步编程
你的第一个Node.js HTTP服务器
Node.js数据库教程
Node.js request模块教程
Node.js项目结构教程
使用Passport.js来实现Node.js认证
Node.js单元测试教程
调试Node.js应用
Node.js安全教程
把Node.js应用部署到PaaS上
监控Node.js应用
#6: 在Node.js中使用RabbitMQ和AMQP分发工作列队
此教程可以帮助你使用RabbitMQ来协调生产者和消耗者之间的工作。
不像Redis, RabbitMQ唯一目的是提供一个可靠和可扩展的通信解决方案,以及目前在Redis上没有或者很难实现的特性。
RabbitMQ是一个跑在本地或者网上某些node端的服务器。客户端可以是工作进程和消耗者的其一或兼顾,其使用高级通信列队协议(AMQP)来和服务器对话。
你可以在这里阅读完整的教程
#7: Node.js, TC-39,以及模块
IBM的Node.js技术老大James M Snell在九月底参加了他的第一次TC-39会议。
为啥?
一个被TC-39定义的JavaScript语言特性,或者说是模块,已经给Node.js核心团队引起了不少麻烦了。
James和Bradley Farias (@bradleymeck)一直在试图寻找怎么在Node.js中用最好的方式实现对ECMAScript模块(ESM)的支持,而不会引起更多不必要的麻烦和困惑
图片上文字翻译如下: 事实证明,Node.js和TC-39对于模块的相关问题有很大的分歧:什么是,如何定义,以及他们怎样被载入内存和使用。 从最开始,Node.js已经有一套起源于CommonJS,相当宽松的模块系统。
由于涉及的问题十分复杂,与TC-39促膝长谈看起来才是目前最高效的促进方法。
全文讨论了他们从对话中所发现和理解的内容。
#8: Node.js开发者问卷调查及结果
2016年夏天我们在Trace by RisingStack进行了一项问卷调查,以了解开发者们是如何使用Node.js的。
结果显示:对于Node.js应用的开发,打包和发布来说,MongoDB, RabbitMQ, AWS, Jenkins, Docker和Amazon Container Services是首选。
结果同样表明Node开发者主要的痛点是:调试
你可以在《这里有Node.js调查结果和图表展示》阅读完整内容。
#9: Node.js基金会将采取新的合作方式来保证对Node安全问题的管理
Node基金会在北美Node.js开发者大会上宣布其将接手Node.js安全项目,此项目是由Adam Baldwin所创建,之前由^Lift所管理。
作为Node.js基金会的一部分,Node.js安全项目将提供一个统一的流程,以探索和挖掘在Node.js模块生态系统中发现的安全漏洞。基金会里的一个小组会负责项目的管理工作。
Node.js基金会将从^Lift那接管下列事宜:
维护生态系统漏洞挖掘的入口;
维护审核漏洞的非公开交流频道;
审核非公开安全挖掘群组的参与者;
促进安全数据可持续性的研究和测试;
持有和发表漏洞的基础数据,同时
制定数据标准,以让工具开发商可以在其基础上开发,与此同时,安全和开发商也可以对其添加数据和内容。
你可以在The New Stack了解到全文细节。
#10: Node.js成熟度清单
Node.js成熟度清单可以让你开始着手了解Node.js在你公司的接纳程度。
从建立公司文化,培训员工,着手构建基础设施,编写代码和运行应用等方面出发,清单因你接受度的不同而异。
写在最后:FOR Freedom 看看外边的世界,以及IT这一行,少不了去Google查资料,最后,安利一个V——PN代理。一枝红杏 VPN,去Google查资料是绝对首选,连接速度快,使用也方便。我买的是99¥一年的,通过这个链接(http://my.yizhihongxing.com/aff.php?aff=2509)注册后输上会员中心得优惠码,平摊下来,每月才7块钱,特实惠。
本文标签: Node.js Node.js介绍 Node.js发展历程 Chrome开发者工具 开始学习Node.js明星教程
转自 SUN'S BLOG - 专注互联网知识,分享互联网精神!
原文地址 : 《Node.js|世界各行业牛逼公司都开始使用的和每周超过10亿的下载量Node.js,其最有用的十篇文章归纳》
相关阅读:《Aaron Swartz – 互联网天才开挂的人生历程:每时每刻都问自己,现在这世界有什么最重要的事是我能参与去做的?》
相关阅读:《网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?》相关阅读:《一个优秀程序员必须知道的十大开发用到的最实用最基本算法详解,你了解几种?》
相关阅读: 对程序员有用:2017最新能上Google的hosts文件下载及总结网友遇到的各种hosts问题解决方法及配置详解
相关阅读: 《春节将至,又到了评绩效拿年终奖的时候!程序员绩效KPI 这个弥久历史谜题该怎么算呢?》
相关BLOG:SUN’S BLOG - 专注互联网知识,分享互联网精神!去看看:www.whosmall.com
- Node.js|世界各行业牛逼公司都开始使用的和每周超过10亿的下载量Node.js,其最有用的十篇文章归纳
- 使用 Node.js 的优势和劣势都有哪些?
- 使用 Node.js 的优势和劣势都有哪些?
- 开始node.js的学习
- node.js 使用createServer创建最基础的node应用。
- node.js的使用
- Node.js 的优势和劣势都有哪些
- 十大 Node.js 的 Web 框架
- Node.js 模块 开始的故事
- 开始使用node.js
- node.js最省心的安装方法
- 使用 Node.js 的优势和劣势都有哪些?转于知乎
- Node.js笔记 --了不起的Node.js
- Node.js---1.Node.js的特点
- node.js 的安装
- node.js的安装
- Node.js的安装
- node.js的介绍
- 深度学习:从头设计一个TensorFlow3一样的新一代深度学习系统,到底需要把握哪些要点?
- 移动端UI设计越来越流行的高斯模糊(Gaussian blur)和毛玻璃效果(磨砂效果),如何使用Android RenderScript简单实现?
- 如何在程序开发项目中选择合适的 JavaScript 框架,节省时间和成本的9款极佳的JavaScript框架介绍
- 代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码
- 一个优秀程序员必须知道的十大开发用到的最实用最基本算法详解,你了解几种?
- Node.js|世界各行业牛逼公司都开始使用的和每周超过10亿的下载量Node.js,其最有用的十篇文章归纳
- Ukey证书校验流程和使用注意事项
- 盘点类似于GitHub的代码托管平台码云的2016年度热门项目排行榜TOP 50
- java多线程入门详解
- S3C2440--存储管理器
- Android开发工程师应该知道的50个开发秘诀、技巧和资源分享
- jqGrid 各种参数 详解
- 给大家分享12个或许能在实际工作中帮助你解决一些问题的JavaScript的小技巧
- 给大家分享2017支付宝扫福字集五福卡红包攻略技术:缺敬业福友善福的速看!