## Fly.io 与 Phoenix LiveView 的简化文件上传
Fly.io 强调了 Web 应用程序中文件上传的复杂挑战。虽然看似简单,但构建健壮的上传系统往往会导致复杂的设置,涉及多个服务,如 S3、状态机和各种处理工具。
为了简化这一问题,Fly.io 引入了 **LiveView Uploads**,以及最近的 **UploadWriter**。LiveView 使用 `allow_upload/3` 和 `live_file_input/1` 提供基本的文件上传功能,并内置了进度跟踪和临时文件清理。
然而,对于更复杂的场景——大文件、实时处理或多目标上传——**UploadWriter** 提供了一个强大的解决方案。它支持分块处理,允许开发者将文件直接流式传输到后端并控制其使用方式。示例展示了一个 `DoubleWriter`,可以同时将文件保存到本地 *并* 上传到 S3。
这种方法避免了复杂、拼凑系统的“灾难”,为处理任何大小的文件并实现实时处理能力提供了一条更清晰的路径。Fly.io 鼓励开发者尝试这些基本组件并分享他们的成果,强调他们的平台非常适合运行这些 Phoenix LiveView 应用程序。
## macOS Tahoe 界面:倒退一步
最近的 macOS Tahoe 更新,以“液态玻璃”界面为特色,令人深感失望。尽管有测试版反馈,但发布以及后续更新(26.1 和 26.2)都引入了几个可用性问题。
核心问题在于窗口圆角过度,迫使矩形内容适应不合适的形状——导致裁剪或浪费空间。控件尺寸增加但清晰度并未提高,造成重叠和视觉混乱。苹果追求视觉一致性的努力失败了,甚至同一应用程序*内部*的元素也显示出不同的圆角半径。
此外,重新设计的应用程序图标现在过于统一,阻碍了快速识别,并且界面遭受“白化”效应——缺乏色调对比,使元素难以区分,尤其是在浅色模式下。透明效果虽然可能具有吸引力,但会产生令人困惑的“湿碰湿”分层,尤其是在系统设置中,而且减少透明度的辅助选项现在无效。
最终,Tahoe 优先考虑美观性而非功能性,导致用户体验变得不清晰、可访问性降低且效率降低。作者哀叹界面质量较以前的 macOS 版本有所下降。
## MacThrottle:探索MacBook散热性能的旅程
本文详细介绍了MacThrottle的创建过程,它是一款菜单栏应用程序,旨在监控Apple Silicon Mac的散热限制。作者在使用高要求的4K显示器时,遇到了性能下降的问题,发现标准的macOS工具(如`ProcessInfo.thermalState`)与`powermetrics`提供的更详细数据不一致。
在探索了各种方法,包括需要root权限的辅助工具和命令行工具后,作者利用Darwin通知可靠地访问散热压力等级,而无需管理员权限。该应用程序通过颜色编码的温度计图标显示这些信息,以及CPU温度(使用SMC和IOKit)和风扇转速图表。
进一步的增强功能包括状态变化的macOS通知以及通过`SMAppService`轻松自动启动。虽然由于缺乏公证而导致分发变得复杂,但该项目提供了清晰的安装和从源代码构建说明。MacThrottle提供了一种快速、直观的方式来了解Mac的散热状态并识别潜在的性能瓶颈。