获得徽章 0
communicate in english is so difficult. we should unify the world to use chinese[捂脸] but it's impossible, we should learn english harder.
评论
hello, agent!
Nature language sematic, Tools & Workflow, MCP, AIA ......
Java分布式架构实战于2025-11-12 21:10发布的图片
评论
Seperate of Concern:
时机:在堆代码的时候,先堆上去,让它工作起来。然后想一想有哪些副作用和风险,能不能更合理地拆分来实现关注点分离!

优势:带来更清晰的代码,更好复用的代码
Java分布式架构实战于2025-11-12 16:02发布的图片
评论
只有英文问题,英文回答时符合代码逻辑。中文问题,英文回答时,会被纠错?
Java分布式架构实战于2025-11-12 13:46发布的图片
评论
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
展开
1
在SpringBoot service层,也可以通过@Validated+@Valid验证参数。
Java分布式架构实战于2025-11-10 15:46发布的图片
1
let's respect production:test sql: delete from page_node where id = 'rnmbide'
Java分布式架构实战于2025-11-05 14:05发布的图片
评论
安装JDK15后,idea报错

java: 源发行版 17 与 --enable-preview 一起使用时无效 (仅发行版 25 支持预览语言功能)


root cause:

Target bytecode version 17 和代码中使用到Virtual Thread\ScopedValue\StructuredTaskScope\ScopedValueVirtualThreadTaskExecutor 等JDK25相关预览特性不匹配导致的。
展开
Java分布式架构实战于2025-10-24 20:56发布的图片
评论
在代码审查时发现,小伙伴习惯遇到需求就复制代码,或加一个if-else。

此时,我们应该考虑用设计模式。比如这里,可以用类似于用模板方法模式的思想,有些动作,比如这里的版本号决策延迟到子类中实现。
Java分布式架构实战于2025-04-25 18:03发布的图片
评论
阿里Java规范不建议用枚举,可能大多数人理解不了。包括我。我建议是充分利用枚举类。不要听他们的,自己来实践。

1,枚举字段用枚举类;
2,枚举类比较用==;
3,数据拷贝用MapStruct,不用BeanUtils。
评论
# 在windows 开发环境安装nginx

# 安装windows service管理器
choco install nssm

# 安装nginx
choco install nginx
展开
Java分布式架构实战于2025-03-24 17:43发布的图片
Java分布式架构实战于2025-03-24 17:43发布的图片
Java分布式架构实战于2025-03-24 17:43发布的图片
评论
输入:<#key#>, <#^key#>, <#~key#>
期望输出:key

private String getKey(String str) {
String regex = "<#(?:\^|~|)?(.*?)#>";
return str.replaceAll(regex, "$1");
}

原正则表达式说明:
<#:匹配起始标签
(?:\\^|~|)?:非捕获分组,匹配^或~或空(注意管道符|后有个空选项)
(.*?):捕获组,非贪婪匹配任意字符
#>:匹配结束标签

优化后

// 新增预编译Pattern (类成员变量)
private static final Pattern KEY_EXTRACT_PATTERN = Pattern.compile("<#(?:\\^|~|)?(.*?)#>");

private String getKey(String str) {
Matcher matcher = KEY_EXTRACT_PATTERN.matcher(str);
return matcher.replaceAll("$1");
}
展开
评论
将Node.js中的表达式${data?.pageConfig?.pageConfigData?.tips ? "xxx": "yyy"}转换为freemaker写法::<#-- 模拟数据 -->
<#assign data = {
"pageConfig": {
"pageConfigData": {
"tips": "这是提示信息"
}
}
}>

<#-- 逐级检查 -->
<#if data?? && data.pageConfig?? && data.pageConfig.pageConfigData?? && data.pageConfig.pageConfigData.tips??>
逐级检查:tips 存在,其值为 ${data.pageConfig.pageConfigData.tips}
<#else>
逐级检查:tips 不存在
</#if>

<#-- 使用 default 函数 -->
<#assign tips = data.pageConfig.pageConfigData.tips!>
<#if tips?has_content>
default 函数检查:tips 存在,其值为 ${tips}
<#else>
default 函数检查:tips 不存在
</#if>

<#-- 使用 attempt 指令 -->
<#attempt>
<#if data.pageConfig.pageConfigData.tips?has_content>
attempt 指令检查:tips 存在,其值为 ${data.pageConfig.pageConfigData.tips}
<#else>
attempt 指令检查:tips 为空
</#if>
<#recover>
attempt 指令检查:tips 不存在
</#attempt>
展开
评论
1,在数据库设计时,如果在业务上具体唯一性时,一定要设计唯一索引,做个兜底。
2,throw new RuntimeException(ex)时,会在异常消息前多一串“java.lang.RuntimeException: ”
java.lang.RuntimeException: org.apache.ibatis.exceptions.PersistenceException:
### Error committing transaction. Cause: org.apache.ibatis.executor.BatchExecutorException:
展开
1
# git 分支管理
1、 release 分支是受保护的只能merge代码不能提交。
2、每个sprint 开始 会基于release分支 创建一个release/sprint(number)
3、每个sprint feature 分支 都从release/sprint(number) 创建。
4、每个sprint 结束前要完成当前 release/sprint(number) 开发,测试,集成。最后将release/sprint(number) merge 到release 分支上

思考:如何更好地划分一个sprint下面的多个feature?

这里的需求拆分要像代码一样,做到“高内聚,低耦合”。
展开
评论
在idea community中,maven插件编译输出中文时乱码。各种办法试了一遍。竟然发现是windows 11 中文版默认的Active code page是936,即GBK。这时javac在使用-Dfile.encoding时,输出英文字符不会乱码。但是在输出中文字符时,会乱码。必须把windows 11系统的Active code page设置为65001。
Java分布式架构实战于2025-01-17 22:15发布的图片
评论
下一页
个人成就
文章被点赞 104
文章被阅读 35,411
掘力值 1,065
收藏集
35
关注标签
10
加入于