Let's Go Further: Go语言高级开发技巧
Let's Go Further: Go语言高级开发技巧
简介:
引言
Alex Edwards所著的《Let's Go Further》(2022)是其畅销书《Let's Go》的延续,后者专注于Go语言Web开发的基础知识。如果说第一本书打下了基础(路由、模板、中间件、数据库操作),那么《Let's Go Further》则提升了标准:在这里,你将学习如何创建可用于生产环境的REST API,管理复杂的PostgreSQL查询,实现基于JWT和令牌的身份验证,编写集成测试,并在服务器上部署应用程序。该书于2022年出版,共590页,面向已经熟悉Go基础的开发者。
书籍内容
《Let's Go Further》是一本关于使用Go构建完整Web服务的实践指南。作者循序渐进地引导读者从架构设计到部署。主要主题包括:
- 从零开始设计RESTful API(路由、处理器、JSON响应);
- 使用PostgreSQL:迁移、复杂查询、事务、分页;
- 身份验证与授权:JWT、bcrypt、刷新令牌、中间件;
- 错误处理与数据验证(自定义错误类型、结构化响应);
- 测试:单元测试、使用测试数据库的集成测试、模拟对象;
- 部署:构建Docker镜像、配置CI/CD、处理环境变量;
- 性能:连接池、缓存、性能分析。
每一章都包含可直接应用于实际项目的现成代码。
适合人群
本书面向已经掌握基本语法、能够使用goroutine和channel,但希望深入构建生产级服务的Go开发者。它将有助于:
- 从其他语言转向Go的后端开发者;
- 希望学习构建REST API最佳实践的开发者;
- 想要学习为Go项目编写测试和配置CI/CD的人;
- 希望获得实践经验的学生和课程毕业生。
如果你刚开始学习Go,最好先阅读同一作者的《Let's Go》——本书假定你已熟练掌握基础知识。
读者将学到什么
阅读《Let's Go Further》后,你将能够:
- 设计并实现支持CORS、分页、过滤的RESTful API;
- 通过
database/sql和pgx使用PostgreSQL(连接池、事务、迁移); - 使用JWT和刷新令牌实现身份验证;
- 编写在隔离数据库中运行的集成测试;
- 为应用程序和数据库配置Docker容器;
- 优化性能:性能分析、缓存、连接管理;
- 结构化代码,使其易于维护和扩展。
优势
本书的主要优点在于其实践导向。每个概念都附有可运行的代码,可从GitHub下载。作者不仅解释理论,还展示在实际开发中如何做出决策:为什么选择某种模式,如何避免常见错误。本书语言生动易懂,没有过多的学术气息。关于测试和部署的章节尤其宝贵——这些主题在其他指南中很少如此详细地介绍。另一个优点是时效性:该书于2022年出版,使用了最新版本的Go和库。
推荐给谁
我强烈推荐《Let's Go Further》给所有希望从编写学习项目转向使用Go创建商业服务的人。本书非常适合自学:你可以按顺序阅读,也可以将其用作特定主题的参考手册。如果你已经在使用Go,但在架构、测试或部署方面感到有欠缺——这本书将填补这些空白。对于正在转向Go的团队,它可能成为内部标准。