柏林纪行(中):Node.js Collaboration Summit

简介:

传送门:

Node.js Collaboration Summit

比较沉重的思考写完,下面是比较轻松的部分了……按照时间顺序,先记录一下 Node.js Collaboration Summit 的见闻。

Node.js Collaboration Summit 在 JSConf 会场附近的 co up 举办,主要以各个 working group 分组讨论以及集体讨论一些重要 issue 的形式进行。因为航班的缘故错过了第一天早上的 introduction 所以没有认全人,不过还是认识了很多一起 code review 过的 GitHub ID 的本尊,参与了部分讨论。

HTTP/2

目前 nodejs/http2 的 master 还在继续和上游的 master 同步,基本实现已经完成,主要缺测试和进一步检查有没有内存泄漏等问题。经过和 npm 上 http2 的维护者沟通后确定这个模块最终的名字是 http2,通过 npm 的安装机制来保证未来跑在老版本 Node 使用 npm 包的代码依然能够正常运行,但是升级到新版本的 Node 如果 require('http2') 就需要迁移到 Node Core 自己的这个实现了。

Diagnostics

目前大多数 APM 厂商都是通过 monkey-patch Node.js 里的模块获取必要的监控信息的,但是这样很容易造成兼容问题并且互相冲突。计划对各家 APM 插入代码(instrumentation)的方式总结一下 best practices,编写一个不断更新的文档来为 core 模块和用户模块提供指导,方便多方代码和谐共处。另外或许可以统一一下 APM 厂商输出监控信息的格式,一个想法是使用 V8 的 trace events API,但问题是目前大多数 APM agent 都是在 JS 层插入代码的,而 trace events API 是 C++ 层的,如果产生跨 JS 和 C++ 层的调用会增加性能损失。另一个方案是各家联手设计一个 JS 的 API,不过这个 API 可能需要放在 core 里否则没法在生态系统里落地。API 的设计可以借鉴 mongodb 的 APM API,他们自己维护这个 API,目前为止效果还挺不错的。

TSC 的组织结构

现在 Node.js 的组织结构是 CTC(Core Technical Comittee)属于 TSC(Technical Steering Comittee)的下属,各个 working group 也在 TSC 下面,CTC 和各个 WG 负责 Node.js 项目与生态系统日常的实际工作,TSC 的职能更偏行政一些,比如审批旅行经费的申请,这就导致了很多人对 TSC 的日常工作不感兴趣,对参加 TSC 的工作会议也不是很积极。鉴于这个情况,一些人参考 TC39 的组织,希望能够重新调整 Node.js TSC 的组织结构,改 CTC 为一个针对 Node.js Core 的 WG,和其他 WG 并列,并且提升一些非正式的 GitHub 团队(如负责版本发布与维护 git 分支的 release 团队)作为正式的 WG,不跨 WG 的争议在 WG 内自行投票解决(类似现在 CTC 投票解决 Node.js Core 里的一些决策争议),跨 WG 的争议提到 TSC 投票解决,每个 WG 只有一票。日常偏行政的工作还是由 TSC 决定,但是不要求所有人都参加,只要关心的人出来投票即可,这样没有强烈争议的问题可以更快通过。同时,TSC 的职能也更偏重为各个技术团队和 Node.js 基金会董事沟通的桥梁。

IMG_1157.jpg
Myles Borins 和 James Snell 向大家介绍他们对新架构的设想

与几个日本 collaborator 的交流

这次到柏林见到了 Node.js Core 两个比较活跃的日本开发者,Daijiro Wachi(和智大二郎)和 Yosuke Furukawa(忘记问汉字怎么写了……),他们也是 NodeFest(東京Node学園祭)的组织者,作为同是亚洲国家的 Node.js 开发者,他们对国内的 Node.js 社区也很感兴趣,希望我们能够多交流一下。此外还得知韩国也是有 Node.js 的会议的,叫做 playnode,他们问我中国有没有 Node.js 相关的活动,想了一下好像只有比较小的 Node Party 和 Node 地下铁了,虽然 JSConf China 也有一部分 Node.js 相关的话题……

我和 Daijiro 因为之前一直在 GitHub 上一起参与 WHATWG URL 标准的实现所以比较熟,聊到了最近在日本很火的中国人不需要用现金的新闻(凄い勢いで進む中国のキャッシュレス社会、既に想像の遥か上に到達),顺便介绍了一下阿里的一些业务,另外在和几个德国人聊天的时候他们也表示中国在这方面比其他国家领先了不少,很多人对国内这方面的生活方式都感到很好奇。

目录
相关文章
|
JavaScript API C++
柏林纪行(中):Node.js Collaboration Summit
比较沉重的思考写完,下面是比较轻松的部分了……按照时间顺序,先记录一下 Node.js Collaboration Summit 的见闻。 Node.js Collaboration Summit 在 JSConf 会场附近的 co up 举办,主要以各个 working group 分组讨论以及集体讨论一些重要 issue 的形式进行。
2532 0
|
2月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
1月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
26 2
|
2月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
|
1月前
|
Web App开发 JavaScript 前端开发
JavaWeb 22.Node.js_简介和安装
JavaWeb 22.Node.js_简介和安装
|
2月前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
2月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
|
1月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)
|
3月前
|
缓存 JavaScript 安全
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
这篇文章提供了2022年最新最详细的Node.js和cnpm安装教程,包括步骤图解、全局配置路径、cnpm安装命令、nrm的安装与使用,以及如何管理npm源和测试速度。
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
|
2月前
|
JavaScript 前端开发 Linux