ohUrlShortener 短链接系统 v2.0 发布 | 指定「打开方式」功能支持
距上一次更新版本差不多两个月,ohUrlShortener 短链接系统与昨天晚上正式发布 v2.0 版本
这个版本主要的变化:
- 启动性能优化:在短链接数量持续上升之后,启动系统时需要的初始化过程优化
- 新增:在新建短链接时指定「打开方式」,方便在一些特殊场景需要
ohUrlShortener 是适合中小型社区网站使用的企业级短链接服务系统,支持短链接生产、查询及 302 转向,并自带点击量统计、独立 IP 数统计、访问日志查询:
- 支持 Docker One Step Start 部署启动
- 支持短链接生产、查询、存储、302 转向
- 支持访问日志查询、访问量统计、独立 IP 数统计
- 支持 HTTP API 方式新建短链接、禁用 / 启用短链接、查看短链接统计信息、新建管理员、修改管理员密码
- 支持访问日志导出,方便线下分析
.NET 8 Preview 4
.NET 8 发布了第四个预览版。
下载地址:dotnet.microsoft.com/download/do…
主要变化:
- 改进 MSBuild 的终端构建输出
- SDK:简化输出路径更新
- 模板引擎:来自 Nuget.org 包的安全体验
- 库:改进 UTF8
- 引入时间抽象 (Time abstraction)
- 改进原生 AOT
更新了默认的 console 模板,并添加了对开箱即用的 AOT 的支持。现在可以调用 dotnetnewconsole--aot 来创建为 AOT 编译配置的项目。
- 支持 Linux 发行版
.NET 8 针对 Ubuntu 16.04 构建,适用于所有架构。这对于定义 .NET 8 的最低 glibc 版本非常重要。.NET 8 将无法在包含旧 glibc 的发行版上启动,例如 Ubuntu 14.04 或 Red Hat Enterprise Linux 7。
Opera 99 发布,为切换至 Opera One 做准备
Opera 在上个月推出了一款名为 Opera One 的新浏览器,该浏览器正处于开发者预览阶段,用户可以访问官网下载试用。这个浏览器的终极目标是在今年晚些时候取代其当家的 Opera 浏览器。
日前,Opera 99 稳定版正式发布,为切换至 Opera One 做准备。
- 更新 Chromium 至 113.0.5672.93
- 修复 "关闭所有重复的标签" 的错误翻译
- 当选择动画墙纸时,section#folder 和 AddSitePanel 上的字体不可读。
- 清理重新授权器和权限清除代码,因为它们变得没有必要。
- 通过拖动标签条外的标签来创建一个新窗口
- 内置 Opera One 安装程序
- 从 CoS 打开多个链接应出现在同一个标签岛中
- 当夹住的标签处于活动状态时,修复打开新的标签会出现两个活动标签
- 在启用 #platform-aac-decoder-in-gpu 的情况下收集更多数据以帮助诊断媒体管道错误
- [Win] 更改 Opera 应用程序图标
- [Win] 更改 Opera 安装程序图标
- 上下文菜单中的标签岛计数器不正确
- 复选框的文字在某些语言中被切断了
- 使标签和工作区的动画更流畅
- 更新 Opera One 面板的背景
- 背景图片有像素化现象
- 触发折叠岛的非调整大小模式
- ……
KeePassXC 2.7.5 发布,支持 Botan 3
KeePassXC 是由 KeePass 密码管理器的一个分支发展而来的,相比原版 KeePass,KeePassXC 除了适配 Windows,还适配了 Linux 和 macOS。
通过 KeePassXC 可以存储和管理个人的敏感信息。保存在 KeePassXC 上的信息全部都会进行离线加密,借助于云存储服务可以实现跨平台同步。
KeePassXC 2.7.5 发布,本次更新内容如下:
变化
- 添加菜单选项以允许截图
- 增加对 Botan 3 的支持
- 增加最大 TOTP 至 24 小时
- 改进 HTML 导出布局
- 默认情况下将搜索重置关闭
- 使用 QClipboard::clear () 而不是设置空白文本
- 当不在搜索中时,隐藏组列标题选择
- 改进 KeePassXC 标志和图标的外观
- 增加应用程序和数据库设置的键盘快捷方式
- 隐藏附件预览面板中的重命名按钮
- Linux: 在 .desktop 文件中设置 SingleMainWindow
- Increase max TOTP step to 24 hours
修复
- 修复在远程桌面会话中使用 Windows Hello 时的崩溃
- 修复启用浏览器集成后组编辑中的崩溃
- 修复快速解锁不可用时的取消
- 正确设置密码输入栏的字体
- 大大提高渲染条目视图时的性能
- 修复各种可访问性问题
- 修复扩展 / 折叠组时的箭头大小
- 修复预览小部件的错误
- 修复切换到其他数据库时的状态栏更新
- ……
likeshop基于「ThinkPHP + Vue + Nuxt + uni-app」实现的免费开源商城系统,支持H5、小程序、APP,微信支付、支付宝支付、短信、云存储、优惠券、秒杀、拼团、抢购等主流功能,专业团队维护,值得信赖,欢迎下载体验。
2千+star开源地址:gitee.likeshop.cn/1HurY0AC
官网文档地址:gitee.likeshop.cn/1HurY0AC
高性能 Jsonpath 框架,Snack3 3.2.72 发布
Snack3,一个高性能的 JsonPath 框架
借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计。其下一切数据都以 ONode 表示,ONode 也即 One node 之意,代表任何类型,也可以转换为任何类型。
- 强调文档树的操控和构建能力
- 高性能 Json path 查询(顶级的兼容性和性能)
- 顺带支持序列化、反序列化
- 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险)
<dependency>
<groupId>org.noear</groupId>
<artifactId>snack3</artifactId>
<version>3.2.72</version>
</dependency>
本次累计更新:
- 优化 $.[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')] 兼容性
- 优化 $[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')].fields[*] 兼容性
- 优化 $...* 的兼容性
- 修复 $..*[?(@.id)] 可能出现 value 项
- 修复 bindTo (obj) 可能会返回 null 的问题
- 增加 java record 的参数与字段去重处理
- 增加 Charset 反序化支持
简单演示:
ONode o = ONode.loadStr(json); //将json String 转为 ONode
ONode o = ONode.loadObj(user); //将java Object 转为 ONode
//不确定返回数量的,者会返回array类型
//找到所有的187开头的手机号,改为186,最后输出修改后的json
o.select("$..mobile[?(@ =~ /^187/)]").forEach(n->n.val("186")).toJson();
//找到data.list[1]下的的mobile字段,并转为long
o.select("$.data.list[1].mobile").getLong();
//查找所有手机号,并转为List<String>
List<String> list = o.select("$..mobile").toObject(List.class);
//查询data.list下的所有mobile,并转为List<String>
List<String> list = o.select("$.data.list[*].mobile").toObject(List.class);
//找到187手机号的用户,并输出List<UserModel>
List<UserModel> list = o.select("$.data.list[?(@.mobile =~ /^187/)]")
.toObjectList(UserModel.class);
//或
List<UserModel> list = o.select("$.data.list[?(@.mobile =~ /^187/)]")
.toObjectList(UserModel.class);
RuoYi-Vue-Plus 5.0 大版本发布,SpringBoot 3.0 携手多租户强势来袭
开发历程
- 2022 年 11 月 开始 5.X 计划 历经 2 个月的设计与讨论
- 2023 年 1 月 开始着手开发 历经 3 个月的开发 特别感谢团队的小伙伴与一些热心的粉丝 参与功能开发与测试
- 2023 年 4 月 开始公测 历经将近 2 个月的公测与修复工作 (期间成功支持多位使用者生产使用)
- 2023 年 5 月底 正式发布 虽然已经有生产实践 但是 springboot3.0 与 jdk17 使用者还处于少数 另外 5.X 后续还有一些不兼容更新 求稳者建议在等一等
- 关于 4.X 的说明 由于 springboot2.X 与 vue2.X 匀在年底停止维护 故此 4.X 也将于年底同 boot2 一同停止维护
视频介绍
为了更好的让大家了解 5.X 作者录制了相关的视频 供大家快速了解上手
- 搭建与运行: www.bilibili.com/video/BV1Fg…
- 新功能与变更介绍: www.bilibili.com/video/BV1Us…
- 生产环境搭建部署: www.bilibili.com/video/BV1mL…
更新日志
重大更新
- [不兼容升级] java 版本从 jdk 8 升级到 jdk 17 且需要使用 graalvm 运行 (暂时未解决原生 jdk 存在的问题)
- [不兼容升级] springboot 升级 3.0 版本
- [不兼容升级] 重构 项目模块结构 采用插件化结构 易扩展易解耦
- [不兼容升级] com.sun.mail 更改为 jakarta.mail 修改最新写法
- [不兼容升级] javax.servlet 替换为 jakarta.servlet 更新所有代码
- [简化性升级] 默认开启复杂结构 resultMap 自动映射 简化 xml 编码 (多结构实体需带上主键 id)
- [数据库改动] 更新 create_by update_by 字段类型 (保存用户 id)
- [数据库改动] 新增 create_dept 字段 (保存创建部门 id)
- [不兼容更新] system 模块 所有实体类均使用 bo|vo 规范化
- [重大更新] 新增 多租户功能设计 整体框架代码结构与数据库更改
- [重大更新] 新增 mapstruct-plus 替换 BeanUtil 与 BeanCopyUtils 工具
- [不兼容更新] 重构 登录注解接口与 cloud 版本统一接口路径
- [不兼容更新] 重构 BaseMapperPlus 接口 去除 @param Mapper 泛型
- [不兼容更新] 移除 vue2 前端工程 全面启用 vue3
- [重大更新] 新增 vue3 + TS 版本前端 (独立仓库后续与 Cloud 版本共用)
- [重大更新] 增加 websocket 模块 支持 token 鉴权 支持分布式集群消息同步
- [重大更新] 框架文档全面翻新
依赖升级
- update java 1.8 => 17
- update springboot 2.7.7 => 3.0.7
- update springboot-admin 2.7.10 => 3.0.4
- update springdoc 1.6.14 => 2.1.0
- update lock4j 2.2.3 => 2.2.4
- update dynamic-ds 3.5.2 => 3.6.1
- update easyexcel 3.1.5 => 3.2.1
- update hutool 5.8.11 => 5.8.18
- update redisson 3.19.2 => 3.20.1
- update lombok 1.18.24 => 1.18.26
- update spring-boot.mybatis 2.2.2 => 3.0.1
- update mapstruct-plus 1.2.3
- update maven-compiler-plugin 3.10.1 => 3.11.0
- update maven-surefire-plugin 3.0.0-M7 => 3.0.0
- update docker mysql 8.0.31 => 8.0.33
- update docker nginx 1.22.1 => 1.32.4
- update docker redis 6.2.7 => 6.2.12
- update docker minio RELEASE.2023-04-13T03-08-07Z
功能更新
- update 适配 AsyncConfig 替换过期继承类改为实现 AsyncConfigurer 接口
- update 适配 redis 新版本配置文件写法
- update 适配 获取 redis 监控参数接口 替换过期语法
- update 适配 sa-token 替换新依赖 sa-token-spring-boot3-starter
- update 适配 springboot-admin 改为最新 spring-security 写法
- update 适配 springdoc 新版本配置方式
- update 适配 ServletUtils 更换继承 JakartaServletUtil
- update 适配 新序列化注解
- update 优化 利用 resultMap 自动映射配置 简化 xml (非嵌套)
- update 优化 调整 system entity 实体与 controller 包结构
- update 优化 实体类中校验注解的提示信息
- update 优化 使用 jdk17 语法优化代码
- update 优化 所有 properties 文件改为注解启用
- update 更新 docker 基础镜像 graalvm java17
- update 优化 用户头像 改为存储 ossId 使用转换模块转为 url 展示
- update 优化 重构 CellMergeStrategy 支持多级表头修复一些小问题 整理代码结构
- update 优化 登录流程代码注释
新增功能
- add 新增 flatten-maven-plugin 插件统一版本号管理
- add 新增 ip2region 实现离线 IP 地址定位库
移除功能
- remove 移除 BeanCopyUtils 工具类 与 JDK17 不兼容
- remove 移除 devtools 依赖 并不好用 (建议直接用 idea 自带的热更)
- remove 移除 vue2 前端工程 统一使用 vue3 工程
框架文档
使用框架前请仔细阅读文档重点注意事项
likeshop基于「ThinkPHP + Vue + Nuxt + uni-app」实现的免费开源商城系统,支持H5、小程序、APP,微信支付、支付宝支付、短信、云存储、优惠券、秒杀、拼团、抢购等主流功能,专业团队维护,值得信赖,欢迎下载体验。
2千+star开源地址:gitee.likeshop.cn/1HurY0AC
官网文档地址:gitee.likeshop.cn/1HurY0AC