Google Guava和EventBus
1. Google Guava简介 Guava是Google开发的Java工具库,提供了很多实用工具: 集合工具(Collections) 缓存工具(Cache) 并发工具(Concurrency) 字符串处理(Strings) I/O工具(I/O) EventBus(事件总线) 2. EventB
Spring WebSocket
1. WebSocket基础 连接建立流程: Client Server
| |
|------ HTTP Upgrade ------>| // 发起升级请求
|
HandshakeInterceptor与HandlerInterceptor
HandshakeInterceptor (WebSocket握手拦截器) public interface HandshakeInterceptor {
// 握手前
boolean beforeHandshake(...);
// 握手后
void af
Spring Boot 项目中,多种设置环境变量的方式
在 Spring Boot 项目中,有多种设置环境变量的方式,我按照优先级从高到低列出: 命令行参数: java -jar app.jar --MYSQL_HOST=localhost
系统环境变量: # Linux/Mac
export MYSQL_HOST=localhost
# Windo
解决 JavaScript 处理大数字精度问题
这是为了解决 JavaScript 处理大数字精度问题,我们可以通过以下方式实现: 创建 Jackson 配置类: // src/main/java/top/roozen/lab/competition/config/JacksonConfig.java
@Configuration
public
类型保护(Type Guards)和类型断言(Type Assertions)
在 TypeScript 中,如果你有一个可能具有多种类型的变量,并希望根据其具体类型进行不同的处理,可以使用类型保护(Type Guards)和类型断言(Type Assertions)。以下是几种常见的方法: 1. 使用 typeof 进行基本类型判断 适用于基本类型(如 number, str
TypeScript——类型谓词(Type Predicate)
在 TypeScript 中,pet is Fish 是一种类型谓词(Type Predicate)。类型谓词是一种特殊的返回类型注解,用于在运行时告诉编译器某个变量的具体类型。这种机制通常用于自定义类型保护函数(Custom Type Guard Functions),以便在条件分支中安全地使用特
package.json——版本控制符
在 package.json 文件中,版本号的控制符号用于指定依赖包的版本范围。以下是一些常用的版本控制符号及其含义: 常用版本控制符号 精确版本号 1.2.3 指定一个确切的版本号,只安装这个版本。 波浪号 (~) ~1.2.3 允许安装补丁版本(即第三个数字可以变化),但不会升级次要版本或主要版
npm——Peer dependencies
Peer dependencies 是 npm 包管理中的一个概念,用于指定当前包依赖的其他包,但这些依赖包并不是直接安装在当前项目的 node_modules 目录下,而是期望它们已经存在于父模块或更高层级的 node_modules 目录中。 主要用途 插件系统:例如,React 插件可能需要
JavaScript——Symbol
Symbol 是 JavaScript 中的一种原始数据类型,用于创建唯一的标识符。以下是关于 Symbol 的几个要点: 唯一性:每个 Symbol 值都是唯一的,即使它们具有相同的描述字符串。 描述:可以通过传递一个可选的描述字符串来创建 Symbol,这个描述字符串主要用于调试,不会影响 Sy
event.preventDefault() 和 event.stopPropagation()
event.preventDefault() 和 event.stopPropagation() 是两个不同的事件处理方法: event.preventDefault(): 阻止事件的默认行为 常见用例: <!-- 阻止表单提交的默认行为 -->
<form @submit="e => {
e.
JavaScript/TypeScript 中 ?? 、||、?.
?? 是 JavaScript/TypeScript 中的空值合并运算符(Nullish Coalescing Operator) 它的作用是: 当左侧的值为 null 或 undefined 时,返回右侧的值; 如果左侧的值不是 null 或 undefined,则返回左侧的值。
MyBatis——TypeHandler
@TableField @TableField(typeHandler = PermissionLevelTypeHandler.class) 这个注解主要用于 MyBatis-Plus 自动生成的 SQL 语句中,指定某个字段的类型处理器。它不会直接影响你自己编写的 Mapper 方法中的 SQL
Tree-shaking
Tree-shaking 是一个在现代 JavaScript 构建过程中常用的术语,主要指移除 JavaScript 上下文中未引用的代码(dead code)的过程。 以下是详细解释: 基本概念: // 假设有一个 math.js 文件
export function add(a, b) {
Steam卡片