总想搞个大新闻的安全漏洞与被封装的未来 | RTE 技术环境月报202204

banner

各位开发者小伙伴:

这里是 RTE 技术观察者主笔的《技术环境月报》——致力于成为对大家“有用”的 Highlight 看板——每月初通过 RTC 开发者社区和声网微信服务号(AgoraIO)发布,恳请大伙儿多转发、多反馈。由于文中内容包含较多信源超链接、建议大家前往 RTC 开发者社区或使用我们的邮件订阅服务,喜欢用邮件的小伙伴请点击订阅「RTE技术环境月报」

对于任何反馈(包括但不限于内容上、形式上)我们不胜感激、并有小惊喜回馈,例如你希望从“技术环境月报”中看到哪些内容;自己推荐的信源话题会议等;或者列举几个你喜欢看、平时常看的内容渠道;内容排版或呈现形式上有哪些可以改进的地方等。

文中点评仅代表观察者个人,如有不同意见,欢迎大家各种留言跟帖反馈。希望此后的日子里,《技术环境月报》能与各位如期相见、偶尔启发。以下为月报正文:


00. 本月好文推荐:《一个被封装的未来:这一切都超过了作为编程术语的「封装」》

一个技术里用到的零件组合或者软件组件,如果被用得足够多,就会‘凝固’成独立的单元,随着时间的推移会变成标准组件。封装和分工的浪潮持续了几十年,全球化进一步强化了这个模式,这种封装集合的演进,到最后就是对“人”的封装——个体不再是全面而自由的独立人,而是数字、标签、图标;被封装的人变成了需要被占领的用户“心智”。只有“他者”的心智才需要被影响,可一旦用户从人变成需要被影响的“他者”心智,又该如何共情呢?

封装掩盖了背后的繁复,我们每个人都会遇到自己不理解且怀疑的新技术,而即时通讯太常见了,常见到我们忽略了它其实是互联网应用中技术难度最高的之一。可问题在于,现代化封装的时候从来没有许诺过它会永远顺利运行。如果这种封装失效变得越来越普遍,那也许是时候反思封装的集合了。意识到问题存在、世界不是那么可靠不难;难的是,没人能给出确保封装从不失效的解决办法。在一个被封装的世界里,解封需要莫大的勇气和能力

01. 【音视频】编解码技术的迭代才是真的降维打击


  • WebRTC 走向繁荣的三个因素:最核心的因素难道不是除此之外并没有更好的选择吗?从技术的角度来看,从头构建一个媒体引擎是十分困难的事情,WebRTC 的出现使得在浏览器中讨论这件事变得更容易。《Jitsi 20 年的 RTC 之路》这篇内容从开放标准、开源、金钱的三个角度讨论了 Jitsi 的发展以及他们在过去 20 年中花费在开源实时通信上吸取的经验和教训。
  • 近期 VideoLAN 社区和 FFmpeg 宣布 dav1d 库的 1.0.0 版正式交付,作为 AV1 的一种免费解码器实现,dav1d 库支持 AV1 的所有功能,dav1d 的一个亮点是专注于性能,在解码速率和多线程操作方面提升明显。
  • Mozilla 计划在今年5月初发布的 Firefox100 中正式加入 AV1 视频格式的硬件加速支持,此举比 Chrome 和 Edge 晚了大约2年时间,Mozilla 数月前表示由于 AV1 的支持对硬件的要求较高,仅有不到2%的 PC 满足要求,因此 Firefox 对 AV1 支持的优先级被放缓。
  • 近期英伟达研究院宣布了 Instant NeRF(Instant Neural Graphics Primitives)技术——通过训练一个小型神经网络、预测 3D 空间任意点向任意方向辐射的光线颜色来重建场景,能在数秒内使用多幅 2D 照片转创建 3D 模型;源代码已发布在 GitHub 上。根据 2D 照片创建 3D 场景的技术被称为逆向渲染(Inverse Rendering),传统方法需要数小时甚至更长时间。
  • AMD 在去年发布了 FidelityFX Super Resolution(FSR),运用空间提升算法实现超高画质的边缘和细节,在游戏中有较多的应用;近期 AMD 宣布 FSR 2.0 将在第二季度正式推出。FSR 不同于英伟达的 DLSS(Deep Learning Super Sampling),它采用了传统图像处理算法,其优点是容易整合到游戏中,支持旧显卡,甚至包括竞争对手的旧显卡。
  • 有用户发现,微软正在测试将 Skype 会议功能集成到其 Edge 浏览器(Canary 版本)中;在去年的11月刊中我们也曾提过 Edge 上线的 BNPL(Buy now, pay later)功能被用户骂为无耻地抢钱,用户认为 Edge 团队没有专注于改进浏览器体验本身,反而添加了各种臃肿的功能。不知道这次要添加的会议功能用户是否买账。

