混沌周刊 #21 | 用爱发电

Hello,欢迎来到第21期的《混沌周刊》。《混沌周刊》是一个试图从开发者角度为你带来这个世界上发生着什么,发生过什么,以及未来可能会发生什么的栏目,每周更新。您可以通过首页的RSSTwitterTelegram频道和电子邮件等方式订阅。如果您觉得本周刊对自己有所帮助,请不吝推荐给其他人,多谢。

💵 那些用爱发电的

上一期我们提到了Log4j漏洞造成的广泛影响。如果有朋友不太理解这个漏洞的原因和后果,推荐阅读这篇科普文章,用门卫做比喻,讲得相当清楚。

在漏洞曝光之后,有人深挖,发现Log4j的维护者在GitHub上仅有三个捐助者,因此再次引发了有关开源项目维护者生存状态的讨论。为什么说再次?因为这是一个老生常谈的话题,而且在不久之前就发生过另一件事:有用户在Twitter上向苹果官方客服询问Mac上curl工具的问题,结果客服让他去联系curl的作者。作者对苹果让他当免费客服的做法非常不满,并且表示虽然macOS附带了curl,但这家市值近三万亿美元的企业从未向他们捐赠过一分钱。

这算某种道德绑架吗?也许吧。但大企业从小开发者身上近乎免费地获取资源,怎么看都不是一件健康的事。在第五期我们也讨论过这个问题。一个健康的开源生态不应该完全依赖Red Hat这样有追求的公司捐款而运行。

而更「细思极恐」的是,像Log4j这样众人依赖的软件包出事了,终于得到关注。而那些没有出问题的包作者呢?这样看来,几年前的left-pad事件也不是没有意义。

🌏 那些来自互联网的

一位Apple Music用户持续不断地给Tim Cook写信,表达他对Apple Music软件质量的不满意。终于,努力得到了重视和回复。也许2022年我们就能看到这些改进——也许不用。这是他的意见原文

ARM公司加入了Rust基金会

说到手机上的隐私权限,你会想到什么:录音?摄像头?通讯录?但还有人说,平平无奇的加速度计也可能会出卖你的隐私,但目前没有权限控制它。

有一个固定公式可以让你根据年、月、日算出这一天是星期几。

💡 那些发新版本的

  • 由Xamarin Studio改名而来的Visual Studio for Mac 2022发布了第四个Beta版本,但还没有原生支持M1芯片。
  • Ruby on Rails 7.0发布,包括多项众人期待的功能进化。DHH甚至还专门做了新的Rails Demo视频,联想2005年「15分钟用Rails构建一个博客」的Demo,算是文艺复兴了。两个视频里,DHH用的都还是TextMate.
    • 最主要的改进是重新设计了默认的前端解决方案,从上一代的Webpacker(Rails对Webpack的封装)到现在的Hotwire,在importmap的帮助下,甚至默认可以不需要NodeJS运行环境,这对不喜好重前端的朋友们而言是个好消息。与此同时,Webpack、esbuild等前端构建方案依然被兼容,甚至也可以在rails new时加入--css tailwind选项以启用Tailwind CSS;如果想要彻底的前后端分离,也可以使用Rails 5加入的--api选项。
    • 除此之外的重要改进在ORM层,现在Rails的ORM框架ActiveRecord支持运行时加密和异步查询了。
  • Xcode 13.2发布,支持将Swift 5.5的并发支持(async/await/actor)向后移植到最低兼容iOS 13的App上。
  • Swift Playground 4发布,终于可以用iPad写SwiftUI应用了。以前只能局部预览,而现在可以完整编写和提交审核一个基于SwiftUI的iOS应用。
    • Playground使用的项目格式不再是此前的xcodeproj,而是后缀为swiftpm的包。新版Xcode也可以打开这类包(macOS的Playground居然不行),但功能受限较多:只能添加assets和swift源码,可以引用其他Swift包,无法设置兼容性(最低iOS 15),左侧的文件列表终于无法调整顺序了(强迫症福音),无法添加target(也就是无法包含单元测试)。详见这里的分析。总的而言,新的包格式比旧格式轻量很多,改进几轮之后应该能克服旧格式的不少缺点。
    • 其实,新版Playground的另一个隐含意义在于,其为iPadOS的侧加载开了一个小口子:Playground上构建出的是一个完整可执行文件,因此iPad用户们获得了一种不用经过App Store、不需要Mac和开发者账号,只需要获得源码即可运行一个App的新方式。笔者多次关注过iPad与生产力的话题,而其中绕不过的就是放开一部分侧载权限。目前官方对此的态度还很强硬,但后续如何,我们拭目以待。
  • macOS Monterey 12.2 Developer Beta 1发布,值得一提的更新内容,是Apple Music应用终于从iTunes继承下来的Web套壳界面转变为原生界面。
  • Go语言发布1.18 Beta 1,最重要的改变是支持泛型

那我们,下期再见。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注