## Bazel 宏:传统宏与符号宏 Bazel 提供两种类型的宏:**传统宏**(Starlark 函数)和 **符号宏**(Bazel 8 中引入)。现在推荐使用符号宏,以提高清晰度和控制力。它们提供类型化的参数,并允许定义目标可见性,作为 Bazel 直接理解的“一流”宏。 主要区别包括 **命名限制**(符号宏目标必须与宏的名称相关 – 例如 `macro_name_target`)、更严格的 **资源访问**(需要显式参数或公共可见性)以及 **参数处理** 的变化。符号宏不支持位置参数,默认值定义在 `attrs` 字典中,而不是实现函数中。参数的可变性也受到限制 – 禁止修改传入的字典。 像 **buildozer** 这样的工具对于重构至关重要,允许查询和修改 BUILD 文件以识别宏调用、打印属性值,甚至在迁移期间删除属性。虽然传统宏仍然受支持,但过渡到符号宏可以提供更健壮和可维护的构建系统。组织可以选择逐步迁移,根据需要组合这两种类型。
## 从犯罪分析师转型到数据科学家
对于希望转型到数据科学领域的犯罪分析师来说,SQL和Excel等核心技能是一个好的起点,但还不够。掌握一种编程语言——特别是Python——至关重要,并且展示对机器学习或大型语言模型(LLM)的了解将大大提高你的市场竞争力。目前,专注于LLM API、RAG系统和提示工程可能比传统的机器学习更有价值。
虽然通常更喜欢硕士学位,但一个强大的作品集(网站、GitHub贡献)可以弥补不足。现在就开始申请“分析师”职位,即使你没有满足所有要求——职位发布的信息通常不准确。考虑大型公司以获得更好的职业发展道路,并针对与犯罪分析相关的公司(例如LexisNexis、ESRI、Axon)。
alt-ac newsletter以及之前的博客文章(涵盖职位选择和作品集构建)可以提供进一步的指导。不要害怕利用你现有的分析背景来获得高级分析师职位,同时继续你的数据科学教育。