后端 [16]

Fiber 3.0 初探:更快、更轻、更现代

前两天在逛 GitHub 的时候,突然刷到之前一直关注的 Fiber 框架正式发布了 3.0 版本。这个项目我之前关注了很久,一直觉得它性能猛、API 亲切,尤其是[文档](https://docs.gofiber.io)写的真心不错,但也是因为网上风评忽冷忽热,尤其是基于 fasthttp 被诟病,之前项目里没有去深度使用。这次 v3.0 发布,正好上手体验一下,看看它在保持极致性能的同时,到底把体验做到了什么程度。

Go 项目中是否有必要引入 DI 组件?Wire、Dig 与手动管理对比分析

在日常开发中,无论是个人项目还是公司业务系统,我常常陷入一种熟悉的困境:随着功能不断迭代,代码中的依赖关系逐渐失控——main.go 越来越臃肿,动辄数百行的初始化逻辑像一张纠缠不清的网;Controller 里硬编码着对数据库、缓存、第三方客户端的直接调用;Service 层和 Repository 混杂在一起,测试时 mock 无从下手。

Go Embed 实战:简化部署与静态资源管理

在 Go 语言生态中,资源文件管理一直是个痛点。传统的资源文件处理方式需要在部署时额外关注这些文件的位置和权限,增加了部署复杂度。Go 1.16 引入的 embed 功能彻底改变了这一局面,它允许开发者将静态资源直接编译进二进制文件,极大地简化了部署流程。本文将深入探讨如何利用 embed 提升开发部署效率,并实现类似 Java 的灵活配置加载策略。

Go 基础算法实现示例集

在工作与面试准备中,常常需要快速回顾基础算法的核心实现。本文正是一份为此类场景打造的 Go 语言算法速查手册。本文不追求冗长的理论推导,而是聚焦于提供清晰、可运行的核心代码实现。内容涵盖了链表、字符串处理与排序算法等关键主题,旨在成为一份可以随时查阅、即拿即用的代码参考,助高效巩固基础。

Go 项目实战:实现 JWT 认证中间件

在构建安全可靠的 Go Web 服务时,JWT(JSON Web Token)认证是常用的解决方案。本文将介绍如何在 Gin 框架中实现完整的 JWT 认证方案,同时包含灵活的 Redis 集成选项。

记一次 Go 开发岗面试

如下题目于面试结束两周后,整理了当初未能回答上来的问题,在此分享总结,以供参考。

Go-SJSON 组件,JSON 动态修改新方案

在Go语言 json 处理领域,在 json 数据处理中,读取与修改是两个核心需求。前文介绍的 [`GJSON`](https://vespeng.github.io/posts/go-gjson-component/) 解决了灵活读取问题,而 `SJSON` 作为其姊妹库,则专注于实现无需结构体定义的 json 动态修改。

Go-GJSON 组件,解锁 JSON 读取新姿势

在 Go 语言开发领域,json 数据处理是极为常见的任务。Go 标准库提供了 `encoding/json` 包用于处理 json 数据,同时第三方库 `GJSON` & `SJSON` 也在 json 处理方面表现出色。本文将深入探讨下 GJSON 组件,通过与原生处理方式对比,它存在什么特别之处,它的优势体现在哪。

Go 项目实战:全局异常处理

在 Go 项目开发中,有效的异常处理是确保程序健壮性和稳定性的关键因素之一。全局异常处理机制能够统一处理项目中可能出现的各种异常情况,提高代码的可读性、可维护性以及错误处理的一致性。

Go 项目实战:如何部署多环境开发

在 Web 项目的开发过程中,能够在不同的环境(如开发、测试、生产)中进行灵活部署是至关重要的。不同环境通常需要不同的配置,如服务器端口、数据库连接信息、缓存设置等。