go后端学习路线 | 青训营

157 阅读5分钟

当我计划着我的学习和开发项目时,我充分认识到详细的计划和资源管理对成功至关重要。在以下内容中,我将为每个项目的计划和相关资源链接提供更多详细信息,以确保我在这个学习和开发的旅程中充分准备。

 

  1. GORM 学习

 

GORM是一个在Go语言中非常流行的ORM库,它简化了与数据库的交互。我的计划是学习四个主要方面:

 

增(Create): 首先,我将学习如何使用GORM的Create方法,将新数据插入到数据库中。例如,我可以创建一个新用户的记录。

 

删(Delete): 数据库中的数据可能需要删除,我将使用GORM的Delete方法来执行这一操作,如删除不再需要的用户。

 

改(Update): 修改数据库中的数据是常见的操作,我计划使用GORM的Update方法来更新现有记录,例如,更新用户的电子邮件地址。

 

查(Read): 数据库查询是一个基本操作,我将利用GORM的丰富查询功能,如Find、First和Where等方法,来检索数据。

 

我将依赖GORM官方文档,其中包含了大量示例和用例,可以帮助我更好地掌握这个强大的库。

 

  1. Postgres数据库学习

 

PostgreSQL是一个强大的开源关系型数据库,具有广泛的用途。我的计划包括以下两个关键方面:

 

配置数据库: 首先,我将学习如何配置PostgreSQL数据库,包括设置连接、创建数据库、分配权限等。PostgreSQL Tutorial将提供详细的教程,从基础到高级,帮助我掌握这些概念。

 

常见数据类型: 数据类型是数据库中的基本构建块,我将学习常见的PostgreSQL数据类型,如整数、文本、日期/时间、JSON等,以便正确设计数据库表结构。

 

  1. 微服务介绍

 

微服务架构是现代软件开发的一种重要范例。我的计划包括以下几个方面:

 

微服务与单体应用的区别: 我需要理解微服务与传统的单体应用之间的区别,包括架构、部署、可扩展性等方面。

 

基本概念: 我将学习微服务的基本概念,包括服务拆分、服务发现、负载均衡、API网关等。这些是微服务架构中的关键要素。

 

我可以在维基百科的微服务页面上找到有关微服务的基本信息。

 

  1. Protobuf协议学习

 

Protocol Buffers(Protobuf)是一种高效的数据序列化协议,它可以用于数据传输和存储。我的计划包括以下内容:

 

定义数据结构: 我将学习如何使用Protobuf来定义数据结构,以便在应用程序中使用。

 

编解码数据: 我将了解如何使用Protobuf编码和解码数据,以便进行跨网络传输或持久化存储。

 

我可以依赖于Protobuf官方文档,其中提供了深入的教程和示例,可以帮助我掌握这一重要概念。

 

  1. gRPC库学习

 

gRPC是一种高性能的远程过程调用(RPC)框架,通常用于微服务架构中的服务通信。我的计划包括以下内容:

 

定义服务和消息: 我将使用Protobuf定义服务和消息,以便在gRPC中进行远程调用。

 

实现和调用服务: 我将学习如何实现gRPC服务,并从客户端调用它们。

 

处理错误和安全性: 我将理解错误处理和安全性,以确保通信的可靠性和安全性。

 

我可以查看gRPC官方网站以获取有关gRPC的详细信息和示例代码。

 

  1. Kratos微服务框架学习

 

Kratos是一个用于构建微服务的Go语言框架,它提供了许多有用的功能。我的计划包括以下内容:

 

服务发现和注册: 我将学习如何使用Kratos来实现服务发现和注册,以确保我的微服务可以相互通信。

 

部署和监控: 我将熟悉Kratos的部署和监控功能,以确保我的微服务在生产环境中稳定运行。

 

Kratos官方文档将提供详细的指南和示例,可帮助我开始构建基于Kratos的微服务应用程序。我可以在Kratos官方网站找到更多信息。

 

操作Minio的方法

 

对于Minio服务器的操作,我已经获得了一些详细的步骤和凭据。以下是我的Minio操作计划:

 

访问Minio管理界面:首先,我将访问Minio的管理界面,我可以使用提供的链接:http://47.120.5.83:5001/。登录凭据是账号:root,密码:msdnmmi,.

 

上传文件:我将进入Object Browser,然后选择tiktok,点击右侧的Upload按钮,以将文件上传到Minio服务器。

 

访问上传的文件:为了访问上传的文件,我将使用链接:http://47.120.5.83:500/tiktok/文件名,其中"文件名"是我上传的文件名。

 

Redis操作

 

对于Redis服务器的操作,我已经获得了以下凭据:

 

IP: 47.120.5.83

用户名: default

密码: 263393

我将使用这些凭据连接到Redis服务器,并执行各种操作,如存储缓存数据、管理键值对等。

 

在我的学习和开发过程中,我将不断地将这些概念和工具应用到实际项目中。通过构建项目和解决实际问题,我将更深入地掌握这些技能。祝我在这个学习和开发的旅程中取得成功!