首页 文章 精选 留言 我的

精选列表

搜索[混合专家],共10000篇文章
优秀的个人博客,低调大师

测试专家必看:测试数据生成的未来已来

在自动化测试持续深化、DevOps与AI工程化加速落地的今天,一个长期被低估却日益关键的瓶颈正浮出水面——测试数据。它不像测试框架或CI/CD流水线那样引人注目,却真实制约着测试覆盖率、用例有效性乃至上线质量。正如某头部金融平台在一次灰度发布后遭遇的‘幽灵缺陷’:所有自动化用例100%通过,但真实用户提交含特殊Unicode地址字段的订单时触发了服务端空指针——根源竟是测试数据生成器始终用ASCII模板填充‘收货地址’,从未覆盖UTF-8多语言边界场景。

优秀的个人博客,低调大师

OpenAI 高薪招募安全专家以应对 AI 自我进化风险

当 GPT-4 这样的大模型已经能够在多数认知任务上与人类比肩,AI 领域的研究者开始认真面对一个此前更多出现在科幻叙事中的命题:如果 AI 系统具备递归式自我改进的能力,人类社会是否已经做好了准备?OpenAI 近期宣布的高薪招募计划,正是对这一挑战的直接回应。 OpenAI 正在面向全球招募安全研究员,专门研究 AI 递归式自我改进带来的风险。这个岗位被明确归入 Preparedenss 团队,核心职责涵盖四个方向:防止 AI 模型造成严重危害、保护模型免受数据投毒攻击、开发解释模型思维的工具,以及追踪技术岗位自动化的发展进度。这个岗位给出的薪酬范围是年薪 25 万至 38 万欧元,在科技行业,这是一个极具竞争力的数字,它既反映了该领域人才的稀缺程度,也折射出 OpenAI 对这类风险的高度重视。 递归式自我改进的可怕之处在于它的不可预测性。当一个 AI 系统能够修改自己的权重、改进自己的训练流程或设计更优的子代理时,它的能力提升路径很可能脱离人类的实时监控范围。一旦这类系统在关键基础设施中部署——无论是电网、金融系统还是武器平台——其潜在的连锁反应将难以用传统安全框架来度量。这也是为什么 Anthropic 联合创始人 Dario Amodei 在公开场合估计,到 2028 年底实现"无人类参与的 AI 研发"的概率约为 60%。这个数字见仁见智,但它的存在本身就说明 AI 能力的扩张速度已经让最一线的从业者无法再回避这个问题。 从更宏观的视角看,OpenAI 此举折射出 AI 安全研究领域的一个结构性矛盾:商业化推进的速度远远快于安全框架成熟的速度。模型的部署周期以月计算,而对模型行为和潜在风险的深入研究往往需要以年为单位。在这种不对称的节奏下,大厂们选择用高薪吸引顶尖安全人才,某种程度上是一种亡羊补牢式的主动补位——用市场薪酬来对冲风险,用人才密度来换取时间。 值得注意的是,这类研究岗位的设置本身就传递出行业认知的一种微妙转变。此前很长时间里,AI 安全被视为一种"事后检查"工作——模型训出来了再测一测,出了问题再打补丁。但递归式自我改进风险的提出,等于把安全前置到了模型设计的最早期阶段。OpenAI 的 Preparedenss 团队本质上是一个跨预设风险的研究单位,它的工作不是优化模型性能,而是在模型能力指数级扩张的路径上,提前埋下刹车片。

优秀的个人博客,低调大师

秒变专家:Zadig v1.16.0 好用小功能集锦

