Ajax Zhan's Blog

Welcome!This is Ajaxzhan.
坚信:品味优先于执行,价值驱动下创造、系统工程保安全
持续跟进AI前沿研究,持续思考技术、产品与思维。

这是AI时代,也是一个酒神时代——新技术、新产品、新SOTA层出不穷,从传统大厂到创业公司到OPC到每个个体——每个人都在拼了命想赶上这波浪潮。

神奇的是,在感性和理性的拉扯中,我的理性在这一个月里面变得淡了许多,几乎没有占据过主导地位,感性倒是久不散去,给我带来了许多欢乐和痛苦。

只需要将VPN改成虚拟网卡模式,再打开Cursor的HTTP2.0模式就不会有模型被拦截的问题了,很神奇。解决了HTTP1.1网络环境太差的问题。

最近开始意识到一种很重要的能力——幽默,当然这种幽默不仅仅是对别人,更多是对自己的一种幽默。如果一个人都无法进行自嘲和对生活中的事情进行解构,那么这个人绝对会获得特别痛苦和憋屈,更不用说会产生什么有价值的思考了。所以保持一种对自己冷幽默的态度还是很重要。

兼具深度与启发性的分析,能有效帮助培养更敏锐的Research Taste:关于大海捞针是一个很好的评估长上下文的指标——https://www.zhihu.com/question/654570878/answer/1965228622118888157

AI的发展、LLM的发展太快了,落地的推进也很迅速,中国有无数能人志士正在各自岗位推动这件事情。今年看到的太多新闻都给我一种感觉:AI的浪潮不像是泡沫,未来3-5年AI的需求只会增加,不会减少。浪潮之下,要学习的东西还太多太多。

最近把MLLM当作OCR来用,大概就是识别图中的习题然后转成平台兼容的格式。这个过程中发现大模型的幻觉还挺可怕,他要是直接给你很离谱的错误也就罢了,他居然会给你修改选项中的一些细节,并且修改得很合理,让你完全看不出来。这种幻觉在很多领域我认为还是不可接受的,而且关键是怎么检测出来这种幻觉?如果还要靠人为来检测,那这种基于大模型的自动化工作流其实意义就大打折扣了。

今晚回顾了之前支教的照片,感慨颇深。想做一个好的老师,但确实做的不够好。

今天研究了Coze的Multi-Agent、豆包的语音合成大模型、开源的OpenWebUI和NewAPI,感觉都挺牛的,效果很令人振奋,可以试试组合起来做个项目。

同时我现在越来越觉得,不是为了追求技术而技术,而是要用技术做出真正的好产品,注重用户体验和实际价值。真正的好产品实在令人振奋,字节跳动公司推出的豆包语音系列效果震撼,飞书在办公方面做的绝绝子,今天实用了火山引擎的工单系统都觉得很nice。感觉字节的产品都很有灵气。

今晚看了看过去一年的日记,很有感触,记日记真的很有意思,只有通过当时的文字才能观照今日的自己是否已经成长了。我们需要隔一段时间询问一下自己:自己是否激情依旧,是否能留存有过去许下愿望那时的热情?

开发札记:如何在业务中添加日志系统

提到日志,我们一般只会想到使用 @Slf4j打印的日志,实际上我们系统中的日志还可以细分为系统日志、登录日志和操作日志。本文将讲述如何在SpringBoot中使用和开发这三种日志系统。 关键词:Logback、Slf4j、p6spy、AspectJ、SpringEvent、线程池、Async 这里我

开发札记:Validator注解配合国际化

本文详细记录了Spring Boot中国际化与Validator校验的配置及协同使用。首先通过i18n目录配置多语言资源文件(如messages.properties、messages_en_US.properties),结合Yml配置和自定义LocaleResolver实现请求头语言解析。封装MessageUtils工具类,支持异常信息与日志的国际化输出。随后集成Hibernate Validator,通过ValidatorConfig配置快速校验模式,并封装ValidatorUtils工具类。利用@Validated注解或编码方式实现实体校验,结合国际化资源文件(如@Size注解引用length.not.valid键值)实现动态错误提示。最后通过分组校验(AddGroup/UpdateGroup等)满足不同场景需求,提升开发效率与用户体验。

开发札记:基于Sa-Token构建权限系统实战

