• 如何在 Docker Build 时使用 SSH 私钥进行认证

    本文主要通过如何在 Docker Build 时使用 SSH 私钥进行认证,比如拉取私有仓库时就很有用。包括 18.09 版本之前的使用多阶段构建方式,以及 18.09 版本后的 --ssh 方式。在实际工作中,Build Docker 镜像时,经常碰上需要在 Docker 镜像内用到 SSH Pr...

    Golang 包循环引用的几种解决方案

    一、前言golang 为了加速编译,不允许包循环引用。通常来说,只要你的包规划得好,严格规范单向调用链(如控制层 -> 业务层 -> 数据层),一般不会出现包循环引用问题。当然现实业务往往不会这么理想,同层级之间的不同包经常需要互相引用,下面我就分享几种解决包循环引用的方案。二、新建公共...

    Go Reflect

    开篇2011 年,Rob Pike 大神在介绍 Golang 反射的时候开篇提到了对于【反射】的定义:Reflection in computing is the ability of a program to examine its own structure, particularly thro...

    流量复制方案

    「流量复制」常常应用在准生产环境的测试中,将线上的流量复制到一个准生产环境服务中,测试新功能和服务的承压能力。流量复制可以完全模拟线上的流量,对复杂的业务场景进行真实的服务测试,又不会对生产服务产生任何副作用。对于复杂的流量复制应用场景和需求,完全可以立项开发一套完整的复制架构,可参考字节团队自研的...

    Gengine

    一:简介:  Gengine 是一款基于 golang 和 AST(抽象语法树)开发的规则引擎, Gengine 支持的语法是一种自定义的 DSL, Gengine 通过内置的解释器对规则文件进行解析,构建规则模型,进行相应的规则计算和数据处理。Gengine 于 2020 年 7 月由哔哩哔哩 (...

    正则表达式

    正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语 “regex” 或“regexp”。 正则表达式可以从一个基础字符串中根据一定的...

    Javascript循环总结

    几种遍历方法中 for 执行最快,它没有任何额外的函数调用栈和上下文。但在实际开发中我们要结合语义话、可读性和程序性能,去选择究竟使用哪种方案。下面来看 for , foreach , map ,for...in , for...of 五种方法现场 battle。自我介绍for我是最早出现的一方遍历...

    左右值编码树形结构数据存储方案

    一、左右值编码在基于数据库的一般应用中,查询的需求总要大于删除和修改。为了避免对于树形结构查询时的 “递归” 过程,基于 Tree 的前序遍历设计一种全新的无递归查询、无限分组的左右值编码方案,来保存该树的数据。第一次看见这种表结构,相信大部分人都不清楚左值(Lft)和右值(Rgt)是如何计算出来的...

    Go 23种设计模式

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。从定义上看,设计模式其实是一种经验的总结,是针对特定问题的简洁而优雅的解决方案。既然是经验总结,那么学习设计模式最直接的...

    Gitlab CI Yaml

    此文档用于描述. gitlab-ci.yml 语法,.gitlab-ci.yml 文件被用来管理项目的 runner 任务。如果想要快速的了解 GitLab CI ,可查看快速引导。.gitlab-ci.yml从 7.12 版本开始,GitLab CI 使用 YAML 文件 (.gitlab-ci....