肘子的话
一周前,我收到 12123 交警 App 的提醒,告知我需要更换驾照了。距离上次换证已经过去了十年,这期间,无论是有关驾照的法规还是驾照体检的方式,都发生了显著的变化。
近年来,交警部门大力推广非接触式自助体检系统。受新冠疫情的影响,这种检验方式已经逐渐成为主流。在我所在的城市,目前约有 20 个自助式体检站,而传统的人工检查点则只剩下了三个。
然而,自助体检设备并不能完全适应所有驾驶员的需求。由于我患有色弱,只能选择人工检测。尽管中国的交通法规允许色弱者持有驾照(仅红绿色盲不符合要求),但作为一个已有 28 年驾龄的老驾驶员,在过去的多次检测中,我常因颜色辨别问题而需要反复向医生解释( 因为仅有色弱测试卡一种检测手段 ),以证明自己能够正确分辨颜色。本以为这次检测还会有类似的麻烦,但医生在了解我的情况后,直接拿出了一堆彩色画笔,让我从中挑选出红色和绿色即可。这个小小的变化让我感到欣喜,它不仅体现了法律执行层面的精细化,改善了特定群体的检测体验,提高了效率,更杜绝了权力寻租的可能,可谓一举多得。
在我的新驾照上,下次换证(体检)日期被标注为 20 年后。这是因为届时我的年龄已达到了每年一检的门槛。乍一看,每年一检确实很麻烦,但仔细一想,随着自动驾驶技术的迅猛发展,20 年后的法规、检测方式和手段一定会发生革命性的变化。
再过几年,我们或许将见证驾照体系的重大转型:从现今基于车辆尺寸(功能)的等级区分,转变为依据车辆自动驾驶能力来划分。与此同时,体检方式也可能从当前的基于特定自助设备,演变为基于个人智能设备的便捷检测。想象一下,未来我们只需通过智能手机或可穿戴设备,就能完成全面的驾驶适应性评估,既方便快捷,又能实时监测驾驶员状态,确保道路安全。
更换驾照看似生活中的一件小事,但透过这个微小的窗口,我们可以窥见社会变迁的缩影。近年来,身份证、驾驶证、医保卡等各种证件的全面电子化,悄无声息地改变着我们的生活、工作、社交和旅行方式。这些变革给人们带来了实实在在的便利。
我欣然拥抱这些进步,同时也期待看到更多类似本次辨色能力检查这样的人性化调整。在科技飞速发展的今天,我们不应忘记关注每一个个体的需求,让社会的进步更具温度和人文关怀。
近期推荐
更新:掌握 TipKit
在 2024 年的 WWDC 上,TipKit 框架功能得到了显著的增强。本系列文章(包括进阶篇)已根据最新的更新进行了全面修订。除了新增了 TipGroup、网络数据同步等内容,还进一步阐明了一些基础概念,如:基于标识符的 Tip 识别机制(Tip复用)、事件与 Tip 的独立性等。
🪜 为什么大家都喜欢 VisionPro 上的 Gucci 应用 ( Why we all love Gucci app on VisionPro )
自 Apple Vision Pro 发售以来已过去半年,开发者们在此平台上不断探索并创造出更适合这种设备和用户需求的应用。在众多尝试中,奢侈品牌 Gucci 的应用因其独树一帜的设计和叙事方式而显得格外突出,为时尚和生活方式应用设立了新的标杆。Puffinwalker 通过上下两篇文章(下篇)深入分析了 Gucci 应用的魅力,并与市场上其他类似应用进行了对比,探讨了为何用户在体验其他优秀应用时常会以“Gucci”作为高标准的参照。
🪜 在求职面试中通过检查他们的应用程序包来给人留下深刻印象 ( Impress at Job Interviews by Inspecting their App Bundle )
.ipa
文件是 iOS 应用程序的打包格式,全称为 iOS App Store Package。开发者在完成 iOS 应用的开发后,通常会将所有相关文件打包成 .ipa
文件,并上传到 Apple 的 App Store 或通过其他方式分发。在本文中,Jacob Bartlett 详细介绍了如何获取和分析 .ipa
文件,并进行优化。作者认为,掌握这些技巧可以帮助开发者在技术面试中展示其专业能力,从而给面试官留下深刻印象。
在上周的另一篇文章 Profiling app size on iOS 中,Alexey Alter-Pesotskiy 展示了使用其他工具对应用或 SDK 大小进行详细分析的方法。
使用 Darwin 通知在 iOS 应用和扩展之间发送数据 ( Send data Between iOS Apps and Extensions Using Darwin Notifications )
Darwin 通知为 iOS 设备上的不同进程提供了一个系统范围内的通信机制,特别适合于应用和其扩展之间的信息传输。与仅限于同一应用内部通信的 NSNotificationCenter 不同,Darwin 通知能够跨进程工作,但它不支持发送带有额外数据(如 userInfo 字典)的通知。在本文中,Rizwan Ahmed 不仅详细介绍了 Darwin 通知的工作原理和实现方法,还强调了它在整个应用生态系统中的重要性和实用性。
在 iOS 18 控制中心小部件中使用自定义符号 ( Using Custom Symbols in iOS 18’s Control Center Widgets )
iOS 18 引入了允许应用创建自己的控制中心小部件的功能。Quentin Zervaas 在本文中介绍了如何利用 SF 符号系统将普通图标批量转换成符合系统要求的自定义符号。这涉及到使用专门的工具(如 SwiftDraw)和设置适当的资源目录来实现符号的正确集成和显示。通过这些步骤,开发者可以为他们的控制中心小部件提供更加个性化和动态的视觉体验。
🪜 赢在初始化 ( init() to Win It )
SwiftUI 的声明性特征常常误导开发者忽略自定义视图类型初始化器的必要性,从而产生了一种观念,认为视图类型的初始化器是多余的。在这篇文章中,Danny Bolella 针对这一误解进行了澄清,并深入探讨了 SwiftUI 视图类型初始化器的复杂性。文章强调,即使在简洁的 SwiftUI 框架中,正确地管理初始化器和状态对构建高效且功能完善的应用来说仍然至关重要。
使用 SwiftNIO 处理 UDP ( Working with UDP in SwiftNIO )
UDP 是一种比 TCP 更简单的协议,它不执行送达确认,因此在数据传输上能够提供更高的速度,虽然这种方式可能会导致数据丢失。在这篇文章中,Joannis Orlandos 深入探讨了 TCP 与 UDP 的区别,并指导如何使用 SwiftNIO 构建一个 UDP 服务器。文章中展示了如何实现一个简单的 UDP 回声服务器,该服务器接收数据包,读取字符串内容,并将其反转后发送回客户端。