AICon 深圳站 Keynote 嘉宾官宣!共探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:001922
用户头像

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

关注

评论

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

🌏【架构师指南】分布式技术知识点总结(下)

码界西柚

分布式 架构设计 6月日更

BoCloud博云稳居中国容器软件市场份额TOP 5

BoCloud博云

容器

《转》HttpURLConnection自动重试机制

hasWhere

2021年版,拼多多/阿里/今日头条/京东 Java面经大合集(含答案)

Java架构师迁哥

必须加强对电商促销节的监管:保障普通消费者合法权益

石头IT视角

阿里云边缘容器服务ACK@Edge 通过33项测评,拿到“2021云边协同能力认证”

阿里巴巴中间件

百度智能云NIRO MAX机器人,打造智慧党建新体验!

百度大脑

人工智能 百度 机器人

C#开发之基于NPOI的操作Excel开发体验

吴脑的键客

C# Excel

互联网推送服务原理

hasWhere

细细阅读,3张图带你理解,零拷贝,mmap和sendFile

奔着腾讯去

c++ Linux Mmap C++后台开发 网络io

关于Redis分布式锁的那些事

Hex

redis 后端

WebRTC 传输安全机制第二话:深入显出 SRTP 协议

阿里云CloudImagine

音视频 WebRTC 通信 流媒体开发 SRS流媒体服务器

第六课作业

杰语

星环科技TDH8.0使用必读2: 10种数据模型全支持 未来属于多模型大数据平台

星环科技

大数据 边缘计算 知识图谱 数据管理平台 多模型数据

终端架构深研,CodeDay 成都站等你

蚂蚁集团移动开发平台 mPaaS

flutter mPaaS Codeday Meetup

iOS开发21年6月面试总结(未完待续~)

iOSer

ios 面试 ios开发 iOS 知识体系

专科小伙豪取三杀,斩获阿里、京东和蚂蚁Java岗offer的原因找到了!

北游学Java

Java 面试

数据库设计的 10 个最佳实践

xcbeyond

数据库 数据库设计 6月日更

阿里云中间件首席架构师李小平:企业为什么需要云原生?

阿里巴巴中间件

2021年5月云主机性能评测报告出炉,华为云跃居榜首

博睿数据

云主机 博睿数据 博睿指数

Flink User-Defined Source

Alex🐒

flink 翻译 Flink扩展 flink1.13

WebRTC学习—WebRTC详解

Linux服务器开发

音视频 WebRTC ffmpeg SRS流媒体服务器

一体化、标准化、可视化数据平台,博睿数据领跑智能运维新典范

博睿数据

博睿数据 数据链DNA dataview

在线图片坐标拾取工具

入门小站

移动开发iOS,薪资如何?待遇怎样!

ios开发 iOS 知识体系

80后自立门户,90后异军突起,中国投资新势力加速崛起 | 创业邦2021年40位40岁以下投资人重磅发布

创业邦

创业

网易有道开源EMLL:高性能端侧机器学习计算库,大幅提高计算性能

有道技术团队

人工智能 机器学习 高性能计算 端侧AI

WWDC21 给开发者最重要的7条新信息

阿里巴巴大淘宝技术

开发者 WWDC21

深入浅出 LVS 负载均衡(三)实操 NAT、DR 模型

UCloud技术

16倍效率提升体验,博睿数据APM成企业运维超级加速器

博睿数据

APM 博睿数据 数据链DNA

搭建Prometheus+Grafana的云平台监控系统

学神来啦

云计算 Linux 运维 开发日志

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