在 2022 年最后一个工作日迎来了 Zadig v1.16.0 开发者福利版。该版本主要针对开发者体验做了深度优化,并提供大量日常开发协作过程中实用的小功能,帮助开发者提高生产效率。 支持 i18n,开源无界,开放更易用 越来越多海内外用户接触 Zadig,为了满足跨国跨境企业的研发协作需求,Zadig 支持了 i18n,支持一键切换成常用界面语言,目前提供中文和英文选择。 工作流多个 PR/MR 合并构建 日常研发过程中,两个开发者在同一个服务上开发两个独立功能的情况,这时候开发环境不够用怎么办?只能等其中一个人自测完后才能再占用环境进行自测,大大影响研发的进度。当两个功能同时提测,如何快速做集成验证?Zadig 多 PR 合并构建的能力可以很方便高效地解决这个问题,帮助开发者减少不必要的等待时间,提高交付效率。 执行产品工作流、自定义工作流构建、测试、代码扫描等任务均支持选择多个 PR/MR 合并构建,任务执行过程会将多个 PR/MR 在容器中预合并到目标分支上,然后再执行后续的脚本。 工作流 IM 通知支持指定成员 Zadig 之前的版本支持 IM 通知到群,可能会造成消息的干扰,因为不是所有人都需要关注工作流任务的执行状况,为了可以精准的通知,v1.16.0 支持 IM 通知到指定成员。 以飞书为例,通过配置工作流通知-指定成员,输入用户的 ID。 执行工作流后,可以飞书上收到对应工作流任务通知,效果如下: 开发者仪表盘 Zadig 开发者仪表盘旨在提供用户一个平面,让用户聚焦在个人关注的事情上,也可以作为日常工作的一个快捷入口,简化操作。提供了三张卡片: 运行中的工作流:显示系统中运行中的工作流列表。通过这张卡片,用户可以了解自己关注的工作流任务在什么阶段,可以有一个心理预期。 我的工作流:显示个人关注的工作流相关信息。可以自定义个人日常使用频繁的工作流。通过这张卡片,查看工作流的当前的状态,并且可以一键执行任务。 我的环境:显示个人关注的环境及服务信息。可以自定义个人日常负责的环境和服务。通过这张卡片,可以获得环境最近一次更新信息、当前服务运行状态以及镜像版本信息。 工作流/服务日志支持自定义颜色 Zadig 工作流任务详情中的日志、环境中服务日志、调试的背景颜色和字体颜色可以根据自己的喜好自定义,避免长时间使用 Zadig 产生视觉疲劳。 点击账号设置->偏好设置,设置背景颜色和字体颜色,如下图所示。 保存修改后,工作流日志、环境日志、环境调试背景颜色和字体颜色随之生效。 ​​​​​​​ 说到这里是不是有点心动了呢?赶紧下载安装用起来吧~ Zadig v1.16.0 完整的功能列表和升级过程详情见 https://docs.koderover.com/zadig/v1.16.0/release-notes/v1.16.0 Zadig,让工程师更加专注创造。 说到这里是不是有点心动了呢?赶紧下载安装用起来吧~ Zadig v1.16.0 完整 说到这里是不是有点心动了呢?赶紧下载安装用起来吧~ Zadig v1.16.0 完整的功能列表和升级过程详情见 https://docs.koderover.com/zadig/v1.16.0/release-notes/v1.16.0 的功能列表和升级过程详情见 https://docs.koderover.com/zadig/v1.16.0/release-notes/v1.16.0 说到这里是不是有点心动了呢?赶紧下载安装用起来吧~ Zadig v1.16.0 完整的功能列表和升级过程详情见 https://docs.koderover.com/zadig/v1.16.0/release-notes/v1.16.0 日常研发过程中,两个开发者在同一个服务上开发两个独立功能的情况,这时候开发环境不够用怎么办?只能等其中一个人自测完后才能再占用环境进行自测,大大影响研发的进度。当两个功能同时提测,如何快速做集成验证?Zadig 多 PR 合并构建的能力可以很方便高效地解决这个问题,帮助开发者减少不必要的等待时间,提高交付效率。 越来越多海内外用户接触 Zadig,为了满足跨国跨境企业的研发协作需求,Zadig 支持了 i18n,支持一键切换成常用界面语言,目前提供中文和英文选择。

优秀的个人博客,低调大师

微软技术专家认为短信验证方式并不安全

近日,身份认证为微软身份安全总监的Alex Weinert发表博客文章称,基于公共交换电话网络(PSTN)的多因素认证(MFA)机制其实并不安全,目前常见的基于PSTN的方式是短信或者语音验证码,他强调了MFA本身的必要性,但使用方式应该改变。 Alex Weinert表示基于PSTN的机制是目前最不安全的MFA方法,网络钓鱼和账户接管等仍然可以借此进行,此外PSTN消息也不能适应不同类型的用户,所以通过它们进一步提高安全性的潜力是有限的。 在博文中,Alex Weinert建议人们利用基于应用程序的MFA认证,如各大科技厂商推出的基于设备上随机产生验证码的Authenticator,因为它几乎解决了他的博客文章中强调的PSTN系统的所有问题。

优秀的个人博客,低调大师

【Go专家编程】5分钟玩转go.sum

