当前位置: 首页 > news >正文

开篇词 | Go 项目开发极速入门课介绍

  • 欢迎加入我的训练营:云原生 AI 实战营,一个助力 Go 开发者在 AI 时代建立技术竞争力的实战营。实战营中包含大量 Go、云原生、AI Infra 相关的优质实战课程和项目。
  • 欢迎关注我的公众号:令飞编程,持续分享 Go、云原生、AI Infra 技术。
  • 系列文章见专栏:Go 项目开发极速入门实战课。

你好,欢迎学习本课程。本课程是一个 Go 项目开发极速入门课程。旨在帮助刚学习完 Go 基础语法的 Go 开发者,快速掌握如何开发一个功能相对全面的 Go 项目。

本开篇词会介绍下本课程,以使你对本课程有个初步的了解,便于后面的学习。

作者介绍

这里先来介绍下我自己。

  • 孔令飞,字节跳动资深云原生开发工程师、前腾讯云容器开发专家。
  • 《企业级 Go 项目开发实战》、《从零开发企业级 Go 应用》唯一作者;《Kubernetes调度器权威指南》(写作中)作者。
  • 云原生 AI 实战营知识星球 星主(欢迎大家加入我的星球,学习更多 Go、云原生、AI Infra 相关课程)
  • 有过多个国内外知名项目的设计和开发经验。工作经验主要聚焦在 Go、云原生和 AI Infra 领域。

本课程写作背景

我写过很多课程,但在运营课程的过程中,发现还是有部分学生期望能有一个 0 基础快速入门的课程。另外,我自己最近也在学习 AI,因为平时工作比较忙,所以学习过程中也很期待能有一个 AI 实战 Hello World 课程,能够带我极速入门 AI。我期望能够通过这个极速入门课程,在很短时间内,让 AI 从黑盒变成白盒,扫除因知识盲区带来的恐惧感,以及由此带来的过门犹豫症。

考虑到学生的真实诉求,以及自己的学习体验,我决定出一个极速入门课程。该课程类似于一个 Go 项目开发 Hello World,能够让你在极短的时间内入门 Go 项目开发。并由此在未来展开更多的深度学习。

课程目标

基于课程的写作目的,本课程的目标如下:以最小的学习难度,让大家尽快了解如何开发一个功能相对完备的高质量 Go 项目。

本课程的目标开发者是:刚学习完 Go 基础语法,想快速了解如何开发一个 Go 项目的 Go 开发者。

如果你想进阶学习 Go 项目开发技术,可以学习本课程的进阶课程:

  • 中级工程师进阶课:Go 项目开发中级实战课(对应的实战项目为:miniblog)。中级实战课基于技术入门实战课进行升级,包含了更多的技术点,例如:gRPC、gRPC-Gateway、授权、性能测试、性能分析、静态代码检查、Makefile、OpenAPI、自定义日质包、自定义错误包,更强大的校验机制等。
  • 专家级工程师进阶课:Go 项目开发中级实战课(对应的实战项目为:onex)。专家级实战课可以直接让你进阶为 Go 开发专家,本套课程包含了 99 节高质量课程及 15w 行高质量源码。

上述 2 个课程匹配的实战项目代码的开发风格、软件架构是 fastgo 项目的进阶。

Go 项目开发极速入门课特点

因为本课程的目标是能够让你在极端的时间内,相对全面的学习 Go 项目开发,所以本课程具有以下特点:

  • 学习时间短: 课程能够让你在很短时间内快速入门 Go 项目开发,预估时间为 1.5 个小时;
  • 内容全面: 虽然是极速入门课课,但课程的内容仍然相对全面,包含了 Go 项目开发中的重要开发内容;
  • 内容基础: 因为课程内容相对全面,要压缩学习时间,所以,本课程,不会讲太多、太复杂的开发知识,只会讲开发过程中比较基础的知识;
  • 符合最佳实践: 虽然课程内容基础,但仍然符合最佳实践。

Go 项目开发极速入门课实现的功能

在 Go 项目开发中,开发最多的功能是 Web 服务,Web 服务通常包含 2 类接口类型:RPC 接口和 HTTP 接口。其中 HTTP 接口最多。所以,本课程选择了 Go 项目开发中,最高频的开发功能场景:开发一个对外提供 HTTP 接口的 Web 服务(这里简称为 API 服务器)。

我们有多种方法可以用来构建 API 服务器,很多企业构建 API 时,采用一种叫 REST 风格的方式来构建 API,它虽然调用性能不及 RPC,但维护性和扩展性更好,也更通用。所以,本课程采用 REST 风格来构建 API 服务器。此外,在媒体类型上选择了 JSON,因为它的内容更加紧凑,数据展现形式直观易懂,开发测试都非常方便。REST + JSON,这也是 Go API 开发中很常用的组合。

构建一个简单的 API 服务器很简单,但构建一个生产就绪的 API 服务还有很多工作要做。所谓的生产就绪,至少需要满足如下各方面:

  1. 需要读取配置文件、记录日志;
  2. 需要对数据库做增删改查等操作;
  3. 需要返回错误规范的错误信息;
  4. 需要进行请求身份验证;
  5. 需要保证 API 接口的高可用、高性能、高并发;

可以看到要构建一个可以运行在生产环境中的 API 服务器有许多工作要做。本课程希望花尽可能短的时间,来教你了解和学习 Go API 开发的所有环节和功能点。因为本课程是一个极速入门课程,所以课程讲解方式会很干练,直接。不会过多介绍背后的开发原因及相关的知识点。

你会学到什么

本课程是一个实战类的课程,旨在让你花尽可能短的时间,一步一步,毫无门槛的构建出一个 API 服务器。从开发准备到 API 设计,再到 API 实现、测试和部署,每一步都详细介绍了如何去构建。通过本课程的学习,你将学到如下知识点:

画板
知识点很多,跟着课程一节一节进行学习,你将完整的学会如何用 Go 进行项目开发。


http://www.mrgr.cn/news/92901.html

相关文章:

  • 51c自动驾驶~合集22
  • 【Transformer模型学习】第三篇:位置编码
  • swift4-汇编分析枚举内存布局
  • unsloth报错FileNotFoundError: [WinError 3] 系统找不到指定的路径。
  • EtherCAT总线绝对值伺服如何使用
  • 【星云 Orbit-STM32F4】06. 串口密码:USART 数据传递
  • C++学习之内存管理、复合类型、文件
  • (保姆级教程)Windows系统本地部署通义万相2.1视频生成模型
  • pt-archiver删除数据库的数据表/各种报错类型
  • 制造业中的“大数据”:如何实现精准决策?
  • 《UE5_C++多人TPS完整教程》学习笔记33 ——《P34 关卡与大厅之间的过渡(Transition Level And Lobby)》
  • Java实现pdf文件压缩(aspose-pdf实现压缩、itextpdf去除aspose-pdf版权水印)
  • cuda-12.4.0 devel docker 中源码安装 OpenAI triton
  • 代码随想录算法训练营第三十天 | 卡码网46.携带研究材料(二维解法)、卡码网46.携带研究材料(滚动数组)、LeetCode416.分割等和子集
  • 自然语言处理:文本表示
  • Linux系统服务安全检测手记
  • 本地搭建Ollama运行各种平台的大模型(deepseek),配合AnythingLLM-UI界面使用
  • 【漫话机器学习系列】111.指数之和的对数(Log-Sum-Exp)
  • 动态规划多阶段报童模型,c++ 实现, java 实现
  • yolov8,yolo11,yolo12 服务器训练到部署全流程 笔记