2024s

gitlab-ci使用Harbor机器人账户

月盾
gitlab ci/cd 中,需要使用到 docker registry 账号 push 镜像,这个可以设置为机器人,可以避免个人账号泄露 配置Harbor机器人 登录 Harbor 管理界面,进入系统管理→认证页面; 选择机器人 Token页签,点击左上角的新建机器人,创建一个名为gitlab-ci的机器人; 给该机器人一个名称,并给该机器人添加相应的权限; 机器人创建完成以后,点击右侧的查看token来复制该机器人的 token,这个就是以后用 gitlab-ci 配置文件使用的账号密码; 在gitlab 创建 harbor-robot 用户; 为该用户添加项目级别的 开发 权限; 配置gitlab-ci 在项目的设置中添加 docker registry 账号密码,仓库地址是harbor的; 编辑.gitlab-ci.yml文件,把账号密码改为之前复制的 token; 注意点 有些情况下创建的机器人账户会带上$符号,在gitlab中是无法使用的,需要将$改为两个$$来表示$; 结束 这样gitlab-ci 就可以顺利跑测试、构建、推送镜像了; 以上内容,只是简单的配了配 harbor,可以有很多其他方法完成该工作,这里只是简单的记录下而已; 如果需要复杂的设置,欢迎移步harbor 文档,那里有更多的内容可以提供参考。

微信小程序页面之间传递数据和通信

月盾

微信小程序页面间通信有标准的方法。 有页面A,页面B,按照顺序,A -> B,再从B -> A。两种操作页面之间数据传递。

A页面:

Page({
  jump: function () {
    wx.navigateTo({
      url: './b-page?id=123',
      events: {
        acceptDataFromOpenedPage: function (data) {
          //接收B页面发送的数据
          console.log(data)
        },
      },
      success: function (res) {
        //页面打开后发送数据到B页面
        res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'send from opener page' })
      }
    })
  },
})

B页面:

Page({
  onLoad: function (option) {
    const id = option.id;// 通过URL参数获取A页面传递的数据
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.on('acceptDataFromOpenerPage', function (data) {
      //通过事件channel接收A页面传递的数据
      console.log(data)
    })
  },
  setDataToA: function () {
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('acceptDataFromOpenedPage', { data: 'send from opened page' })
  },
})
又一个比Nodejs快的运行时,它叫LLRT

又一个比Nodejs快的运行时,它叫LLRT

月盾
前端圈的发展一向让人感觉学不动,前有Deno,后有Bun,这不,最近又出了个比Nodejs快的Runtime,它叫LLRT。 1. 什么是LLRT LLRT是Low Latency Runtime的缩写,是一种轻量级JavaScript运行时,旨在满足对快速高效的无服务器应用程序日益增长的需求。与在AWS Lambda上运行的其他JavaScript运行时相比,LLRT的启动速度提高了10倍以上,总体成本降低了2倍。 2. LLRT是如何做到比Nodejs快的 它内置在Rust中,利用QuickJS作为JavaScript引擎,确保高效的内存使用和快速启动。 3. LLRT的发展 它还处于实验阶段,并不稳定,还不推荐用于生产。