Go | Go 编码规范 发表于 2021-07-17 | 分类于 Golang | 0 | 阅读次数 147 1. 代码格式运算符和操作数之间要留空格。建议一行代码、注释不超过 120 个字符,超过部分,请采用合适的换行方式换行。但也有些例外场景,例如 import 行、工具自动生成的代码、带 tag 的 struct 字段。文件长度不能超过 800 行。函数长度不能超过 80 行。代码都必须用 gofmt 阅读全文 »
容器 | Namespace-User Namespace 发表于 2021-07-16 | 分类于 容器 | 0 | 阅读次数 155 1. User NamespaceUser Namespace 可以让容器内部看到的 UID 和 GID 和外部是不同的了,它可以隔离了一台 Linux 节点上的 User ID(uid)和 Group ID(gid),它给 Namespace 中的 uid/gid 的值与宿主机上的 uid/gid 阅读全文 »
容器 | Namespace-Network Namespace 发表于 2021-07-16 | 分类于 容器 | 0 | 阅读次数 160 1. Network NamespaceLinux Programmer‘s Manual(https://man7.org/linux/man-pages/man7/network_namespaces.7.html)里对 Network Namespace 有一段简短的描述,在里面就列出了最主要 阅读全文 »
容器 | Namespace 整体介绍 发表于 2021-07-16 | 分类于 容器 | 0 | 阅读次数 176 1. NamespaceLinux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。这种隔离机制和 chroot 很类似,chroot 是把某个目录修改为根目录,从而无法访问外部的内容。Linux Namesapce 在此基础之上,提供了对 UTS、IPC、Mount、PID、 阅读全文 »
项目开发维护 | 开源规范 发表于 2021-07-16 | 分类于 项目开发维护 | 0 | 阅读次数 172 在开发过程中往往会涉及到很多规范,下面讲一下开发中常用的规范。当然同类规范也会因为团队差异而有所不同。常用的规范大致分为两类:编码类规范:主要包括目录规范、代码规范、接口规范、日志规范和错误码规范非编码类规范:主要包括开源规范、文档规范、版本规范、Commit 规范和发布规范1. 开源规范1.1. 阅读全文 »
项目开发维护 | 文档规范 发表于 2021-07-16 | 分类于 项目开发维护 | 0 | 阅读次数 163 1. 文档规范文档是项目中很重要的组成部分,没有文档的项目很难理解、部署和使用。因此,编写文档是一个必不可少的开发工作。一个项目中最需要的 3 类文档是 README 文档、项目文档和 API 接口文档。1.1. README 文档README 文档是项目的门面,它是开发者学习项目时第一个阅读的文档 阅读全文 »
项目开发维护 | 版本规范 发表于 2021-07-16 | 分类于 项目开发维护 | 0 | 阅读次数 149 1. 版本规范1.1. 语义化版本规范(SemVar)目前(2021.07)业界主流的版本规范是语义化版本规范。语义化版本规范(SemVer,Semantic Versioning)是 GitHub 起草的一个具有指导意义的、统一的版本号表示规范。它规定了版本号的表示、增加和比较方式,以及不同版本号 阅读全文 »
容器 | Cgroup-CPU Cgroup 发表于 2021-07-15 | 分类于 容器 | 0 | 阅读次数 138 1. CPU CgroupCPU 控制器(子系统)主要用于控制一个控制组中所有任务可以使用的 CPU 时间片,读取与 CPU 相关的数据则依赖于另外一个子系统——cpuacct 子系统,在 cgroups 中这两个子系统通常会一起出现。CPU 控制器有基于 Linux CFS 调度器和实时调度器的两 阅读全文 »
容器 | Cgroup-blkio Cgroup 发表于 2021-07-15 | 分类于 容器 | 0 | 阅读次数 320 1. blkio Cgroup磁盘除了容量的划分之外,还有一个读写性能的问题。多个容器同时读写节点上的同一块磁盘,这些磁盘读写之间会相互影响,这个时候就希望 cgroup 也可以保证每个容器的磁盘读写性能。blkio Cgroup 也是 Cgroups 里的一个子系统。 在 Cgroups v1 里 阅读全文 »