首页 文章 精选 留言 我的

精选列表

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

秒变专家: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项目,求星~ 点我即达

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

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

用户登录
用户注册