Git 提供了三个层级的忽略文件设置,支持仓库级和全局配置: 1. **.gitignore:** 位于仓库根目录,会被提交到版本控制中,适用于该仓库的所有用户。 2. **.git/info/exclude:** 仅对特定仓库有效,不会被 Git 追踪。适合用于忽略个人工作流中特有的文件(例如个人笔记),且不会影响他人。 3. **~/.config/git/ignore:** 全局配置文件,适用于本机的所有仓库。用于忽略系统生成的特定文件(如 `.DS_Store`)。你可以使用 `git config --global core.excludesFile` 来自定义此文件的位置。 若要确定某个文件是由哪个配置文件忽略的,请使用以下命令: `git check-ignore -v <文件名>` 该命令会输出导致忽略规则的具体文件路径及行号。如果命令没有输出任何内容,则说明该文件未被上述任何来源所忽略。
建议优先使用 `System.MathF` 而非 `UnityEngine.Mathf` 以获得更好的性能,这种说法大致正确,但 Unity 数学实现的实际情况非常复杂且不统一。
Unity 的性能表现会根据脚本后端(Mono、IL2CPP 或 Burst)及所用库的不同而产生显著差异。虽然 `UnityEngine.Mathf` 在 Mono 中常会执行不必要的浮点数到双精度浮点数的转换,但 Unity 的各种编译器往往会应用“特殊”优化,从而以不可预知的方式改变代码行为:
* **Burst:** 高效但缺乏统一性;它将 `Unity.Mathematics` 视为原生单精度处理,但完全不支持 `System.MathF`。
* **IL2CPP:** 有时会将 `Mathf` 方法优化为原生单精度指令,但会为 `System.MathF` 和 `Unity.Mathematics` 增加开销(例如延迟类初始化)。
* **Mono:** 长期以来受限于强制对所有计算进行双精度处理,导致了显著的性能开销。
**要点总结:**
1. **追求极致性能:** 使用 **Burst + `Unity.Mathematics`**。
2. **常规代码:** 如果不使用 Burst,`System.MathF` 通常比 `UnityEngine.Mathf` 更快。
3. **未来趋势:** Unity 向 CoreCLR 的过渡最终应当会标准化这些行为,但就目前而言,“最佳”选择仍取决于您的具体目标平台和编译器设置。
微型博客平台 W Social 自诩为欧洲版、主打隐私保护的 X(原推特)替代品,但其透明度和商业模式引发了重大质疑。尽管该平台声称致力于推动“欧洲数字主权”,却悄然从 GitHub 上移除了开源代码,转向闭源模式,这与欧盟对开源基础设施的承诺背道而驰。
记者埃琳娜·罗西尼(Elena Rossini)强调,包括欧盟委员会和欧洲中央银行在内的高级别机构账户迁移至 W Social 的行为十分可疑。鉴于“Eurosky”等具备完全透明度的开源替代方案已经存在,这一举动引发了巨大争议。包括阿拉尔·巴尔坎(Aral Balkan)在内的批评者指出,W Social 的顾问委员会成员与大型科技公司及 Worldcoin 等涉及重度监控的项目有关联,这加剧了外界对其仅是一个“欧洲监视资本主义”初创企业的担忧。
通过优先进行身份验证并保持技术栈不透明,W Social 似乎偏离了实现真正数字自治所必需的、以公共利益为导向的道德标准。罗西尼质疑,这些政府机构在将数据迁移到一个开发路线图不明的平台之前,是否进行了充分的尽职调查。
作者分享了使用开发中的 Emacs 31 作为主力编辑器的体验。通过将自定义配置替换为原生功能,作者正在简化其“Emacs Solo”设置,并减少对外部插件的依赖。
即将发布的版本主要亮点包括:
* **Tree-sitter 改进**:核心支持自动安装和管理语法,显著减少了配置流程。
* **Markdown-ts-mode**:一种新的实验性主要模式,具备类似 Org 的导航、内嵌图片查看和智能代码块高亮功能。
* **更好的补全与用户体验**:增强了迷你缓冲区(minibuffer)补全、垂直 `icomplete` 以及新的窗口管理命令(旋转、翻转、转置)。
* **生产力工具**:停靠式 `speedbar`、用于重构的可编辑 `xref` 缓冲区以及光标处的 `eldoc` 显示。
* **优化**:原生支持终端工具提示、持久化的 IELM 历史记录以及改进的版本控制(VC)工作流。
作者强调,看到 Emacs 核心不断演进并吸收自定义补丁是一种乐趣,这让他们在每次新版本发布时都能删减大量的配置代码。作者鼓励用户尽早测试这些功能,以帮助稳定即将发布的版本。