2026-01-07
作为编程新手,你是不是也有这样的困扰:想验证一个接口功能,总要先把整个项目跑起来,再用 Postman 一遍遍地调试验证?不仅耗时,还得依赖项目完整运行。今天就以 Kratos 框架为例,手把手教你写单元测试——不用启动整个项目,也能精准验证功能逻辑,从小白到「单元测试大佬」(假的🤡)~
一、先搞懂:单元测试到底解决什么问题?单元测试的核心是测试项目中某个...
阅读全文
2026-01-07
下面是我近3个月遇到的问题和解决,根据我的实习日报整理来,按技术工具类、框架开发类、数据库操作类、项目协作类、业务逻辑类五大维度进行分类,并提炼对应的思考与解决方案,形成可复用的经验沉淀。分享给大家~
一、 技术工具类问题1. Go 语言基础与工具链
遇到的问题
思考与解决方案
go path/go root/go modul...
阅读全文
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在内核空间。
Goroutine(协程)本质上是一个go程序的函数,在主函数中用go关键字标注,那么这个函数就会独立于主函数并发并发运行,也就是说它可以不按程...
阅读全文
2025-08-18
基于自己的思考结合AI给我梳理的总结,强烈建议看,真的非常条理性,易读也易懂。
在多人协作的 Git 开发流程中,代码冲突是不可避免的场景。如何优雅地解决冲突并确保本地修改不丢失,需要一套清晰的操作逻辑。以下是对冲突解决思路的梳理与优化:
一、冲突场景的核心矛盾当多人基于同一分支开发时,若远程分支已存在他人提交的新内容,而你的本地修改基于旧版本进行,此时...
阅读全文
1 2 3 下一页