- 博客(27)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 Flyway 数据库版本管理工具使用指南
Flyway 是一个数据库版本管理工具,可解决人工执行 SQL 带来的问题,如遗漏执行、重复执行、环境不一致等。它通过自动扫描和执行 resources/db/migration 目录下的 SQL 文件,并记录到 flyway_schema_history 表中。文件命名需遵循特定格式(V/R/U前缀+版本号+描述),并按版本号顺序执行。SQL 编写需考虑兼容性,如使用 IF NOT EXISTS 和存储过程判断列/索引是否存在。Flyway 让数据库变更像代码一样可版本控制,确保各环境一致性和变更可追溯性
2026-03-26 15:20:36
602
原创 HLS流媒体安全实战:详解私有桶、链接防过期与M3U8加密混淆方案
本文详细介绍了HLS流媒体安全解决方案,针对视频点播平台面临的"时效性悖论"问题,提出从代理转发到302重定向的优化方案。核心思路是通过后端生成短效OSS预签名URL并302跳转,实现视频分片"现签现用"。同时解决了<video>标签的鉴权难题,采用双通道鉴权机制兼容URL参数传递Token。进阶方案通过M3U8内容加密和Blob URL技术增强安全性,防止目录结构暴露。整套方案兼顾安全、性能和兼容性,需注意配置CORS规则和确保302状态码返回。
2026-01-15 16:38:41
711
原创 实战:基于 Java + MinIO 实现 HLS 视频私有加密点播方案
本文提出了一种解决私有桶视频点播安全播放的方案。针对HLS协议下M3U8索引文件和TS分片的访问矛盾,采用后端动态重写M3U8+302短链重定向架构:FFmpeg切片上传至MinIO私有桶,后端将M3U8中的TS路径替换为接口地址,在用户请求时即时生成短时效预签名URL并302跳转。该方案实现流量分离(大流量走MinIO)、支持长视频播放、保障高安全性(链接仅几分钟有效),通过Java代码示例展示了M3U8重写和302跳转的具体实现,并解答了路径识别、性能优化等常见问题。
2026-01-06 17:15:39
873
原创 远程服务器显示器分辨率低一键虚拟显示器!远程 Win 服务器 1080P/2K/4K 任意设,告别 640×480 小窗口
Windows Server RDP常因虚拟显示驱动限制导致分辨率锁定640×480,影响云服务器操作体验。通过微软签名的USBMMIDD v2驱动可快速解决:支持4K分辨率自定义,兼容Server 2012-2022系统;实测阿里云/腾讯云3秒实现1920×1080,适配多屏协作;仅需管理员运行bat或执行安装命令即可生效。注意仅支持x64架构,无3D加速功能,需核对文件SHA256确保安全。适用于开发/办公场景,显著提升远程工作效率。
2025-09-24 09:50:54
1539
原创 Optional 浅入使用
Optional 浅入使用空指针异常是导致Java应用程序失败的最常见原因,为了解决此类问题, Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。
2022-11-29 19:54:58
585
原创 DOCX 文档常用操作 - 转富文本、装PDF、提取变量、变量赋值
DOCX 文档常用操作 - 转富文本、装PDF、提取变量、变量赋值、doc 转 docx
2022-10-17 17:10:19
962
原创 项目开发 - 新项目 - 技术合同登记
什么是技术合同 技术合同是当事人就技术开发、转让及与之相关的咨询和服务订立的确立相互之间权利和义务的合同。技术合同包括:技术开发合同、技术转让合同、技术咨询合同和技术服务合同四类,认定、登记的技术合同文本是国家科技部统一制定的格式合同文本。什么是技术合同认定登记技术合同认定登记是指根据《技术合同认定登记管理办法》设立的技术合同登记机构对技术合同当事人申请认定登记的技术合同文本从技术上进行核查,确认其是否符合技术合同要求的专项管理工作。法人、个人和其他组织依法订立的技术开发合同、技术转让合同、技术咨询
2021-01-29 09:01:53
261
原创 spring boot 模板引擎的直接使用--------Thymeleaf 模板引擎的使用
特征Thymeleaf是用来开发Web应用和独立环境项目的服务端Java模版引擎点这里知道 → 什么是模板引擎为什么使用Thymeleaf在之前最开始的时候我们使用的是JSP进行渲染页面,但是,Spring官方所支持的服务渲染模板中,并不包含jsp。而是Thymeleaf和Freemarker等,而Thymeleaf与SpringMVC的视图技术,及SpringBoot的自动化配置集成非常完美,几乎没有任何成本,你只用关注Thymeleaf的语法即可。Thymeleaf的特点动静结合:Th
2020-07-19 17:12:54
565
原创 什么是模板引擎 最近学习thymeleaf,了解下什么是中模板引擎
什么是模板引擎最近学习thymeleaf,了解下什么是中模板引擎**模板引擎:**模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。**原理:**模板引擎的实现方式有很多,最简单的是“置换型”模板引擎,这类模板引擎只是将指定模板内容(字符串)中的特定标记(子字符串)替换一下便生成了最终需要的业务数据(比如网页)。 置换型模板引擎实现简单,但其效率低下,无法满足高负载的应用需求(比如
2020-07-18 15:36:25
611
原创 数据库优化-索引的创建-MySQL-index-SQL优化-避免全表扫描
索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量时间,并造成大量磁盘I/O操作; 为了加快查询,就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。
2020-07-17 13:35:20
1283
1
原创 如何选择索引长度 —— 找到合适的区分度
根据区分度要求作出选择区分度计算:SELECT COUNT(DISTINCT LEFT(col_name, 1)) / COUNT(*) FROM table_name**DISTINCT:**用于返回唯一不同的值**LEFT(str, length):**一个字符串函数,它返回具有指定长度的字符串的左边部分。SQL说明: 截取col_name字段左边 length 位,然后统计其去重后的数目(DISTINCT 去重),用该数目除以表中总数据量,得到区分度计算结果越接近 1 区.
2020-07-16 16:02:00
553
原创 .net 不安装oracle 客户端访问oracle
1、下载解压instantclient(instantclient版本和系统对应,解压后随意放在一个位置)在环境变量中添加以下属性(注意:环境变量配置好之后重启电脑):(我把解压缩的路径放到了D盘,解压缩后的文件夹名为instantclient_12_1)NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBKTNS_ADMIN=D:\instantcl...
2019-12-09 11:08:44
491
原创 JQuery中动态生成的追加HTML事件不可以使用和多个JQuery版本兼容的问题解决办法
因为jQuery版本问题 可以使用live函数使用jQuery on函数结局 ;jQuery 1.9及其以上版本提供了on函数$(document).on(“change_事件”,".class_name",function(){alert(1);}); 多版本jQuery兼容...
2019-07-13 13:57:43
216
原创 Linux - 第六天 shell脚本if for while 和awk
复习运算if语法:if [ 判断语句];then 注意语法格式!!! #单层ifif [ 判断语句 ];then echo "执行语句"fi# if elseif [判断语句];then echo "执行语句"elif [判断语句]; echo "执行语句"else echo "执行语句"fi# 多个判断语句 [...
2019-03-01 10:32:31
318
1
原创 Linux - 第五天 简单的shell编程 系统检测 维护
复习常用命令 find vim 快捷 权限 用户访问权限 文件访问权限 用户 用户 用户组 网络 网络管理 防火墙管理 系统检测维护top 查看消耗资源最多的进程 ps 显示当前瞬间进程状态 ps -ef | grep java 通过prep筛选 ps -ef | grep -e '^[zZ]'查看僵尸进程 -e/A 显示所有正...
2019-02-27 13:11:00
178
原创 鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,螃蟹 ;递归
现在来一只螃蟹 //n只 m腿 public static void getThis(int n, int m){ int x,y,z; //x:鸡 y:兔 z:8支腿螃蟹 for(x=0;x<=n;x++){//遍历鸡的只数 for(y=0;y<=n-x;y++){//遍历兔的只数 ...
2019-02-26 11:41:34
2613
原创 Linux - 第四天 用户角色 角色和时间管理
复习 常用的命令 ls -t -a -l cd touch mkdir -p parent 创建父级 mv rm -r -f pew date -s 修改系统时间 cat head tail more 较多 不可查询 less 较少 减去 head 查看头几条 tail 查看后几条文件 -F 文件监控 gzip 直接压缩文件 ...
2019-02-26 11:26:48
267
原创 Linux - 第三天 解压缩 链接 权限
复习常用的命令 ls -l -t -s touch 新文件 mkdir 新目录 -p parents 双亲父母 创建父级菜单 rm -r -f rmdir cp -r 直接复制文件夹 mv -b 已经存在则备份 -f force 强制覆盖已经存在 -u 保留最新的文件 pwd cat ifconfig more less 可查看分页 vi...
2019-02-25 14:36:36
177
原创 Linux - 第二天:磁盘、文件管理、简单的Linux命令
Linux是基于文件的操作系统;vim补充快捷复习 一般模式、命令行模式、底行模式 进入插入模式:i 前插、a 后插,I 行尾插、A 行首插 复制:yw 当前字符、yy 当前行、nyy 光标开始的几行、yG 最前、ygg、复制到最后。p 粘贴 删除:x 当前字符、nx 后的n个字符、dd 当前行、ndd 当前行的n行、D 清空当前行、组合 dG 到最后、dgg 删到最前 ...
2019-02-23 12:17:07
173
原创 Linux - 第一天:网络配置、vim命令
Linux网络配置:使用vim编辑器找到 /etc/sysconfig/network-scripts/ifcfg-eth0(第一块网卡)编辑 修改配置 将BOOTPROTO=static #这里将auto改为static 即自动改为静态 将IPADDR=192.168.111.10设置成需要的地址 NETMASK=255.255.255.0 设置成需要的子网掩码 ...
2019-02-22 13:29:09
1362
原创 SpringAOP学习笔记
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到...
2018-04-12 10:06:27
178
原创 Frameset应用
frameset<frameset>标签属性属性例子说明rowsrows="15%,*"上下分割并确定分割比例。colscols="100,*"左右分割并确定分割比例frameborderframeborder="no"取值 no 将不显示分隔边界framespacingframespacing="5"确定分割线的宽度(粗细),单位为像素bordercolorbordercolor="...
2018-03-08 13:05:44
126
1
USBMMIDD v2 一键虚拟显示器!远程 Win 服务器 1080P/2K/4K 任意设,告别 1024×768小窗口
2025-09-24
USR-TCP232-Test_jb51.rar
2020-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