2 | Golang: 笔记
Go语言允许用户定义类型。当用户声明一个新类型时,这个声明就给编译器提供了一个框架,告知必要的内存大小和表示信息。声明后的类型与内置类型的运作方式类似。Go语言里声明用户定义的类型有两种方法。最常用的方法是使用关键字struct,它可以让用户创建一个结构类型。零值:当声明变量时,这个变量对应的值总是
Go语言允许用户定义类型。当用户声明一个新类型时,这个声明就给编译器提供了一个框架,告知必要的内存大小和表示信息。声明后的类型与内置类型的运作方式类似。Go语言里声明用户定义的类型有两种方法。最常用的方法是使用关键字struct,它可以让用户创建一个结构类型。零值:当声明变量时,这个变量对应的值总是
三个常用的数据类型的大致实现,有点绕,但是很有收获!切片 Slice数据结构在64位架构的机器上,一个切片需要24字节的内存:指针字段需要8字节,长度和容量字段分别需要8字节。var slice []int 创建的数据结构如下:使用对新切片的长度与容量的计算规则如下:对底层数组容量是k的切片slic
Docker 通过 Dockerfile 中的指令来构建镜像。 Docker 镜像由很多镜像构成,每一层对应一个 Dockerfile 里面的指令。 一个运行中的容器,由镜像的所有层加上可写层构成,所有的读写都在最上面的可写层。 容器应该是无状态的,销毁、重建应该花费最小的配置。 (build context)构建上下文 docker build -f ~/Dockerfile.hi context-dir 通过 -f 指定 Dockerfile 的路径 context-dir 即为构建上下文,该文件夹下面所有的内容都会被传递给 Docker daemon,用来构建镜像。构建上下文包含不相关的内容,会影响构建速度、镜像大小。 可通过编写 .dockerignore 文件,并放置在构建上下文的目录下,达到类似于 .gitignore 的效果,将不必要的文件(夹)不发送给 Docker Daemon。
Goalng context作用,原理,超时控制golang context的理解,context主要用于父子任务之间的同步取消信号,本质上是一种协程调度的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放心地在多个协程中传递使用。 切片和数组区别基础问题。 channel关闭阻塞问题,goroutine如何调度,gopark是怎么回事?PMG模型描述,谁创建的PMG,runtime是怎么个东西,怎么启动第一个goroutinegolang CPS并发模型和PMG模型的理解。 go逃逸分析怎么回事,内存什么时候栈分配什么时候堆分配内存方面问题,这个网上很多,自己理解完整正确。 sync.Map实现原理,适用的场景go 1.9 官方提供sync.Map 来优化线程安全的并发读写的map。该实现也是基于内置map关键字来实现的
今年年初由 wordpress 迁移到 halo,主要是觉得懂点 Java,有什么定制化的需求,自己改代码会方便一些。但是也没有什么特别的需求需要定制,反而被这种东西折腾得忘记了写博客的初心。技术博客就应该简简单单,只写技术,博客怎么好看、怎么炫酷,都不重要。配置说明&前置条件在 Halo
ReferenceSSH允许root远程登录Linux:修改HostnameLinux 下如何修改用户名(同时修改用户组名和家目录)
此文是一篇大杂烩,记录一些对我很有用处的新知识。主要包括容器相关概念、实现原理、相关标准等。最大的感触就是 Golang 才是云时代的语言,很多容器相关软件的开发语言是用的 Golang。Let's go!什么是容器容器就是将软件打包成标准化单元,以用于开发、交付和部署。简单说就是:容器可以被当做一
WHAT of kubernetes一套基于容器技术的分布式架构方案。基于 Google 的 Borg(内部使用超过10年) 系统实现资源管理的自动化、资源利用的最大化使用 kubernetes 可以减少开发成本(如服务治理、服务监控、故障处理等),将精力投入到业务开发中。开放平台,不限编程语言,模
SpringBoot 官方文档说明
这不是标题党,这是一份学习笔记,记录遇到的问题,包括但不仅仅限于 golang 的语法格式、常用用法、神奇操作等。Update: 本以为一篇长文就可以搞定这个入门到辞退,感觉东西好多啊,还是分开多篇吧。关键字func编译报错,返回值要么都有名,要么都没有名称。func funcMui(x, y in
在之前的后端开发中,多多少少接触过一些 kubernetes 的内容,但是并未深入了解,在接触到 golang 编程以及 CD 发布系统的情形下,知道了 kubernetes 的强大之后,便开始找机会系统了解 kubernetes,因此了解 kubernetes 是一种不可多得的提升自我的方式,不论是从工作上、还是自我提升。 本文路线主要参照此教程给出的建议,记录遇到的问题以及对 kubernetes 的认识。 https://kubernetes.io/ 8月第一周 本周目标 * Kubernetes 的背景 * 安装 Kubernetes 环境 * Kubernetes 基本概念和使用方法 为什么会出现 kubernetes 学习任何系统的之前,了解其出现的背景和意义都是必不可少的,为什么会出现 Kubernetes?它解决了什么问题?有没有其他类似的系统?这里推荐阅读才云科技 CEO 张鑫在 2017 年文章《从风口浪尖到十字路口,
在 clouddriver 中缓存云厂商的各项数据,是由这些 agent 所来完成。本文主要聚焦于何时执行、如何存储、以及存储后如何使用这三点上。Agent 从哪里来创建 agent为每个云账号的每个区域创建10个不同类型的 agent安排启动ProviderUtils.rescheduleAgen