Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

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

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

关注

评论

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

得物数据库中间件平台“彩虹桥”演进之路

得物技术

数据库 云原生 中间件 得物 彩虹桥

来了,MyBatisPlus的join联表查询

冉然学Java

Java mybatis 编程、 Fork/Join框架

架构“浴火重生”宝典名不虚传!GitHub开源半日标星竟已超300k!

冉然学Java

Java 架构 笔记分享 #Github #开源

数据库每日一题---第22天:最后一次登录

知心宝贝

数据库 算法 前端 后端 7月月更

推荐一个鸿蒙即时通讯软件《果聊》,有点屌呢!!

坚果

OpenHarmony 7月月更 harmony

秒懂 Git 与 Gitee

攻城狮杰森

git gitee 7月月更 入门教程

用友网络:把握穿越周期的关键,高研发投入下的发展韧性

Lily

浅谈:NFT元宇宙链游系统开发原理

开发微hkkf5566

Rancher2.6 Monitoring Grafana 对接 LDAP

Rancher

Kubernetes k8s rancher

来TDengine 开发者大会,探索数据架构的迭代升级

TDengine

数据库 物联网 ​TDengine

Python丨实用技巧Tips

AXYZdong

Python 7月月更

React Native 跨端框架与小程序混编实战

Speedoooo

flutter 小程序 React Native APP开发

IDC 发布《云原生 AI - 加速 AI 工程化落地》报告,百度智能云领跑云原生 AI 能力

Baidu AICLOUD

异构计算 AI加速 云原生AI

浅析eTS的起源和演进

HarmonyOS开发者

HarmonyOS

Python基础详解(一)

五分钟学大数据

Python 7月月更

web前端培训从 Vue CLI 怎样迁移到 Vite

@零度

前端开发 vite

java培训JVM中方法调用的深入理解

@零度

JVM JAVA开发

墨天轮沙龙 | 北京大学李文杰:面向知识图谱应用的图数据库系统gStore

墨天轮

数据库 图数据库 知识图谱 开源数据库 国产数据库

双引擎 GPU 容器虚拟化,用户态和内核态的技术解析和实践分享

Baidu AICLOUD

异构计算 AI加速 GPU容器虚拟化

AI简报-how to use Loss Surfaces 一种模型集成

AIWeker

AI简报 7月月更

Pro 多店版系统,功能全才非它莫属!

CRMEB

Neuron 2.1.0发布:支持Sparkplug B规范,更完善的工业协议支持

EMQ映云科技

物联网 IoT 工业 7月月更 版本发布

OneFlow源码一览:GDB编译调试

OneFlow

源码 编译调试 框架解析

渗透测试(PenTest)基础指南

SEAL安全

网络安全 DevSecOps 渗透测试 开源软件供应链 软件供应链安全

百度APP iOS端内存优化实践-大块内存监控方案

百度Geek说

ios

Android-聊聊自动化测试真经

芝麻粒儿

android 7月月更

AWS Trusted Advisor

冯亮

云计算 DevOps AWS

亚马逊云科技如何通过智能营销帮助苏泊尔实现年产破亿?

Lily

北京银行推出“智策”零售数字化运营体系 加速推进数字化转型发展

易观分析

数字化转型

户外全彩LED显示屏显示功能

Dylan

全彩LED显示屏 户外LED显示屏

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