写点什么

Visual Studio 中断 NPM 套件库服务

  • 2016-11-14
  • 本文字数:1087 字

    阅读完需:约 4 分钟

微软在 VS 代码 1.7 版本中断了 npm 套件库的服务之后,推出了 VS 代码 1.7.1 版本。

VS 代码 1.7 版本提供的自动类型获取(ATA)功能,旨在监视开发人员的 package.json 文件,并自动将所有依赖项(dependencies)的类型声明文件(type declaration files)安装在文件系统上的缓存中。这不同于以前依靠开发人员手动安装类型声明文件来为 package.json 中的依赖项提供 IntelliSense。

以下摘录于项目经理 Wade Anderson 的微软 1.7 回滚事件报告,事件发生在他们团队在 V1.7 版本中将 ATA 功能推向市场之后:

11 月 2 日〜4:12 pm PST npm 与我们联系, 告知他们监测到巨大的套件库活动峰值,这些活动来自于试图在 @types 范围内访问不存在的包(package) 的客户端。峰值时,这些请求占所有流量的大约 10%(有趣的是,VS 代码用户发送请求的数量大约与 npm 监测到的印度的请求数量相同),并短暂地妨碍了他们的服务。

npm dev ops 迅速采取行动,以减轻无意的 DDoS 攻击,并判断该事件来源于 VS 代码 1.7 版本。关键原因是大量对不存在的包 (package) 的请求。

Anderson 解释说,TypeScript 语言服务器会先检查 package.json 中所列出的模块是否已在应用缓存中,然后再为那些不在缓存中的模块向 npm 发送请求:请求 @ types/{module},添加任何尚未存在的模块。

“每次打开一个项目或文件,会为不存在的模块发出请求,并预期着将新的类型声明文件添加到 @types 范围。这导致了 npm 响应 404 错误信息。鉴于不在 @types 范围内的模块数量很大,大量的 404 会短暂影响 npm 的可用性”,Anderson 说。

除了应对 ATA 的无意 DDoS 攻击之外,1.7 版本还实现了许多重要更新,包括在 HTML 中 CSS 的自动补全。现在开发人员可以看到 CSS 语言特性了,它用于嵌入到 HTML 中的 CSS 样式的自动补全、验证和着色注释,如下图所示。

根据微软的博客文章,该版本还包含“多目标调试”的初期实现。这功能允许在VS 代码的单个实例中同时活跃着多个调试进程。该更新使开发人员可以同时调试扩展及其调试适配器和/ 或语言服务器,同时还可以在单个项目文件夹中调试客户端和服务器,以及调试集群程序。

1.7 版本还提供了 Node.js 调试,把那些必要但极少改变的属性设置成灰色,删除不太常用的属性,并把重写和改进的文档以及注释链接到在线文档。

Anderson 说 VS 代码团队将与 Typescript 团队合作,为 ATA 寻找一个“令人满意的修复”。

查看英文原文 VS Code Breaks NPM registry


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-14 18:002009
用户头像

发布了 22 篇内容, 共 60752 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

统信软件高级工程师:关于云原生技术在容器方面的应用介绍 | 龙蜥技术

OpenAnolis小助手

云原生 容器技术 龙蜥大讲堂 统信软件 开源领域

大数据参加培训学习靠谱吗?

小谷哥

银行如何快速落地营销数字化?

中关村科金

人工智能 大数据 AI 数字化转型 数字化

YonBuilder移动开发平台 AVM框架 封装身份证号码虚拟输入键盘组件

YonBuilder低代码开发平台

AI 2022:浪潮奔涌,百舸争流

Baihai IDP

人工智能 AI 年终总结 AI 2022

超详细图文保姆级教程:App开发新手入门(三)

YonBuilder低代码开发平台

无代码优缺点及发展前景

间隔

疫情放开,户外全彩LED屏发展趋势

Dylan

LED display LED显示屏 户外LED显示屏

为什么NoSQL数据库这么受欢迎?

腾讯云数据库

数据库 nosql 腾讯云数据库

运维自动化之Kubernetes 云原生CICD部署管理系统

大V

golang DevOps CI/CD kubernetes 运维 webssh

如何使用YonBuilder进行报表分析?

YonBuilder低代码开发平台

YonBuilder应用构建教程之移动端基础配置

YonBuilder低代码开发平台

一文读懂什么是低代码开发?

YonBuilder低代码开发平台

超详细图文保姆级教程:App开发新手入门(四)

YonBuilder低代码开发平台

企业想要智慧化办公,首选华为云桌面Workspace!

科技怪授

内存多维数据分析引擎

元年技术洞察

大数据 数据中台 数字化转型 多维数据库

适合前端程序员培训的人群有哪些

小谷哥

启科QuSaaS真随机数解决方案与Amazon Braket结合实践

启科量子开发者官方号

人工智能 量子计算 随机数

优化器核心技术—Join Reorder

KaiwuDB

数据库原理及MySQL应用 | 约束

TiAmo

主键约束 数据库· 12月月更

希捷发布2023年数据市场趋势预测,指引企业数据决策

极客天地

手把手教你玩转 Excel 数据透视表

葡萄城技术团队

数据分析 Excel 数据可视化 数据透视表 可视化数据

跑付活动:跑付南宁(联营)健身服务中心盛大开业

极客天地

培训大数据技术后的职业规划介绍

小谷哥

YonBuilder移动开发 AVM框架 封装虚拟数字键盘组件

YonBuilder低代码开发平台

云原生媒体基础设施为华为云桌面护航

科技怪授

一键导出Gerber文件教学实操,我设计的PCB再也没出过问题!

华秋PCB

工具 PCB PCB设计

华为儿童手表5X系列“腕上学习天地”全新升级,首月0元畅享华为教育中心精品内容

最新动态

一文告诉你如何选择低代码供应商?

YonBuilder低代码开发平台

华为云桌面,助你畅享高清视觉体验!

科技怪授

华为云桌面,如何让云上办公变得高效、安全?

i生活i科技

Visual Studio中断NPM套件库服务_.NET_James Chesters_InfoQ精选文章