02. 【大前端】前端之所以难因为要面对的不止是人(用户)还有底层系统


  • 回顾浏览器 Firefox 的 UI/UX 史,毋庸讳言,UI 的一致性是防止社区分裂以及用户流失的方法之一。虽然我们不愿承认,但这就是一个看脸的时代,同时也是审美缺失的时代。
  • 据统计,在 Firefox 项目中 Rust 的占比已经接近10%,C++ 和 JS 占据大头、二者合计超过了50%。上一个令我如此惊讶的还是 JS 这门语言。
  • 成功的系统不是有一些特别闪光的地方,而是设计时点点滴滴的努力积累起来的。如何设计出更好的 API 呢?这里有15条建议。API 是软件系统的核心,而软件系统的复杂度是大规模软件系统能否成功最重要的因素。在系统设计尤其是 API 设计层面很多小的考量一点点叠加起来,便会塑造出一个优秀或糟糕的系统。
  • WebGPU 是一个让网页可以使用系统 GPU 来实现计算和绘制复杂图形并呈现在网页内部的 Web API 提案。其目标和 WebGL 家族的 API 类似,但 WebGPU 可以访问更多更高级的 GPU 特性。无独有偶 Vast.ai 是一家提供在线 GPU 服(租)务(赁)的公司,公司宣称能为用户降低3~5倍的成本。
  • 在近期举行的英伟达 GTC(GPU Technology Conference)大会上,芯片巨人推出了专为 AI 打造的新一代数据中心 CPU 产品,你没看错,是 CPU 而非 GPU 产品。

03. 【网络】人们不再像以前拥抱新事物那样拥抱 Web3 了


  • 在 2021 年,超过 270 亿美元的风投资金大部分都流向了 Web3 项目;一些大型科技公司如 Twitter 和 Reddit 也开始尝试自己的 Web3 项目。纽约时报的专栏作者撰写了这篇《什么是 Web3》的文章,Web3 的投资者 Packy McCormick 将其定义为“由代币精心策划、由建设者和用户拥有的互联网”,理想主义者认为 Web3 将开创一个新的、无中间人的数字经济;但批评者认为,Web3 只不过是对加密货币的品牌重塑,其目的是让人们相信区块链是计算的下一个阶段。
  • Happening 的创始人、同时也是开发者的 Jay Graber 在博文《Web3 is Self-Certifying》中指出,关于“Web3 去中心化身份”的讨论不是关于数据的而是关于信任和权利的,因为 Web2 已经很好地解决了数据的流动问题,Web2 的困境是未能解决信任和权利的流动问题。
  • 字节跳动宣布将于6月开源其 HTTP 框架 Hertz —— 作为代替 Ginex 的 Golang HTTP 框架,Hertz 的设计思路和 KiteX 相似。它借鉴了开源项目 Gin、FastHTTP 的优势,引入了 Netpoll、内存池、零拷贝等技术,因此有着较高的性能。字节的测试数据显示,同等配置下,Hertz 的极限 QPS 是 Ginex 的两倍,平均延时则只有 Ginex 的一半,字节跳动的测试显示,在小包和中包场景下,Hertz 相比 FastHTTP 有 30~50% 以上的 QPS 提升;在大包场景双方差距不大,Hertz 在平均时延上占优。
  • Akamai 9亿美元收购 Linode 构建分布式计算平台,这个曾经的 CDN 厂商已经完成了从云到边的布局。

04. 【开发】关注数据和云


  • 《Shopify 的数据科学与工程实践》是 HN 上近期的一篇热门贴,介绍了 Shopify 在数据建模、数据一致性与开放访问、严格的数据处理流程等方面的所做的工作。一些大中企业开始逐渐用数据湖库(Data Lakehouse)取代数据仓库(Data Warehouses),支持更快的开发和近乎实时的分析,以较低的成本存储并处理结构化和非结构化数据,但需要注意不同业务类型的底层数据结构和治理并不完全相同。
  • Flexera 的一份调查报告显示,在公有云市场 Azure 以80%的采用率首次超越 AWS(77%),同时,在私有云市场方面微软的 Azure Stack 也以 37% 的采用率超过了 VMware(31%)。但 AWS 仍是全球最大的云供应商,Synergy Research 数据显示,亚马逊、微软、谷歌三家共占全球云支出的一半以上。
  • 那些运行在浏览器里的代码编辑器,哪个更适合你?重剑无锋的 IDE 要成为过去时了吗,Web 才是终极目的?
  • 聪明的开发者为何会做出错误的决策?到底是不是墨菲定律?
  • 除了 License 模型,Java 17 相比 Java 11有哪些变化值得关注。

05. 【安全&其他】总想搞个大新闻的安全漏洞


  • 国内安全专家(日娃、云舒等)近期在社交媒体上发帖称,轻量级 Java EE 开源框架 Spring 被曝存在一个影响范围超过 Log4J2 的 RCE 0day 漏洞,JDK9 及以上的版本均存在风险。但也有部分安全专家认为这种说法危言耸听,漏洞的危害被夸大了。3月31日晚间,CNVD 发布了该漏洞的公告,版本低于 5.3.18 和 5.2.20 的 Spring 框架或其衍生框架会受到影响,Spring 官方已发布新版本修复了漏洞
  • 针对 Spring 的漏洞可谓不一而足,长期以来 Java 序列化问题导致的此类漏洞十分普遍。有人整理了一个 Spring 框架漏洞集合,感兴趣的可以翻阅一下。

06. 近期值得关注的会议

07. 开源项目推荐

  • EasyMDE - 这是一个非常好用的开源 Web 端 Markdown 编辑器,包括一个 Vue3 的组件。
  • FoundationDB:一个分布式非捆绑事务键值存储,旨在将事务处理与日志记录和存储分离,实现了读写处理的分离和水平扩展。
  • AnimateSQL - 这是一个可视化的 SQL 查询使用工具。