分类: 后端开发

spring-boot 源码中好的设计理念

Spring Boot 作为一个广泛使用的 Java 开发框架,其源码中蕴含了众多优秀的设计理念,学习这些理念…


多模数据库

By 文心一言 多模数据库(Multi-Model Database)是指在统一的平台下同时支持多种不同的数据…


布隆过滤器及应用场景

布隆过滤器科普 1. 什么是布隆过滤器? 布隆过滤器(Bloom Filter)是一种空间效率高的概率型数据结…


[后端]Raft 共识性算法核心思想

Raft 是一种用于分布式系统的共识算法,旨在提供比 Paxos 更易于理解和实现的共识机制。Raft 主要用…


[后端]Nginx 有哪些优秀的系统设计

Nginx 是一款高性能的 web 服务器和反向代理服务器,以其高效、稳定、轻量级、可扩展性和易于配置的特点,…


如何提升系统设计能力

提升系统设计能力是成为优秀软件工程师的重要一步。以下是一些系统设计能力提升的关键方法和步骤: 1. 掌握基础知…


Gin autotls

https://gin-gonic.com/docs/examples/support-lets-encryp…


后端 setCookie 的场景

在服务器端设置 Cookie 的场景主要有以下几种: 1. 用户认证 场景: 用户登录后,服务器可以设置一个包…


在后端响应 HTTP 请求返回 302 重定向场景

在后端响应 HTTP 请求的过程中,302 重定向 通常用于临时性地将客户端引导到一个新的 URL。在以下几种…


Gin 中动态路由应用场景

router.GET(“/user/:name/*action”, func(c *gin.Context) …


HTTP 协议里 multipart/form-data 的应用场景说明

关于 multipart/form-data 的应用场景,HTTP 协议在 RFC 2388 中对其进行了定义…


必知必会 – Go 逃逸分析

逃逸分析(Escape Analysis)是 Go 编译器在编译期间进行的一种优化分析,用于确定变量的生命周期…


必知必会 – Go 的关键特性和重点模块

要胜任 Go 语言的资深后端开发工程师职位,关键特性和模块的学习应该聚焦于以下领域: 1. Go 基础特性 G…


Go 中每个请求对应一个协程在哪里实现

在 Gin 框架中,ServeHTTP 方法本身并不直接启动新的 goroutine。实际上,Gin 使用 h…


srv.Shutdown(ctx) 关键代码

srv.Shutdown(ctx) 是 Go 标准库 net/http 包中的 http.Server 类型的…


优雅重启或关闭的原理,Gin 为例

在 Gin 框架中,优雅重启或关闭是指在服务器进行重启或关闭时,尽可能减少对用户请求的影响,并确保所有正在处理…


go context 有哪些作用和注意事项

在 Go 语言中,context 是一种用于在 Goroutines 之间传递请求范围内的数据、取消信号和截止…


Go interface{} 和 any

在 Go 语言中,interface{} 和 any 具有相同的作用,它们都可以存储任意类型的值,但它们之间的…


Go 结构体标签的应用与实现

在 Go 语言中,可以通过反射(reflection)来获取结构体标签中的元信息。reflect 包提供了访问…


为什么说 gin 是 Zero allocation router

Gin 被称为 "Zero allocation router" 是因为它在路由请求时通过…