阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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:001496
用户头像

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

关注

评论

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

结合RocketMQ 源码,带你了解并发编程的三大神器

华为云开发者联盟

RocketMQ 开发 华为云 12 月 PK 榜

在一次又一次的失败中,我总结了这份万字的《MySQL性能调优笔记》

钟奕礼

Java 程序员 java面试 java编程

国产开源操作系统OpenCloudOS新进展:装机量超1000万节点,合作伙伴超500 家

科技热闻

WeLink助力中建西南院成功举办数字赋能培训

i生活i科技

SEAL 0.3 正式发布:国内首个全链路软件供应链安全管理平台

SEAL安全

安全 全链路 软件供应链 SEAL

一张「有想法」的表单,玩出线上填表新花样

爱科技的水月

使用 Databend 加速 Hive 查询

Databend

华为云发布《高可用网站架构云化解决方案》

爱尚科技

腾讯云升级发布两大区块链产品,助力产业区块链数字化生态建设

科技热闻

技术内幕 | 阿里云EMR StarRocks 极速数据湖分析

StarRocks

#数据库

刘德华在线演唱会,火山引擎边缘云助力打造极致视频直播体验

火山引擎边缘云

云原生 边缘计算 节点 火山引擎边缘计算

星环科技数据中台解决方案,助力某政府机构建设新型智慧城市

星环科技

三翼鸟,用两年开启下一个十年

脑极体

三江学院计算机科学与工程学院举办“火焰杯”软件测试开发选拔赛颁奖仪式

霍格沃兹测试开发学社

基于云原生的火山引擎边缘云应用与实践

火山引擎边缘云

分布式 云原生 边缘计算 节点 火山引擎边缘计算

雾霾对户外LED显示屏的考验

Dylan

LED LED显示屏 户外LED显示屏

从React源码来学hooks是不是更香呢

goClient1992

React

火山引擎DataTester揭秘:字节如何用A/B测试,解决增长问题的?

字节跳动数据平台

大数据 AB testing实战 12 月 PK 榜

BSN开放联盟链“中移链”浏览器2.0正式发布!

BSN研习社

BSN 中移链

iOS 查找字符串出现的范围

刿刀

ios swift

解读数仓中的数据对象及相关关系

华为云开发者联盟

数据库 后端 华为云 数据对象 12 月 PK 榜

购物季订单多管理难?用WeLink轻松搞定

科技怪授

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

BSN-DDC基础网络DDC SDK详细设计(七):数据解析

BSN研习社

BSN-DDC

从React源码分析看useEffect

goClient1992

React

一线大厂为什么面试必问分布式?

钟奕礼

Java 程序员 java面试 java编程

【11.25-12.02】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

WeLink&SKG,让年轻人爱上养生

i生活i科技

译文 | A poor man's API

API7.ai 技术团队

API APISIX RESTful API

源码级解决方案一键部署,华为云Solution as Code正式上线

科技怪授

华为云发布《基于MetaTown构建数字资产平台》

爱尚科技

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