golang简介:

Go最早并不是一个Google的正式项目,而是作为一个"20%"的项目出现的,直到2009年才以开源的方式面向大众,目前go team有稳定的发布周期,大约半年一个新的版本.

Go语言的出身可以说非常豪华,最早对go语言的讨论是由罗伯特·格瑞史莫、罗伯·派克和肯·汤普逊发起的,主要是为了解决c++中出现的问题而发起的项目。肯·汤普逊是c语言和unix的发明者,罗伯特·格瑞史莫参与设计了Java的HotSpot虚拟机和Chrome浏览器的JavaScript V8引擎,罗博·派克在大名鼎鼎的bell lab多年,参与了Plan9操作系统、C编译器以及多种语言编译器的设计和实现。
Go语言从2009年开源到现在吸引了很多开发者的注意,分别获得了2009年和2016年的TIOBE之星,如果说2009年那一次是因为Google的影响,那2016年这一次绝对是自身实力的厚积薄发。

为什么需要一个新的语言:

传统的语言比如c++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。
同时有如下趋势:

  • 人力成本越来越高
  • 机器越来越便宜
  • 机器的性能越来越厉害
  • 在开发效率和运行速度上达到平衡
  • 这就是go诞生的背景。

docker简介:

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

而且docker正是golang语言编写。

mongodb简介:

NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型的数据库 。是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

关系型数据库中的表都是存储一些结构化的数据,每条记录的字段的组成都一样,即使不是每条记录都需要所有的字段,但数据库会为每条数据分配所有的字段。而非关系型数据库以键值对(key-value)存储,它的结构不固定,每一条记录可以有不一样的键,每条记录可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销

coding:MacOs

mongodb:Vm虚拟机 下 CentOS 下 Docker 安装mongodb

linux远程管理工具: Terminal ssh 用户名@linux地址 例: ssh root@192.168.1.1

关于linux的安装不做介绍

关于Docker安装不做介绍:https://www.runoob.com/docker/centos-docker-install.html

首先查找我们需要的mongodb的images

这里使用 命令查找一个 star 数量较高的

docker search --format "{{.Name}}: {{.StarCount}}" mongo

详情查看官方文档:https://docs.docker.com/engine/reference/commandline/search/

也可以使用官网docker hub进行查找:https://hub.docker.com/search?q=mongo&type=image

可以看到与搜索结果一一对应。

点进去左侧有提示pull mongo的命令:

使用命令下载

mongodb的 images:docker pull mongo

之后等待等待完成输入命令查看:

docker images

之后使用命令创建mongo文件夹以及 db文件夹:

mkdir -p /usr/local/mongo /usr/local/mongo/db  

 使用命令运行容器:

docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo

 

命令说明:

-p 27017:27017 :将容器的27017 端口映射到主机的27017 端口

-v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录

查看容器启动情况:

docker ps

进入我们的mongo容器:

docker exec -it 0990ff1154b0 mongo admin

此时证明mongodb已经安装成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