- 博客(891)
- 收藏
- 关注
原创 UUID 的生成示例
需要严格时间排序→ 使用UUID v1或UUID v7优点:自然按时间排序缺点:v1可能泄露MAC地址,v7更安全不需要时间排序→ 使用UUID v4优点:完全随机,安全性高缺点:无法按生成时间排序现代应用推荐→UUID v7结合了时间排序和安全性但需要较新的库支持数据库主键→ 考虑数据库性能UUID作为主键可能影响索引性能大表建议结合其他策略(如雪花算法)选择时需平衡排序需求、安全性和性能要求。
2025-12-25 11:40:00
888
原创 vue3+TypeScript文件下载工具类优化
javascript// 已经移除了不必要的样式设置// ❌ 没有 link.style.display = "none"(很好!
2025-12-23 15:27:51
914
原创 Vue3+Element-Plus+el-select清空选项(确定保存后数据没有改变)的问题
<scritp>alter("xss")</scritp>
2025-12-22 15:52:53
120
原创 Vue3+TypeScript+Element-Plus确认对话框ElMessageBox.confirm
这段代码使用了 Element Plus 的方法创建一个确认对话框,并配置了一些特定的行为选项。
2025-12-21 16:02:59
587
原创 关于XSS
关键结论:必须做防护:即使是局域网,基础XSS防护也是必须的成本很低:基础防护的实现成本极低,性能影响可忽略风险很高:内部威胁同样危险,甚至更危险合规要求:很多行业标准(等保、GDPR等)都要求基础防护习惯培养:培养开发人员的安全编码习惯对于局域网信息系统,至少要实现✅ 所有用户输入的HTML特殊字符转义✅ 输入长度和格式验证✅ 关键操作的日志记录✅ 定期安全扫描和代码审查不要因为"内部系统"就放松安全要求,安全是一个系统工程,需要从第一天就开始考虑。
2025-12-21 10:18:56
720
原创 Spring Boot 3应用执行流程详解
Spring Boot的启动流程虽然复杂,但理解其核心原理对于开发调试非常有帮助。初始化阶段:环境准备和上下文创建配置阶段:自动配置和Bean定义加载启动阶段:Bean实例化和Web服务器启动建议通过实际调试来深入理解每个步骤,这将帮助你更好地掌握Spring Boot的工作原理。像过滤器、拦截器这些是什么时候执行呢?关键点总结:执行顺序:过滤器(Servlet层面)→ DispatcherServlet → 拦截器(Spring MVC层面)→ Controller过滤器在前后执行,拦截器有。
2025-12-21 08:48:50
892
原创 MyBatis-Plus 自动填充推荐使用 strictInsertFill 和 strictUpdateFill(fillStrategy、setFieldValByName)
/ 结果:createTime = 2023-01-01T00:00 (不覆盖,因为不是null)// 结果:createTime = 2023-01-01T00:00 (不覆盖)// 如果实体类中已经设置了 createTime,这里不会覆盖。// 即使实体类已经设置了 createTime,也会被覆盖!// ❌ 错误:类型不匹配,但编译可能通过,运行时报错或填充失败。// 3. setFieldValByName - 强制覆盖。// 结果:createTime = 当前时间 (强制覆盖)
2025-12-19 21:02:43
660
原创 Spring Boot全局日期格式配置方法
java@Bean@Primary// 设置全局日期格式// 针对Java 8时间API的配置// 如果需要,也可以配置LocalDate等其他类型java// 使用方式。
2025-12-19 16:26:05
914
原创 Spring Boot依赖注入方式比较
这就好比:电锯(@Autowired)让伐木更高效,但熟练后你会发现斧头(构造器注入)在某些场景更安全可控。// 如果类比较简单,也可以显式写构造器(代替 @RequiredArgsConstructor)@RequiredArgsConstructor // Lombok 生成构造器。@Autowired(required = false) // 可选依赖。@Autowired // 这当时是个巨大的进步!// 只有一个构造器时,可以省略 @Autowired。// 不需要 @Autowired!
2025-12-19 00:21:11
553
原创 Vue3+Vite引用jquery工具库(因为jquey是工具库不是插件,所以这里是说是引用不是安装依赖)
对于内网环境如果你追求极致的稳定和简单,不想与构建工具纠缠,请选择【方案一】。这是最“傻瓜式”、最接近传统Web开发的方式,在任何环境下都绝对可靠。如果你希望依赖由 npm 统一管理,并且可以接受稍微复杂的配置,请选择【方案三】,或在方案二的基础上必须结合方案三。这是目前 Vite 环境下最实际、最有效的解决方案。无论选择哪个方案,完成后都请:删除index.html中旧的 CDN 引用(如果采用方案三则无需此步)。确保类型声明正确,避免 TypeScript 报错。重启你的开发服务器。
2025-12-16 14:54:59
1864
原创 Vue3+TypeScript安装及使用vue-plugin-hiprint
在 src 或 src/types(项目结构有这个 types 目录)目录下,新建 vue-plugin-hiprint.d.ts。"src/**/*.d.ts", // 包含所有 .d.ts 文件。// 确保 include 包含以下模式。// ... 其他编译器选项。配置,主要的编译配置分散在。是Vite项目使用的。
2025-12-15 21:39:29
225
原创 Java与Javaw进程模式区别解析
java和javaw都是 Java 运行时环境(JRE)中的可执行文件,用于启动 Java 应用程序,但它们在和javajavawSystem.outSystem.errSystem.in。
2025-12-15 08:59:34
305
原创 Vue3+TypeScript安装PDF.js教程
第 {{ currentPage }} 页 / 共 {{ totalPages }} 页总页数: {{ pageCount }}
2025-12-14 12:23:34
726
原创 SQL Server 2008 R2 int最大值解析
bigint:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(8 字节)int:-2,147,483,648 到 2,147,483,647(4 字节):-2,147,483,648 到 2,147,483,647。smallint:-32,768 到 32,767(2 字节):int 类型在 SQL Server 中占用。-- 查看 int 最大值。-- 创建表时使用 int。-- 插入接近最大值的数据。
2025-12-12 21:44:24
194
原创 Nginx生产环境上传文件大小限制解决(413 Request Entity Too Large)
这个问题出现的根本原因环境配置不一致:开发环境没有 Nginx 参与,生产环境有默认安全策略:Nginx 的保守默认设置 vs 开发服务器的宽松设置架构差异:单一开发服务器 vs 多组件生产架构配置遗漏:通常开发时只关注代码,忽略生产服务器的配置这是一个非常典型的"开发环境正常,生产环境异常"的问题,也提醒我们在部署时要考虑完整的请求链路,而不仅仅是应用代码本身。
2025-12-12 10:03:52
1061
原创 Vue3上传文件自动处理Content-Type
不需要手动设置 。原因如下:当使用 对象发送请求时,浏览器会自动设置正确的 ,并包含必要的 boundary(边界分隔符)。手动设置可能会破坏这个机制。如果你手动设置了 ,但没有包含 boundary,请求会失败。正确的格式应该是:textContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW3. 推荐的正确写法typescriptexport const workInstruction
2025-12-11 23:15:37
255
原创 Vue3中API设计与编码兼容性分析
typescript// 统一建议:// 1. 新项目使用第一种API// 2. 保持前后端编码规则一致// 3. 在API文档中明确说明编码要求// 4. 考虑使用POST方式传输复杂参数// 如果遇到编码问题,可以考虑:// 统一使用URLSearchParams处理特殊字符params,});
2025-12-11 22:54:00
727
原创 运行中JAR包替换原理与实践
技术上是可行的,因为操作系统允许这样做,但生产环境不推荐直接替换,应该:正常停止应用备份原JAR部署新JAR重新启动这样可以避免各种潜在问题,如内存泄漏、类加载冲突、资源未释放等。
2025-12-11 21:02:29
398
原创 Spring Boot应用启动时tcnative库缺失的警告
结论:您的Spring Boot应用启动过程正常。这些只是警告信息,表示Tomcat没有找到可选的性能优化库,但会使用标准Java实现继续运行。建议:如果您不打算使用Tomcat APR特性,直接在配置中禁用它即可消除这些警告信息。
2025-12-10 10:04:42
269
原创 Spring Boot工具包及实用工具类介绍
在Spring Boot中,“工具包”通常有两层含义:一是,用于集成特定功能;二是,能简化日常开发。下面我为你整理了核心信息。
2025-12-09 18:50:18
370
原创 Nginx缓存配置分析与优化建议
使用"no-cache"的场景:当你希望兼顾性能与新鲜度,允许缓存但强制验证时使用。适用于静态资源但需要及时更新的情况(如您无版本号的PDF Worker文件)。使用的场景:当内容绝对不允许被任何中间环节存储或提供旧版本时使用。适用于包含敏感信息的页面或应用入口文件。关于always参数:您代码中的always确保了即使Nginx返回错误状态码(如404、500),这个响应头也会被发送给客户端。这在配置缓存策略时是一个好习惯,能保证行为的一致性。对于您的的兜底配置(即不带版本参数时),目前的。
2025-12-09 15:28:51
777
原创 Vue3 + PDF.js的pdf.worker.min.mjs引发的一系列技术问题(开发、部署、测试、Nginx:相关配置+缓存策略)
与的主要区别在于。
2025-12-09 07:53:44
617
原创 Vue3导航栏毛玻璃效果实现(由deepseek实现,通义灵码实现不出来,后续参考实现)
根据您的要求,我将在保留现有结构和注释的基础上,为导航栏实现毛玻璃透明效果。这些调整保持了毛玻璃效果,但使整体色调更灰、更柔和,减少了白色感,同时保持了良好的可读性和美观性。根据您的要求,我将调整导航容器背景色,使其不那么白。:导航栏高度从 32px 增加到 40px,有更好的触摸区域。同样应用了毛玻璃效果,与主导航栏保持一致的视觉风格。,增加一点深度,与调整后的背景色更协调。确保 Safari 浏览器兼容性。伪元素的渐变背景透明度降低,从。的背景色调整为与导航栏一致的。使用更灰的色调,降低白色感。
2025-12-08 20:50:17
415
原创 IDEA处理方法未使用警告方法
在IntelliJ IDEA中,针对“方法未使用”的警告,可以通过局部抑制或调整检查设置来处理。来关闭检查,或者点击右侧的** severity(严重性)** 下拉框,将警告级别从。)本身不会被项目内的代码直接引用,IDEA也会将其标记为“未使用”。总的来说,处理“方法未使用”警告的最佳实践是:优先使用 Alt+Enter。,可以快速隐藏所有代码检查警告(包括未使用警告),方便专注阅读。更推荐使用前述的局部抑制方法。除了使用快捷键,你也可以手动在方法上方添加注解。是最常用的参数,表示抑制“未使用”的警告。
2025-12-08 10:15:45
299
原创 Java中File转InputStream方法详解
最简单的做法java// 如果只需要将File转为InputStream,这一行就够了:推荐的做法java// 加上try-with-resources和异常处理// 使用inputStream// 处理异常关键点使用是最直接的方式记得使用try-with-resources确保流被正确关闭处理文件时最好先检查文件是否存在、是否可读对于大文件,使用可以提高性能为什么是8KB缓冲区你提出了一个很好的问题!
2025-12-08 00:40:49
2337
原创 Spring Boot中@SuppressWarnings用法详解
在 Spring Boot 中,是一个标准 Java 注解,用于抑制编译器警告。它的用法与普通 Java 项目中相同,但在 Spring Boot 项目中常用于处理特定场景的警告。
2025-12-07 22:16:53
633
原创 Spring Boot 多路径映射方法
在Spring Boot中,注解可以接收多个路径。正确的写法是使用花括号{}来包裹多个路径,而不是用逗号分隔的字符串。
2025-12-07 16:56:56
836
原创 Vue3+TypeScript中子组件定义的props函数 onError,父组件可以使用的方式:规范使用:on-error和兼容使用@error
props定义针对onError的使用方式:1、标准的使用方式2、兼容的使用方式。
2025-12-06 10:22:14
648
原创 Vue3+TypeScript 动态样式(对象语法和模板字符串拼接)
除了对象语法,Vue还支持数组语法和其他形式的动态类绑定,但在需要根据条件切换单个类时,对象语法是最常用和最合适的选择。这种做法很有用,因为你可以始终应用基础样式(通过静态类),然后根据组件状态有条件地应用额外的样式(通过动态类绑定)。是的,可以有两个或更多的CSS类。在Vue.js中,你可以同时使用静态类和动态绑定的类。这是Vue.js中非常常见的模式,允许你组合静态和动态类。在我们的项目中,目前使用的对象语法是很好的选择,因为它清晰地表达了意图:基础的。,即可以同时使用静态CSS类和动态绑定的类。
2025-12-06 00:22:47
461
原创 Spring Boot日志安全优化建议
java@Component@Aspect// 安全地记录参数// 对JSON字符串进行脱敏// 只记录文件名,不记录文件内容return "文件: " + ((MultipartFile) arg).getOriginalFilename();})log.info("请求方法: {}, 安全参数: {}",
2025-12-05 21:13:02
894
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