03 2024 档案
摘要:状态机是“有限状态自动机”的简称,是一种描述和处理事物状态变化的数学模型。本质上来讲,就是一种比if...else结构更加优雅,并具备可扩展性的状态转移处理机制。有多种实现方案,如:枚举,Spring Statemachine,cola state machine。 枚举状态机 通过在枚举中定义方法
阅读全文
摘要:可以使用2种方式运行单机模式的Nacos服务:编译后的压缩包,从源码启动。 如下运行模式基于MySQL数据库,启动Nacos成功之后访问http://127.0.0.1:8848即可访问管理后台,默认用户名和密码均为nacos。 基于编译后的压缩包启动Nacos服务 下载最新的nacos-serve
阅读全文
摘要:日志打印 使用slf4j作为日志门面API,常用的日志实现库为log4j和logback。 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> <
阅读全文
摘要:实现机制 概括来讲,是将认证信息放在Session中,当客户端发起访问时检查Session中是否存在认证信息,以及认证信息中的权限是否满足预期。 更具体地说,是通过Filter来拦截客户端请求并进行判断处理,使用的Filter链如下: [ org.springframework.security.w
阅读全文
摘要:gRPC概述 gRPC是一种跨语言的RPC框架,之所以它能跨语言,是因为它基于protobuf描述对象实体和方法,最后通过protobuf编译器生成指定语言的代码。 这样,就能通过一套protobuf声明生成多种语言的相同API,对于实现跨语言的RPC通信非常便利,同时也使用protobuf作为通信
阅读全文
摘要:M2_HOME和GRADLE_USER_HOME变量 在$M2_HOME/conf/settings.xml文件中指定Gradle的本地仓库配置信息。 在$GRADLE_USER_HOME/caches/modules-2/files-2.1路径下保存通过Gradle下载的依赖包,Gradle可以直
阅读全文
摘要:项目使用Gradle进行依赖管理,当代码中存在错误时,运行程序时Build界面将报错(这是正常的),但是在报错结果中显示乱码信息,如下所示: 解决办法:给IDEA添加JVM参数:-Dfile.encoding=UTF-8,然后重启IDEA即可。 参数修改路径:Help -> Edit Custom
阅读全文
摘要:文本编辑 CudaText https://cudatext.github.io/ 跨平台的开源文本编辑器,界面跟Sublime Text很像,可以通过Python插件进行扩展。 SSH客户端 Tabby https://tabby.sh/ 跨平台,支持SFTP,开源的SSH客户端。 具备丰富的插件
阅读全文
摘要:project-cleaner 项目地址:https://github.com/nuccch/project-cleaner 项目介绍:用于删除项目中的指定文件或目录,如:target,.idea等 dubbo-apisix-springboot-starter 项目地址:https://githu
阅读全文