兴趣不是最好的老师

每当我跟 IT 圈内的朋友说我是生物专业的时候,对方都会大吃一惊,身边的朋友都说我是一个被代码耽误的厨师 😂 ,说心里话,我确实对烹饪挺感兴趣的,很多不喜欢做饭的朋友表示无法理解,一方面可能是基因遗传的缘故,另一方面可能是大量的实践(从我6岁开始,我妈就开始教我煮饭,在我13岁的时候便能独立待客了)。尽管煎炒煮炸难不倒我,但 20 多年的烹饪经历,我始终没能成为真正的大厨,充其量只能算朋友圈的大厨罢了,烹饪之于我,无论是中式还是西式,基本功都很熟练,为什么却一直止步于此呢?

阅读全文

Kotlin 编译器架构剖析

周末在家正刷着 GitHub 呢,微信收到一条消息:“森哥,像 ksp , allopen 这些 Kotlin 的编译器插件,它们是怎么 run 起来的,看了半天一头雾水”,我心想,“不应该呀,十有八九是通过 SPI 来实现插件的加载的”,于是,我赶紧瞅了一眼 JetBrains/Kotlin 的代码,找到了 KotlinGradleSubplugin.kt,于是,假装很懂的样子,发了一个 KotlinGradleSubplugin.kt 的代码截图给他。

阅读全文

如何识别 Kotlin 的 data class

最近做字节码相关的朋友求救:“森哥,ASM 怎么才能识别 kotlin 的 data class?”,我想,这是啥需求还要区分 data class 和非 data class ,后来一问,原来是要把工程中所有实现了 Serializable 接口的 Java 类和 Kotlindata class 单独提取出来,将 Redis 中的 POJO 缓存进行可视化。

阅读全文

架构 Team 往事

昨天晚上正在刷朋友圈,突然就被拉到一个群里,仔细一看,都是以前滴滴的同事,“啥情况?”我问道,扫了一眼成员,除了涛哥,都已经离职了,心想:“不会是涛哥拿了个大 offer 请大家喝酒吧”,突然,画风不对了,群名被修改为“架构组散架群”,当时就一口茶喷到屏幕上,笑到肚子疼,看着聊天记录,一幕幕往事不禁浮现在脑海中。

阅读全文

工程师如何成长

以前总有人问我:“森哥,我怎么才能成为像你一样的大牛?”,我一般就一句话“多折腾”搪塞过去,主要是懒得大费口舌,后来想想,这样也不太好,毕竟有些人还是很有诚意,真的渴望自己能够快速成长的,从我个人的经历来看,「多折腾」其实是包含了很多方面:

阅读全文