Go实战训练营KE下——栽の地 止
作者-\/ 307570512
Go语言如何进阶
首先, 我推荐两本进阶的书籍
其次, 还是看源代码, 我自己比较适合去阅读的源码大概的方向是:io, log, fmt , encoding/json, database/sql 等, 这是一些基础的包, 挑战是逻辑.sync, net, reflect 等, 这是比较常用的包, 需要理解语言设计chan, map 等, 这是常用数据类型, 需要理解其原理, 还有就是内存的操作gc, memory, runtime等, 这是 Go 的核心内容, 整体把握语言背后的原理上面只是一个大概的思路, 未必全部按照上面的来, 有的完全是可以打乱顺序来阅读的. 在阅读完之后, 我觉得一些性能调优也是非常重要的, 这个就是实践积累了, 总结一套自己的方法吧.
最后, 参与到社区有关 Go 的开源项目当中去. 这个选择自己感兴趣的, 对自己有成长和帮助的, 每个人都有自己的看法, 就不做介绍了.
Go实战训练营 - go语言项目实战
一、架构 后端 开发语言:golang
框架:go-zero、xorm、jwt
存储:minIO 对象存储
前端 Vue2 + Electron +Element-UI
二、环境准备 1、golang 安装
安装包下载地址为:golang.org/dl/。
如果打不开可以使用这个地址:golang.google.cn/dl/。
2、开启 go-module
set GO111MODULE=on //windows export GO111MODULE=on //linux
3、goland 无法下载包解决
三、MinIO 对象存储安装 推荐使用 docker 进行部署,我使用的是 docker-compose 进行部署的
1、 docker-compose 配置文件附上
version: ‘3’ services: minio: image: minio/minio container_name: minio ports:
9000:9000 9991:9991 environment: MINIO_ACCESS_KEY: admin #管理后台用户名 MINIO_SECRET_KEY: password #管理后台密码,最小 8 个字符 volumes: /opt/app/minio/data:/data #映射当前目录下的 data 目录至容器内 /data 目录 /opt/app/minio/config:/root/.minio/ #映射配置目录 command: server /data –console-address “:9991” privileged: true restart: always 2、docker 和 docker-compose 安装请自行百度或 google
四、配置修改 1、修改参数常量
define->define.go
var Endpoint = “loaclhost:9000” //MinIo 对象存储的地址 var AccessKeyID = “cloud-disk” //MinIo AccessKey id var SecretAccessKey = “cloud-disk” //MinIo SecretAccessKey var BucketName = “cloud-disk” //MinIo 的桶名称 var BucketLocation = “beijing” //MinIo 桶所在地,国内默认写 beijing 即可
2、修改配置文件数据库配置
etc-> cloud-api.yaml
Name: cloud-api Host: 0.0.0.0 Port: 8080
DataBase: Type: “mysql” Url: “root:password@tcp (mysql:3306)/cloud-disk?charset=utf8” #修改成自己的数据库链接地址和密码 MaxIdleConns: 10 MaxOpenConns: 20
#是否显示 sql 语句 ShowSql: true Redis: Addr: “loaclhost:6379” #redis 的链接地址和密码 Password: “password” PoolSize: 10
五、初始化数据库 将 doc->sql-cloud-disk.sql 导入到数据库中
六、后端运行 #运行程序 go run cloud.go -f etc/cloud-api.yaml
#API 生成命令 goctl api go -api cloud-disk.api -dir . -style goZero