2026-01-06
作为后端开发者,你是不是每天都在重复敲这些命令:go build 编译代码、go test 跑单元测试、手动清理编译产物…… 不仅麻烦,还容易输错参数?
今天就给大家安利一个解放双手的神器 ——make + Makefile,用它来自动化项目流程,从此告别重复命令,效率直接翻倍!
一、先搞懂:make 到底是什么?你可以把 make 想象成一个自动化执行任务...
阅读全文
2026-01-05
Gorm 的 Preload 是多表关联查询的核心功能,能高效解决 N+1 查询问题,但配置 foreignKey 和 references 时容易踩坑。本文精简梳理其核心原理、配置规则与避坑要点,帮助快速掌握用法。
一、Preload 核心价值与原理1. 核心价值
解决 N+1 问题:批量查询+内存拼接,仅需 2 次数据库请求,提升性能;
简化逻辑:无...
阅读全文
2025-11-28
作为刚接触企业级项目的 Go 新手,我最近发现一个很有意思的现象:同事写代码时,总爱先在 Proto 里定义一堆接口,再用结构体去实现具体逻辑。调用的时候也不直接用结构体对象,而是通过接口方法调用 —— 刚开始看代码时满脑子疑惑:这不是多此一举吗?直接写实现不好吗?为啥要绕这么一圈?
直到后来遇到一个实际需求,再加上和 GPT 梳理思路,我才恍然大悟:原...
阅读全文
2025-11-23
设计数据库的小tips1、数据库表字段不建议设置值时允许为null。
NULL 的比较特性:任何与 NULL 的比较(=, !=, <, >)结果都不是 TRUE 或 FALSE,而是 UNKNOWN。这使得 WHERE 子句的行为变得难以预测。
函数与运算的行为不确定:大多数聚合函数(如 SUM, AVG, COUNT)会忽略 NULL 值...
阅读全文
2025-10-21
今天参加公司的万米跑,很开心拿到了这次比赛的女子第一名,这份成就感永远铭记,虽然成绩并不是很优秀(没有突破自己的个人最好成绩),但是这个过程是让人时刻兴奋的,关键是,在跑步的过程中认识了跟跑的高中生,试着影响他去了解学习ai和计算机。在这个过程中,我反复强调兴趣和做热爱的事情,实际上也是在说给自己,做热爱的喜欢的事情,然后不顾一切后果~
而现在,我认为我在...
阅读全文
2025-10-07
Kafka 本质上是一个消息队列中间件,经常在高并发的场景下我们会见到它,那顾名思义它就是面向于高并发的场景。下面我们来简单了解一下它吧~
kafka有几个关键的概念既然是消息队列,那么一定包含生产者和消费者:
每个生产者生产的消息都会属于一个topic,同一个topic的消息们会按照策略被分到不同的分区(partion)中,为了高可用,每个topic的多个...
阅读全文
2025-09-19
GMP 是 Go 语言特有的协程调度模型:
其中 G 代表 Goroutine(协程),
M 代表 Machine(工作线程),
P 代表 Processor(逻辑处理器),
其中G、P、M均由Go runtime在用户态创建。因此他们都在用户态。
Goroutine(协程)本质上是一个go程序的函数,在主函数中用go关键字标注,那么这个函数就会独立于主函数...
阅读全文
2025-08-18
基于自己的思考结合AI给我梳理的总结,强烈建议看,真的非常条理性,易读也易懂。
在多人协作的 Git 开发流程中,代码冲突是不可避免的场景。如何优雅地解决冲突并确保本地修改不丢失,需要一套清晰的操作逻辑。以下是对冲突解决思路的梳理与优化:
一、冲突场景的核心矛盾当多人基于同一分支开发时,若远程分支已存在他人提交的新内容,而你的本地修改基于旧版本进行,此时...
阅读全文
2025-08-18
我们拉取了一个项目,在此分支进行,修改,同时别人也拉取了统一分支的代码进行修改而且也已经提交到远程,这时候如果我们将本地代码提交了并推送到远程,一定会出现代码冲突的问题,如果我们在代码提交前,再git pull ,也会出现冲突问题, 那么有没有一个优雅的办法应对代码仓库冲突的问题,又避免内容丢失?
有两种解决方案
1、git stash -> ...
阅读全文
2025-08-18
数据命名要规范,数据需要分析清楚再设计接口,对于写接口的时候先整体后局部,代码实现可以交给AI,在后端开发中,沟通是极为重要的,一定要花时间分析数据,下面分享一下自己写接口的经验流程:
1、设计接口文档,先确定大致要实现的接口,每个接口的传参和入参、函数名,函数名要用驼峰命名,公有函数首字母大写,私有函数首字母小写。以及接口要实现的功能。
2、定义数据结...
阅读全文
上一页 1 2 3 4 下一页