本文详细介绍了如何使用Sa-Token框架整合JWT实现登录鉴权和权限授权,并采用Redis作为数据持久层。文章首先说明了必要的Maven依赖和yml配置,包括token名称、有效期、JWT密钥等关键参数。随后通过自定义SaTokenConfig类实现拦截器功能,注入JWT模式、权限接口和Redis自定义DAO层。重点分析了登录验证流程,包括密码校验、token生成与Redis存储机制,以及基于注解和API的权限功能实现。文章还深入探讨了Sa-Token的源码架构,包括多级缓存策略、上下文持有类和拦截器原理,为开发者提供了完整的实战指南。

JVM基础:内存结构与垃圾回收

本文详细介绍了JVM内存结构与垃圾回收机制。内存结构分为线程共享(堆区、方法区)和线程私有(程序计数器、JVM栈、本地方法栈)区域,其中堆存储对象,方法区存放类元信息(JDK8后移至元空间),直接内存用于NIO优化。垃圾回收基于可达性算法,通过GC Root(如线程对象、类加载器等)判断对象存活,并支持强、软、弱、虚、终结器五种引用类型。回收算法包括标记清除(存在碎片)、复制(高效但空间利用率低)、标记整理(无碎片但效率低)及分代GC(年轻代复制算法+老年代标记整理),主流垃圾回收器有Serial(单线程)、CMS(低延迟)、Parallel(高吞吐)和G1(平衡延迟与吞吐)。

JVM基础:字节码文件与类加载器

认识JVM JVM的作用: 解释和运行:将字节码指令解释为机器码。 内存管理:自动分配对象和方法内存;GC 即时编译JIT:对热点代码做优化(将热点代码的机器码保存到内存中,下次直接调用) JVM规范: 规定字节码文件的定义、类和接口的加载和初始化、指令集 JVM规范并不是针对Java语言设计的要求

单元测试实践札记:JUnit

单元测试的好处 单元测试的好处: 为重构项目保驾护航 提高代码质量:做单元测试需要隔离外部依赖,促使工程做组件拆分,减少代码耦合度。 减少bug:确保各个单元逻辑正确 快速定位bug 测试驱动开发(TDD): 最早接触TDD理念是在伯克利的CS61B中,这门课有一个章节专门教你写单元测试,并鼓励通过

读书札记:重读罗洛.梅——解构焦虑和寻求慰藉

罗洛·梅《人的自我寻求》聚焦现代人泛化的失望与无意义问题,剖析空洞、孤独、焦虑的本质:空洞者缺乏自我感知,孤独源于对独立存在的恐惧,焦虑是心理冲突的信号。书中强调,人性如树需内在力量成长,理论的意义在于提供体系化思考,助我们建立自我体验(I-ness)、承担责任、创造性生活。通过增强自我意识、拥抱自由与责任、以勇气打破顺从、在爱中实现自我升华,我们能在不确定中找到方向,对抗焦虑与麻木,完成内修与自我整合,活出真实的生命体验。

Docker实践:部署前后端分离项目

前言 笔者最近正在写一个前后端分离项目,涉及的技术栈比较传统,就是SpringBoot+Vue3。 整个项目需要部署到一个新的Linux服务器,鉴于配置各种环境和依赖大概率要碰一鼻子的灰,我使用了Docker进行环境的部署。 这个过程可以顺带复习一下很久没用的Docker命令,经过一番折腾和踩坑后,

高人对话:个人学习金字塔构建思考

本文记录了作者对“学习金字塔模型”的学习感悟,该模型将学习分为六个阶段:不求甚解(概念理解)、找寻主干(原理拆解)、达成最小目标(demo实证)、构建知识树(全局整合)、迭代计划(问题驱动)、关键点突破(内化与顿悟)。文章强调实践是养成思考习惯的核心,迭代优于增量堆砌,需通过demo验证理论、复盘总结,再以问题驱动知识树演进。作者作为大二学生,正以此模型构建思维体系,平衡写作、管理等能力,探索IT行业成长路径,力求通过渐修实现顿悟。

分享:Jordan Peterson对成熟的讨论

Jordan Peterson是多伦多大学的心理学教授、临床心理学家,同时也是前哈佛大学心理学系教授。他的主要研究领域包括异常心理、社会心理以及人格心理学。 本文为Jordan教授一次关于成熟的讲座的部分摘抄,主要是觉得对自己很受用,值得反复品味。 The topic in maturity The