为了确保一致性构建,Go引入了go.mod文件来标记每个依赖包的版本,在构建过程中go命令会下载go.mod中的依赖包,下载的依赖包会缓存在本地,以便下次构建。 考虑到下载的依赖包有可能是被黑客恶意篡改的,以及缓存在本地的依赖包也有被篡改的可能,单单一个go.mod文件并不能保证一致性构建。 为了解决Go module的这一安全隐患,Go开发团队在引入go.mod的同时也引入了go.sum文件,用于记录每个依赖包的哈希值,在构建时,如果本地的依赖包hash值与go.sum文件中记录得不一致,则会拒绝构建。 go.sum文件记录 go.sum文件中每行记录由module名、版本和哈希组成,并由空格分开: <module> <version>[/go.mod] <hash> 比如,某个go.sum文件中记录了github.com/google/uuid 这个依赖包的v1.1.1版本的哈希值: github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 在Go module机制下,我们需要使用依赖包名称和版本才可以准确的描述一个依赖,为了方便叙述,下面我们使用依赖包版本来指代依赖包名称和版本。 正常情况下,每个依赖包版本会包含两条记录,第一条记录为该依赖包版本整体(所有文件)的哈希值,第二条记录仅表示该依赖包版本中go.mod文件的哈希值,如果该依赖包版本没有go.mod文件,则只有第一条记录。如上面的例子中,v1.1.1表示该依赖包版本整体,而v1.1.1/go.mod表示该依赖包版本中go.mod文件。 依赖包版本中任何一个文件(包括go.mod)改动,都会改变其整体哈希值,此处再额外记录依赖包版本的go.mod文件主要用于计算依赖树时不必下载完整的依赖包版本,只根据go.mod即可计算依赖树。 每条记录中的哈希值前均有一个表示哈希算法的h1:,表示后面的哈希值是由算法SHA-256计算出来的,自Go module从v1.11版本初次实验性引入,直至v1.14 ,只有这一个算法。 此外,细心的读者或许会发现go.sum文件中记录的依赖包版本数量往往比go.mod文件中要多,这是因为二者记录的粒度不同导致的。go.mod只需要记录直接依赖的依赖包版本,只在依赖包版本不包含go.mod文件时候才会记录间接依赖包版本,而go.sum则是要记录构建用到的所有依赖包版本。 生成 在GOMODULE模式下,当我们引入一个新的依赖(使用import xxx)时,在使用go命令(go build、go get等)时都会触发依赖包的下载,依赖包首先会被下载到本地的缓存目录$GOPATH/pkg/mod/cache/download,下载的依赖包为某个.zip文件,go命令在下载完后成会对该.zip文件计算哈希值,并保存在后缀为.ziphash的文件中,此哈希值即为依赖包版本整体的哈希值。为了更新go.sum,还会将该.zip包解压并取出go.sum再次计算哈希值,此哈希值即为依赖包版本中go.mod文件的哈希值。 简单来说,go.sum中的记录是go命令首次添加进去的。而且后续随着依赖的增加或减少,go命令也会相应的新增或删除go.sum中的记录。 校验 在GOMODULE模式下,当我们使用go命令构建项目时,如果项目中包含go.sum文件,则会进行依赖包版本的校验。go命令会跟据go.mod到本地缓存目录$GOPATH/pkg/mod/cache/download寻找相应依赖包版本的哈希值,然后与项目中go.sum记录的哈希值比较,如果不一致则表示校验失败,go命令将会拒绝执行。 校验失败说明本地缓存目录中依赖包版本的哈希值和项目中go.sum中记录的哈希值不一致,此时有意思的是如何区别谁对谁错。需要说明的是,二者都可能出错,本地缓存目录中的依赖包版本有可能被有意或无意地修改过,项目中go.sum中记录的哈希值也可能被篡改过。 为了解决这个问题,Go团队引入了GOSUMDB来充当仲裁的角色。 仲裁 环境变量GOSUMDB标识一个checksum database,即校验和数据库。该数据库中记录了很多依赖包版本的哈希值,当本地缓存目录中依赖包版本的哈希值和项目中go.sum中记录的哈希值不一致时,将会从GOSUMDB指示的数据库中查询得到一个准确的哈希值,据此识别出哪个是正确的。 如果是项目中的go.sum哈希值错误,go命令会自动更新go.sum,如果是缓存中的哈希值错误,则go命令拒绝向下执行,需要开发人员自行检查依赖包版本是否被修改过。 此外,环境变量GOSUMDB默认值为sum.golang.org,它是Google 官方维护的一个数据库,其会缓存所有可公开获得的依赖包,也可以指定自行搭建的数据库。还可以使用GOPRIVATE环境变量指定私有的依赖包,从而跳过校验。 参考文档 命令行帮助文档:$ go help module-auth Go 1.14 源码 赠人玫瑰手留余香,如果觉得不错请给个赞~ 本篇文章已归档到GitHub项目,求星~ 点我即达

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册