-
Debian Docker 安装
Docker 支持以下的 Debian 版本: Buster 10 Stretch 9 (stable) / Raspbian Stretch Docker Engine-Community 在 x86_64(或 amd64 )armhf,和 arm64 体系结构上受支持。 使用官方安装脚本自动安装 安装命令如下: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以使用国内 daocloud 一键安装命令:…
-
Ubuntu Docker 安装
Docker Engine-Community 支持以下的 Ubuntu 版本: Xenial 16.04 (LTS) Bionic 18.04 (LTS) Cosmic 18.10 Disco 19.04 其他更新的版本…… Docker Engine - Community 支持上 x86_64(或 amd64)armhf,arm64,s390x (IBM Z),和 ppc64le(IBM的Power)架构。 使用官方安装脚本自动安装 安装命令如下: curl -fsSL https://g…
-
Docker 架构
Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 仓库(Repository):仓库可看成一个代码控…
-
Docker 教程
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: …
-
Go 语言自学教程入门到精通实战进阶提升(学习路线+思维导图+视频教程+面试题+学习工具+大厂实战手册)
最近十年来,C/C++在计算机领域其实没有很好得到发展,并没有新的系统编程语言出现。开发效率和系统执行效率在很多情况下不能兼得。要么执行效率高,但低效的开发,如 C++;要么执行低效,但开发还算比较高效,如.NET、Java;所以需要一种拥有较高效的执行速度、编译速度和开发速度的编程语言,Go就横空出世了。 传统的语言比如 C++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达开发者的思想,同时编译花费的时间实在太长,对于编写 - 编译 - 运行这个链条来说周期太长。动态语言如Py…
-
使用 gin 包优化登录功能
上一个实战文章我们学习了如何使用 Go 语言原生的 http 包来构建一个 web 应用,实现了一个简单的登录功能。因为原生的 http 包很多功能都需要自己去写,所以就有很多开发者在原生包的基础上开发了第三方包。本文就来介绍一个开发 Go web 十分流行的包—— gin 包。其官方地址为:https://github.com/gin-gonic/gin。 1. 下载 gin 包 因为是第三方包,所以需要从 github 上下载后才可使用。使用以下指令下载使用: 代码块 1 g…
-
使用 Go 语言搭建简易登录功能
在这篇文章之前,已经学完了 Go 语言所有基础特性,对 Go 语言也有了一定掌握和理解。本文就来学习如何使用 Go 语言如何搭建一个 web 服务。这个 web 服务主要提供登录的功能。 1. 搭建服务 在 Go 语言中想要搭建一个 http 服务是非常容易的一件事情,一行代码就可以了。 代码示例: 代码块 1 package main 2 3 import ( 4 "net/http" 5 ) 6 7 func main() { 8 http.…
-
Go 语言性能测试
本文来学习一下如何进行 Go 语言的性能测试。这里需要学习一个 Go 语言官方提供的工具 pprof: runtime/pprof:采集程序(非 Server)的运行数据进行分析; net/http/pprof:采集 HTTP Server 的运行时数据进行分析。 上述两个包的底层实现是一样的,一般建议直接在主函数上加上 http 服务而使用第二个包,毕竟可视化显示易于观察和操作。故本文仅介绍 net/http/pprof 的用法。 1. pprof 使用方法 直接在程序入口,也就…
-
Go 语言中的反射
反射是在 java 出现后迅速流行起来的一种概念,通过反射可以获取丰富的类型信息,并可以利用这些类型信息做非常灵活的工作。大多数现代的高级语言都以各种形式支持反射功能,反射是把双刃剑,功能强大但代码可读性并不理想,若非必要并不推荐使用反射。本文就来介绍一下反射在 Go 语言中的基本使用方法。 1. 通过反射获取类型 在 Go 语言中提供反射的包为 reflect 包,其中reflect.Type()函数可以获取一个变量的类型。 代码示例: 代码块 1 package main 2…
-
Go 语言中的变参
在开发过程中,很有可能会遇到不确定传入参数数量的问题。比如答题系统开发时,可能会遇到多选题,这里面就无法确定传入参数的数量。此时就需要一个变参传递的方案,在 Go 语言中,使用...来接收或者传递变。 1. 使用…来接收变参 在函数的参数类型前加上...就可以用于接收不定长度的该类型的变参,如果连类型也无法确定,则使用...interface{}。变参类型的参数在使用时是一个变参类型的切片。 代码示例: 代码块 1 package main 2 3 import "fmt" 4…