作者小头像 Lv.3
更多个人资料
208 成长值
0 关注
0 粉丝
+ 关注 私信

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
190
18
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

以上满足项可达成此勋章

  • 博客
  • 关注
  • 粉丝
  • 论坛
全部时间
全部时间
最近三天
最近一周
最近一月
  • 全部
  • 暂无专栏分类
Go 的 defer,简单但有几个地方得留神
起因defer 是 Go 里我用得最多的关键字之一,开文件、加锁、关连接,基本每个函数里都有。用起来简单,但有几个行为跟直觉不太一样,踩过之后才记住。 执行顺序是倒着的defer fmt.Println("first")defer fmt.Println("second")defer fmt.Println("third")输出是 third、second、first。后进先出,跟栈一样。...
作者小头像 yd_241780069 2026-11-08 20:56:48
1
0
0
2026-11-08 20:56:48
1
0
0
Go 的 goroutine,用起来简单,管起来要命
起因写 Java 的时候线程池是标配,核心数多少、队列多大、满了怎么拒绝,都得想一遍。转 Go 之后发现一个 go 关键字就能起并发,简单到让人不习惯。简单归简单,用久了才发现坑都在后面:goroutine 泄漏、无限制地起、数据竞争,一个没注意就是线上问题。这篇记一下我实际遇到的和后来定下来的习惯。 起 goroutine 太容易了for _, url := range urls { ...
http
作者小头像 yd_241780069 2026-11-07 22:13:48
1
0
0
2026-11-07 22:13:48
1
0
0
Go 的 error,我花了很久才用顺
起因从 Java 转过来,最不适应的是 Go 的 error 处理。Java 里 try-catch 一把兜住,Go 里每个可能出错的地方都得写 if err != nil,一开始觉得啰嗦得不行。写久了才慢慢理解它为什么这么设计,也踩了几个坑。 最基本的Go 没有异常,错误是值。函数返回 (结果, error),调用方自己判断:f, err := os.Open("file.txt")if...
作者小头像 yd_241780069 2026-11-06 20:45:08
4
0
0
2026-11-06 20:45:08
4
0
0
Go 的 interface,跟我一开始理解的不太一样
起因写 Java 写了几年,习惯了 implements 关键字,类上不写这句就不算实现接口。转 Go 之后,照着习惯找“在哪声明实现了接口”,找了半天没找到,以为哪里写错了。后来才知道,Go 的接口是隐式实现的。你不需要告诉编译器“我这个类实现了那个接口”,只要方法签名对上了,它就自动算实现。 显式和隐式Java 里是这样:public class UserService impleme...
作者小头像 yd_241780069 2026-11-05 21:15:45
5
0
0
2026-11-05 21:15:45
5
0
0
Spring 接口限流,我最后还是没上 Guava
起因有个查询接口被爬了。不是恶意攻击,对方就是慢慢爬,但频率太高,数据库扛不住,其他用户的请求开始超时。查日志发现同一个 IP 一分钟调了几百次,正常用户根本用不到这个量。第一反应是在网关加限流,但我们网关是运维那边管的,走流程排期得等一周。等不了,先在应用层自己兜一下。 先试了本地缓存最省事的方案,ConcurrentHashMap 按 IP 计数,一分钟内超过阈值就拒。单机测没问题,上...
Redis Spring
作者小头像 yd_241780069 2026-11-04 15:41:08
8
0
0
2026-11-04 15:41:08
8
0
0
Spring 事件机制,比我想的好用
起因下单成功后要干几件事:发通知、加积分、写操作日志。一开始全塞在 createOrder 方法里,一个方法两百多行,改一处怕碰坏另一处。后来试了试 Spring 的事件机制,把这些拆出去,主流程清爽了不少。不是所有解耦都得靠 MQ。进程内的事情,Spring 事件够用了,还不用多维护一个中间件。 基本用法三个东西:事件、发布者、监听者。事件就是个普通类,继承 ApplicationEve...
Spring
作者小头像 yd_241780069 2026-11-03 22:46:31
9
0
0
2026-11-03 22:46:31
9
0
0
Spring 参数校验,别只会加个 @Valid
起因接口参数校验,最开始我的做法就是 Controller 方法参数上加个 @Valid,实体类字段上标几个 @NotNull,报错了就返回 400。能用,但用久了发现几个问题:报错信息是英文的、嵌套对象不校验、分组场景没法处理、自定义规则写起来很别扭。这篇把校验这块我实际用过的东西记一下。 基础的那套依赖先确认有:<dependency> <groupId>org.springfr...
Spring
作者小头像 yd_241780069 2026-11-02 22:57:30
12
0
0
2026-11-02 22:57:30
12
0
0
Spring 里那些“加了没生效”的注解
起因写代码的时候加了个注解,心里觉得稳了,跑起来发现压根没起作用。排查半天,原因五花八门:有的被同类调用绕过去了,有的被代理机制吃了,有的干脆得配合另一个注解才能用。这篇记几个我实际撞过的,都是“看着没问题、跑起来不对”的类型。 @Async 加了还是同步方法上标了 @Async,调用方等了半天,返回值也拿到了,怎么看都是同步执行的。两种常见原因。一种是同类调用。this.asyncMet...
Spring
作者小头像 yd_241780069 2026-11-01 18:35:51
18
0
0
2026-11-01 18:35:51
18
0
0
Spring 定时任务,我遇到过的那几个坑
起因项目里有个对账任务,每天凌晨跑一次,把前一天的交易记录和第三方流水比一遍。用 @Scheduled 写上去,测试环境跑得好好的,上线之后出了问题:对账结果重复了两遍。查下来才发现,生产环境部署了两个实例,两个实例各自跑了一遍定时任务。@Scheduled 只在单机内保证不重复,跨实例它管不了。 单机下的坑也不少默认单线程。 加了好几个 @Scheduled 方法之后发现它们是串行执行的...
Spring
作者小头像 yd_241780069 2026-10-31 12:23:42
26
0
0
2026-10-31 12:23:42
26
0
0
从 Spring Boot 2 升到 3,我改了三天代码
起因项目还在 2.7.x,本来没打算动。直到有天收到安全扫描报告,说某个依赖在 2.x 上已经不维护了,建议升到 3.x。查了一下,Spring Boot 2.7 的开源支持到 2024 年 11 月就结束了,再拖下去连安全补丁都没了。行吧,升。原以为改改版本号的事,结果折腾了三天。 第一刀:javax 变 jakarta这是最直观也最烦人的改动。所有 javax.servlet.*、ja...
Spring Spring Boot XML
作者小头像 yd_241780069 2026-10-29 21:11:04
41
0
0
2026-10-29 21:11:04
41
0
0
总条数:16
10
10
20
50
100
  • 1
  • 2

上滑加载中

https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
作者小头像
作者小头像
快速交付
+ 关注