首页 文章 精选 留言 我的

精选列表

搜索[布隆过滤器],共6707篇文章
优秀的个人博客,低调大师

单 exe 截图软件:ScreenCapture 2.3.1发布

自上次投递新闻以来,历经5个版本,近期更新功能如下: 优化:线条最小粗细值从2变更为1,默认粗细值从8变更为6 优化:标号默认半径从26.0变更为18.0 优化:调整标号的半径大小后,绘制新标号时,新标号的半径为前面调整后的值。 优化:按下Enter键把框选的截图存入剪切板 优化:截长图(滚动截图),增加:“已触底,自动滚动停止” 的提示 优化:截长图(滚动截图),图像长度超过20000个像素,自动停止,并提示:“长图过长,已自动停止” 解决:截长图(滚动截图)相关文本支持多国语言 优化:Qt版本升级到6.9.1 优化:为可执行文件增加数字证书 优化:画线线条最小粗细数值调整为2 解决:跨屏截图的问题#122 解决:截取窗口高亮区域图像时,左边,底边,多截取了半个像素的内容 优化:截长图,滚动条滚动速度加快200毫秒 优化:钉图窗口,点击按钮显示工具栏的逻辑。 解决:在多屏幕环境下,长截图,拍照截图区域位置不准的问题。 解决:在多屏幕环境下,钉图窗口位置和大小不准的问题 优化:钉图窗口,工具栏钉图按钮,应处于禁用状态 ScreenCapture 截图工具 体积小(8M 左右)、仅一个可执行文件,无需安装,不依赖任何动态链接库。 运行速度快、内存占用低、CPU 使用率低。 开源地址: https://gitee.com/horsejs_admin/ScreenCapture https://github.com/xland/ScreenCapture 核心特性: 跨屏幕截图、滚动截图(截长图)、高分屏支持、窗口区域高亮。 取景框,支持快捷键复制 RGB 颜色(Ctrl+R)、 HEX 颜色(Ctrl+H)与 CMYK 颜色(Ctrl+K)。 绘制填充、非填充的椭圆、正圆(按住Shift)、矩形、正方形(按住Shift)、箭头、排序标号。 绘制曲线、直线(按住Shift)、半透明直线、马赛克、橡皮擦、文本。 可以随时修改、删除已绘制的元素(鼠标移到元素上)。 撤销(Ctrl+Z)、重做(Ctrl+Y)。 在新窗口中钉住截图区域,使用鼠标滚轮放大、缩小钉图窗口大小。 保存为文件(Ctrl+S)、保存到剪贴板(Ctrl+C或双击鼠标左键)。 运行速度快、内存占用低、CPU 使用率低。 体积小、仅一个可执行文件,无需安装,不依赖任何动态链接库。 丰富的命令行控制参数。可以非常容易地集成到其他应用中。 控制指令: //设置本次截图的文件保存路径。 //如果路径是目录,则保存文件时会自动生成文件名。 //如果路径包含文件名,则按此文件名保存文件(文件存在则覆盖)。 //目前只支持png格式文件 ScreenCapture.exe --path:"D:\\doc\\test.png" ScreenCapture.exe --path:"D:\\doc" //截取屏幕某个区域的图像,10,10是坐标,500,600是宽高 //截取完成后图像写入剪切板 ScreenCapture.exe --cap:area,10,10,500,600,clipboard //截取屏幕某个区域的图像,截取完成后图像写入指定路径 ScreenCapture.exe --cap:area,10,10,500,600 --path:"D:\\doc" //截取整个屏幕并写入剪切板 ScreenCapture.exe --cap:fullscreen,clipboard //截取整个屏幕并把图像写入指定路径 ScreenCapture.exe --cap:fullscreen --path:"D:\\doc" //用户拖拽鼠标确定截图区域后,马上把截图区域内的图像写入剪切板 ScreenCapture.exe --cap:custom,clipboard //用户拖拽鼠标确定截图区域后,马上把截图区域内的图像写入指定路径 ScreenCapture.exe --cap:custom --path:"D:\\doc" //钉住剪切板内的图像,100,100是钉住窗口的坐标 //如忽略窗口坐标,则窗口默认坐标为100,100 ScreenCapture.exe --pin:clipboard,100,100 //钉住指定的图像文件,100,100是钉住窗口的坐标 ScreenCapture.exe --pin:file,"D:\\test.png",100,100 //钉住桌面某个区域的图像,(100,100,500,600)是区域矩形,(800,10)是钉住窗口的坐标 ScreenCapture.exe --pin:area,100,100,500,600,800,10 //设置应用程序的语言,目前只支持简体中文(zhcn)和英文(en),默认中文 ScreenCapture.exe --lang:en //保存图像时,对图像进行压缩。 //第一个参数6为图像质量,第二个参数60为缩放百分比 //图像质量取值范围为 -1到9的整数 //0:最小压缩级别,文件最大 //9:最大压缩,文件最小 //-1:默认压缩级别,中等压缩 //缩放百分比取值范围为 1到100的整数 //图像存入剪切板时,图像质量参数无效 ScreenCapture.exe --comp:6,60 //控制主工具栏按钮(及分割线)的顺序,位置及显隐情况。 ScreenCapture.exe --tool:"rect,ellipse,arrow,number,line,text,mosaic,eraser,|,undo,redo,|,pin,clipboard,save,close" //截长图 //截长图窗口只有四个控制按钮`pin,clipboard,save,close`,也是支持通过`--tool`指令控制的 ScreenCapture.exe --cap:long 集成方式: 示例为 Node.js 或 Electron,Python类似 let spawn = require("child_process").spawn; let child = spawn("./path/to/ScreenCapture.exe"); child.on("close", (code) => { /// when code is: /// 0 undefined /// 1 quit by press close btn; /// 2 quit by press right mouse btn; /// 3 quit by press esc key; /// 4 quit when copy rgb color; /// 5 quit when copy hex color; /// 6 quit when copy cmyk color; /// 7 quit when copy mouse position; /// 8 quit when save to file; /// 9 quit when save to clipboard; console.log("the quit code is:",code) });

优秀的个人博客,低调大师

Fedora 42 将于下周二发布

Fedora 42 已通过批准,将于下周二——4月15日发布,符合其“早期目标”发布日期。 Fedora 42 最初的目标发布日期是4月22日,但今天的“是否进行”会议上,决定 Fedora 42 已经处于良好的发布状态。因此,Fedora 42 将在早于最终目标日期发布。 在会议上,Fedora Linux 42 最终候选版 1.1 构建已获得“进行”批准。 对于希望开始尝试 Fedora 42 的用户,可以通过 这个 Fedora Wiki 页面 获取 RC 1.1 镜像。 Fedora 42 采用 Linux 6.14 内核、GCC 15 编译器和默认的 GNOME 48 桌面驱动,并提供了许多新功能。 相关阅读:Fedora Linux 42 Beta

优秀的个人博客,低调大师

Hutool-5.8.21发布,Java 工具集

https://hutool.cn/ Hutool是一个功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。 这些封装的工具涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库JDBC、JSON、HTTP客户端等一系列操作, 可以满足各种不同的开发需求。 ---------------------------------------------------------------------------- Hutool-6.0.0-M5也同步发布了,只不过`M5`表示只是个测试版本。 6.x版本主要更换了包名为”org.dromara.hutool“,两方面考虑,一是方面和5.x兼容共存,二是响应Dromara组织号召。6.x更多的是做减法,把一些没用的包规整到一个包中,还有就是把一些工具类按照类别管理,减少歧义和混乱。再就是解决了5.x中一些设计缺陷,等6.x文档写完,就可以成为主力版本。 有些童鞋建议Hutool-6.x直接从JDK17开始支持,就像Spring Boot3.0,经过我们开发组讨论,觉得这样过于激进,因此依旧从JDK8开始支持,只是对JDK9+兼容性更好,后续我们也紧跟技术发展轨迹,循序渐进的更新版本。 下一步,我们同样想做一些”向钱看“的事情,毕竟爱+金钱才是动力源泉,也会让我们的社区发展的更好。暂时我们一个小伙伴开了个衣服店(卖卖T恤啥的),欢迎大家去hutool主页支持。再就是欢迎业内金主在我们的主页和文档上投放一些推广,做到共赢共利吧。说实话,无论是衣服店还是广告,我们都是比较佛系的,主要是希望保持Hutool代码本身的干净,让用户有安全感,我们想在文档中加一些推广不会被用户厌烦,感兴趣可以WX搜Hutool联系我哦。 ---------------------------------------------------------------------------- 5.8.21(2023-07-29) 🐣新特性 【core 】 list 为空时,CollUtil.max等返回null而非异常(pr#1027@Gitee) 【poi 】 ExcelReader.getWriter逻辑变更,当从非文件读取时,获取sheet,而非空表格。 【core 】 Ipv4Util 新增方法:检测指定 IP 地址是否匹配通配符(pr#3171@Github) 【core 】 DateUtil.parse适配6位毫秒格式(issue#I7H34N@Gitee) 【core 】 RandomUtil增加可选是否包含边界的重载(issue#3182@Github) 【core 】 StrUtil增加truncateByByteLength方法(pr#3176@Github) 【core 】 身份证工具类isValidCard18、isValidCard15入参null直接返回null(pr#1034@Gitee) 【http 】 使用multiparty方式支持body参数(issue#3158@Github) 【core 】 ZipReader增加setMaxSizeDiff方法,自定义或关闭ZipBomb(issue#3018@Github) 【db 】 Query.of(entity)构建时传入fields(issue#I7M5JU@Gitee) 【db 】 clickhouse驱动名称变更为com.clickhouse.jdbc.ClickHouseDriver(issue#3224@Github) 【core 】 UrlResource增加size方法(issue#3226@Github) 🐞Bug修复 【core 】 修复MapUtil工具使用filter方法构造传入参数结果问题(issue#3162@Github) 【core 】 修复序列化和反序列化Class问题(issue#I7FQ29@Gitee) 【setting】 修复utf8-bom的setting文件读取问题(issue#I7G34E@Gitee) 【core 】 修复PathUtil.getMimeType可能造成的异常(issue#3179@Github) 【core 】 修复Pair序列化转换无效问题(issue#I7GPGX@Github) 【core 】 修复TypeUtil.getTypeArgument对实现接口获取不全面问题(issue#I7CRIW@Gitee) 【core 】 修复BeanUtil.isCommonFieldsEqual判空导致的问题 【extra 】 修复CompressUtil.createArchiver 将文件压缩为tgz时文件名规则无效问题(issue#I7LLL7@Gitee) 【core 】 修复脱敏银行卡号长度bug(pr#3210@Github) 【jwt 】 修复JWTSignerUtil中ES256签名不符合规范问题(issue#3205@Github) 【core 】 修复UserInfo获取country问题(issue#I7MCKW@Gitee) 【extra 】 修复MVEL加载错误问题(issue#3214@Github) 【json 】 修复JSONBeanParser在遇到List时没有被正确递归问题(issue#I7M2GZ@Gitee) 【core 】 修复VersionComparator对1.0.3及1.0.2a比较有误的问题(pr#1043@Gitee) 【core 】 修复IOS系统下,chrome 浏览器的解析规则有误(pr#1044@Gitee) 【extra 】 修复多线程下Sftp中Channel关闭的问题(issue#I7OHIB@Gitee) 【extra 】 修复CVE-2023-24163漏洞(issue#I6AJWJ@Gitee)

优秀的个人博客,低调大师

go-logger v2.0.1发布

go-logger 是golang 的极简日志库 日志打印:调用 Debug(),Info(),Warn(), Error() ,Fatal() 日志级别由低到高级别概念功能用法类似java日志工具log4j 或 python的logging 设置日志打印格式: 如: SetFormat(FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME)FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME 为默认格式 不调用SetFormat()时,使用默认格式 无其他格式,只打印日志内容 FORMAT_NANO 无格式 长文件名及行数 FORMAT_LONGFILENAME 全路径 短文件名及行数 FORMAT_SHORTFILENAME 如:logging_test.go:10 精确到日期 FORMAT_DATE 如:2023/02/14 精确到秒 FORMAT_TIME 如:01:33:27 精确到微秒 FORMAT_MICROSECNDS 打印结果形如:[DEBUG]2023/02/14 01:33:27 logging_test.go:10: 11111111111111 若需要自定义格式只需要 SetFormat(FORMAT_NANO) ,既可以去掉原有格式。 日志级别 ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF默认日志级别为ALL,说明: 若设置 INFO 如:SetLevel(INFO) 则 所有 Debug("*********") 不再打印出来 所以调试阶段,常设置为默认级别ALL,或DEBUG,打印出项目中所有日志,包括调试日志 若设置 OFF SetLevel(OFF) 则 所有日志不再打印出来 所以正式环境,常设置为ERROR或以上的日志级别,项目中Debug(),Info(),warn()等日志不再打印出来,具体视实际需求设置 需将日志写入文件时,则要设置日志文件名 使用全局对象log时,直接调用设置方法: SetRollingDaily() 按日期分割 SetRollingByTime() 可按 小时,天,月 分割日志 SetRollingFile() 指定文件大小分割日志 SetRollingFileLoop() 指定文件大小分割日志,并指定保留最大日志文件数 需要多实例指定不同日志文件时: log1 := logger.NewLogger() log1.SetRollingDaily("", "logMonitor.log") log12:= logger.NewLogger() log2.SetRollingDaily("", "logBusiness.log") 1. 按日期分割日志文件 log.SetRollingDaily("d://foldTest", "log.txt") 每天按 log_20221015.txt格式 分割 若 log_20221015.txt已经存在,则生成 log_20221015.1.txt ,log_20221015.2.txt等文件 log.SetRollingByTime("d://foldTest", "log.txt",MODE_MONTH) 按月份分割日志,跨月时,保留上月份日志,如: log_202210.txt log_202211.txt log_202212.txt log.SetRollingByTime("d://foldTest", "log.txt",MODE_HOUR) 按小时分割日志, 如: log_2022101506.txt log_2022101507.txt log_2022101508.txt 2. 按文件大小分割日志文件 log.SetRollingFile("d://foldTest", "log.txt", 300, MB) 按文件超过300MB是,按log.1.txt,log.2.txt 格式备份 目录参数可以为空,则默认当前目录。 log.SetRollingFileLoop(`d://foldTest`, "log.txt", 300, MB, 50) 设置日志文件大小最大为300M 日志文件只保留最新的50个 控制台日志设置 全局log:SetConsole(false)控制台不打日志,默认值true 实例log:log.SetConsole(false)控制台不打日志,默认值true 打印日志示例: //SetRollingFile("", "log.txt", 1000, KB) 设置日志文件信息 //SetRollingFileLoop(``, "log.txt", 300, MB, 50) 设置日志文件大小300M,最多保留50个最近的日志文件 //SetRollingByTime(``, "log.txt", MODE_MONTH) 按月份分割日志 //SetRollingByTime(``, "log.txt", MODE_HOUR) 按小时分割日志 //SetRollingByTime(``, "log.txt", MODE_DAY) 按天分割日志与调用SetRollingDaily("", "log.txt") 作用相同 // SetConsole(false) 控制台打印信息,默认true Debug("11111111") Info("22222222") SetFormat(FORMAT_DATE | FORMAT_SHORTFILENAME) //设置后,下面日志格式只打印日期+短文件信息 Warn("333333333") SetLevel(FATAL) //设置为FATAL后,下面Error()级别小于FATAL,将不打印出来 Error("444444444") Fatal("5555555555") /*获取新的log实例,要求不同日志文件时,使用多实例对象*/ log := NewLogger() /*按日期分割日志文件*/ //log.SetRollingDaily("", "log.txt") /*按日志文件大小分割日志文件*/ // log.SetRollingFile("", "log.txt", 3, MB) /* 设置打印级别 OFF,DEBUG,INFO,WARN,ERROR,FATAL*/ //log.SetLevel(ALL) 默认ALL. /* 日志写入文件时,同时在控制台打印出来,设置为false后将不打印在控制台,默认值true*/ // log.SetConsole(false) log.Debug("aaaaaaaaaaaaa") log.SetFormat(FORMAT_LONGFILENAME) //设置后将打印出文件全部路径信息 log.Info("bbbbbbbbbbbb") log.SetFormat(FORMAT_MICROSECNDS | FORMAT_SHORTFILENAME)//设置日志格式,时间+短文件名 log.Warn("ccccccccccccccc") log.SetLevel(FATAL) //设置为FATAL后,下面Error()级别小于FATAL,将不打印出来 log.Error("dddddddddddd") log.Fatal("eeeeeeeeeeeee") 项目地址:https://github.com/donnie4w/go-logger

优秀的个人博客,低调大师

vase 1.0发布,跨平台UI框架

vase是开源的移动端跨平台UI开发框架。1.0版本发布后API基本稳定,达到产品质量。vase 1.0更新如下。 增加多媒体支持 支持播放声音 支持视频播放控件 支持TTS(语音合成) 以上功能在Android,iOS,Html5上完成支持,在java桌面端只支持播放声音。 布局功能增强 新增百分比布局 新增自动缩放布局 新增更多控件 CardPane提供横向推动的列表 ResizePane提供可用鼠标拖动大小的子窗口,方便开发桌面应用 ColorPicker控件,用于选择颜色 Tooktip支持鼠标悬停提示 iOS应用内支付 提供内建的IAP支持,开发能创收的app。 内部优化 重写事件处理流程 优化渲染性能 了解更多https://fanx.dev/doc/client.html

优秀的个人博客,低调大师

pLua 0.1发布,Lua 性能分析工具

pLua Lua 性能分析工具 原理 类似于 gperftools,通过定时器信号回调查看调用栈,来定位调用的热点 特性 简单,只需几行代码,即可输出结果 准确,相比 lua hook,定时采样的方式更能准确捕获 lua 执行的热点 轻量,因为是采样的,相比直接按行 lua hook,能最小程度影响宿主程序的运行 直观,输出调用图,能直观的看到热点和调用关系 使用 Lua code -- 引入libplua.so local p = require "libplua" -- 开启采样 -- 参数1:采样时间(秒),0表示一直采样 -- 参数2:采样结果文件 p.start(0, "call.pro") do_some_thing() -- 结束采样,输出结果文件 p.stop() -- 把结果转成txt格式 p.text("call.pro", "call.txt") -- 把结果转成dot格式,可用graphviz查看 p.dot("call.pro", "call.dot") -- 把结果转成svg格式,可直接用浏览器打开查看 p.svg("call.pro", "call.svg") 编译 安装 lua 5.3 安装 graphviz 编译 pLua $ cmake . $ make 示例 运行lua test1.lua、lua test2.lua 查看svg结果 [test1] [test2]

优秀的个人博客,低调大师

snail-job 1.5.0-beta1发布

🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台 ✅️ 可重放,可管控、为提高分布式业务系统一致性的分布式任务重试平台 ✅️ 支持秒级、可中断、可编排的高性能分布式任务调度平台 项目特性 易用性业务接入成本小。避免依赖研发人员的技术水平,保障稳定性 灵活性能够动态调整配置,启动 / 停止任务,以及终止运行中的任务 操作简单分钟上手,支持 WEB 页面对任务数据 CRUD 操作。 数据大盘实时管控系统任务数据 分布式重试任务支持多样化退避策略、多样化重试类型、流量管控等 分布式调度任务提供丰富的任务触发策略、任务分片、停止恢复、失败重试等 工作流任务编排仿钉钉设计的流程编排引擎,支持复杂的功能编排、失败重试、告警等 任务数据管理可以做到数据不丢失、数据一键回放 容器化部署服务端支持 docker 容器部署 高性能调度平台支持服务端节点动态扩容和缩容 支持多样化的告警方式邮箱、企业微信、钉钉、飞书、自定义告警 支持多种流行数据库mysql、mariadb、sqlserver、oracle、postgres 数据库 开源组件对比 项目 Quartz Elastic-Job XXL-JOB PowerJob Snail Job 跨语言能力 不支持 不支持 不支持 不支持 支持 java (1.8/17)、Python、Go 客户端 (开发中) 定时调度 Cron Cron Cron CRON、固定频率、固定延迟、OpenAPI 1. 定时任务 2. 秒级任务 (无需依赖外部中间件) 3. 固定频率 4.OpenAPI 重试任务 不支持 不支持 不支持 不支持 1. 支持本地 & 远程重试模式 2. 支持各种常用组件的重试 比如 dubbo/feign 3. 支持多种退避策略 4. 丰富的重试风暴管控手段 ...... 任务编排 不支持 不支持 不支持 支持 仿钉钉工作流设计,颜值高、体验好 分布式计算 不支持 静态分片 广播 支持 1. 广播执行 2. 集群执行 3. 静态分片 4. 动态分片 多语言 Java 1. Java 2. 脚本任务 1. Java 2. 脚本任务 支持 1. Java 2. CMD (本地脚本、远程脚本、参数传人) 3. PowerShell (本地脚本、远程脚本、参数传人) 3. Shell (本地脚本、远程脚本、参数传人) 4. HTTP 任务 用户管理 不支持 支持 支持 不支持 完备的用户管理和权限管理 安全 Token 不支持 不支持 支持 不支持 支持 可视化 无 弱 1. 历史记录 2. 运行日志(不支持存储)3. 监控大盘 支持 1. 历史记录 2. 实时日志 (支持持久化、可视化) 3. 监控大盘 (实时调度数据展示) 4. 失败调度排名 5. 在线集群查看等 可运维 无 启用、禁用任务 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 支持 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务 4、手动重试 报警监控 无 邮件 邮件 邮件 支持配置多种告警场景,通知方式支持: 1. 邮件 2. 钉钉 3. 企微 4. 飞书 5、Webhook 性能 每次调度通过 DB 抢锁,对 DB 压力大 ZooKeeper 是性能瓶颈 采用 Master 节点调度,Master 节点压力大 无锁化设计 系统采用多 bucket 模式,借助负载均衡算法,确保每个节点能够均衡处理任务,同时支持无限水平扩展,轻松应对海量任务调度 接入成本 只依赖 DB 接入成本低 需引入 Zookeeper 增加系统复杂性和维护成本 只依赖 DB 接入成本低 依赖 DB 接入成本低 只依赖 DB 接入成本低 更新日志 增加 WebSocket 实时获取重试任务和定时任务日志【新增】 重试新增OpenApi支持查询重试任务、触发、状态更新【新增】 定时任务支持通过名称模糊查询【新增】 死信表新增 groupId 和 sceneId 字段【新增】 重试任务支持"防止任务重复拉取"配置【新增】 增加重试任务列表更新时间字段【新增】 回滚死信表数据时支持异常明确提示(存在重复数据)【新增】 内置 HTTP 执行器支持自定义响应结果判断【新增】 GitHub Action 构建优化,支持 arm64 镜像 【优化】 修复重试次数传播机制错误问题【BUG】 修复 CVE 漏洞并移除 log4j 【BUG】 修复随机等待退避策略的时间单位转换错误【BUG】 重构 RPC 命名结构,方便后续扩展【优化】 翻译系统中文字符串为英文【优化】 新增ES、Mongo日志存储插件【新增】 新增SSO登录插件【新增】 优化SQL性能 【优化】 修复重试序列化LocalDateTime失败问题【BUG】 修复滑动窗口上报窗口时间错误【BUG】 优化重试任务列表和死信列表查询按钮显示问题 【优化】 重试任务列表增加更新时间 2.修复重试列表更新时间title【优化】 修复场景阻塞策略错误问题【BUG】 重试任务达到最大重试次数后可以手动执行【优化】 优化重试列表更多按钮的下拉框样式【优化】 注意本次重点重构了重试模块的流程,由之前的同步调度客户端改为异步调度客户端. 将支持更高并发的调度同时大大提高服务端的稳定性 MYSQL变更(其他DB变更请自行同步) 全量的SQL请参考项目 /doc/sql/x.sql alter table sj_retry_dead_letter add group_id bigint not null comment '组Id' after group_name; alter table sj_retry_dead_letter add scene_id bigint not null comment '场景ID' after scene_name; alter table sj_retry add group_id bigint not null comment '组Id' after group_name; alter table sj_retry add scene_id bigint not null comment '场景ID' after scene_name; drop index idx_namespace_id_group_name_retry_status on sj_retry; drop index idx_namespace_id_group_name_scene_name on sj_retry; create index idx_retry_status_bucket_index on sj_retry (retry_status, bucket_index); alter table sj_retry drop key uk_name_task_type_idempotent_id_deleted; alter table sj_retry add constraint uk_scene_tasktype_idempotentid_deleted unique (scene_id, task_type, idempotent_id, deleted); 项目地址 官网:http://snailjob.aizuda.com/ gitee:https://gitee.com/aizuda/snail-job github:https://github.com/aizuda/snail-job 体验地址:http://snailjob.aizuda.com/docs/preview.html 方便的话给项目一个 star,你的支持是我们前进的动力! 先睹为快

优秀的个人博客,低调大师

gpress 1.0.1发布,Web3 内容平台

Web3 内容平台,Hertz + Go template + FTS5 全文检索,支持以太坊和百度超级链,兼容 hugo 生态,使用 Wasm 扩展插件,只需 200M 内存.作为静态站点:gpress 生成的静态文件和 Hugo 一致,也可以简单认为 gpress 是 Hugo 的后台管理,兼容 Hugo 主题生态,已迁移多款 Hugo 主题:even、doks、book、geekdoc......作为动态站点:gpress 功能简单,只有 7 个菜单,6 张表,5000 行代码,使用 SQLite, 一键启动,只需 200M 内存,支持全文检索......作为 Web3:gpress 已支持以太坊和百度超级链账户体系,会基于 Wasm 持续迭代去中心功能,让数据自由一点点......作为后浪:相对于 Hugo、WordPress 等优秀的内容平台,gpress 还有很多不足,功能简单而又稚嫩......个人博客jiagou.com使用 gpress 搭建,搜索和后台管理是动态,其他是静态页面. 更新: 主题模板支持上传和文件修改 增加GitHub Actions文件,用于编译MacOS版本,感谢 @CDCDDCDC 编译libsimple.dylib 部署阿里云计算巢服务,方便云平台使用 完善文档,注释

优秀的个人博客,低调大师

rbatis-generator 版本 v0.2.0发布

v0.2.0版是一个基于Rbatis v4.x的代码生成器,它的功能与v0.1.0一样,但ORM采用了Rbatis v4,Rbatis v4较v3来说改动非常大,其中一个最大表现就是v4中移除了Wrapper。v0.20版所生成的代码则采用了Rbatis v4的特性来进行。 rbatis-generator 是 Rust 语言生成采用 rbatis 和 actix-web 的源码的工具。 该工具使用 rbatis (基于 sqlx 为基础实现的类似于 MyBatis 的 ORM 工具)。同时,该工具还可以生成相应的基于 actix-web 的路由实现代码。 它可以说是一个面向初学者友好的工具。它所生成的代码可以帮助 Rust 初学者快速理解 rbatis 的工作过程和模式,以及 actix-web 的工作模式。 rust-generator 采用配置文件 rbatis.yml 来管理将被生成的项目的内容。 配置文件主要有: 数据库连接; 代码生成的项目属性; 需要生成代码的 Table 的定义; 需要生成代码的关联关系,支持 one-one 和 one-many,以及 many-to-many 模式,其中 many-to-many 的支持需要使用中间表。 需要生成的 Query 的定义;

优秀的个人博客,低调大师

Eurynome Cloud 2.6.3.10发布,SpringBootAdmin 升级至2.6.2

Eurynome Cloud 是一款企业级微服务架构和服务能力开发平台。基于Spring Boot 2.6.3、Spring Cloud 2021.0.0、Spring Cloud Alibaba 2021.1、Nacos 2.0.4 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能 平台定位 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。 [1]、本次更新内容 Spring Boot Admin 版本升级至 2.6.2 修改 Dockerfile 配置,将 alpine 容器源修改为阿里源,提升打包 Docker 字体等资源下载速度 修复服务打包成 Docker 镜像后,openjdk:8-jdk-alpine 无法找到字体,导致渲染图形验证码抛空问题。 将 alpine 容器默认UTC时区,修改为 "GTM + 8" 时区 前端工程 Vuetify 版本升级至 2.6.3。同步升级大量其它依赖包版本。 后端工程依赖升级: Redisson 版本升级至 3.16.8 Hutool 版本升级至 5.7.20 WxJava 版本升级至 4.2.5.B mybatis-plus-boot-starter 版本升级至 3.5.1 dysmsapi20170525 版本升级至 2.0.9 bce-java-sdk 版本升级至 0.10.190 alipay-sdk-java 版本升级至 4.22.30.ALL baidu-java-sdk 版本升级至 4.16.5 aliyun-sdk-oss 版本升级至 3.14.0 [2]、总体架构 [3]、特色功能演示 (1)方法级可配置动态权限 (2)组合式、可定制图形验证码 [4]、技术栈和版本说明 (1)Spring全家桶及核心技术版本 组件 版本 SpringBoot 2.6.3 SpringCloud 2021.0.0 SpringCloudAlibaba 2021.1 SpringBootAdmin 2.6.2 Nacos 2.0.4 Sentinel 1.8.3 Seata 1,.3.0 (2)所涉及的相关的技术 持久层框架: Spring Data Jpa & Mybatis Plus API网关:Spring Cloud Gateway 服务注册&发现和配置中心: Alibaba Nacos 服务消费:Spring Cloud OpenFeign & RestTemplate & OkHttps 负载均衡:Spring Cloud Loadbalancer 服务熔断&降级&限流:Alibaba Sentinel 服务监控:Spring Boot Admin 消息队列:使用Spring Cloud消息总线Spring Cloud Bus 默认Kafka 适配RabbitMQ 链路跟踪:Skywalking 分布式事务:Seata 数据缓存:JetCache + Redis + Caffeine, 自定义多级缓存 数据库: Postgresql,MySQL,Oracle ... JSON序列化:Jackson & FastJson 文件服务:阿里云OSS/Minio 数据调试:p6spy 日志中心:ELK 日志收集:Logstash Logback Encoder [5]、工程结构 eurynome-cloud ├── configurations -- 配置文件脚本和统一Docker build上下文目录 ├── dependencies -- 工程Maven顶级依赖,统一控制版本和依赖 ├── packages -- 基础通用依赖包 ├ ├── eurynome-cloud-assistant -- Spring相关公共辅助工具、注解相关工具代码组件 ├ ├── eurynome-cloud-cache -- Cache和Redis工具模块组件 ├ ├── eurynome-cloud-captcha -- 验证码模块组件 ├ ├── eurynome-cloud-data -- 数据持久化等数据处理相关代码组件 ├ ├── eurynome-cloud-kernel -- 微服务接入平台必备组件 ├ ├── eurynome-cloud-message -- 消息处理相关代码组件 ├ ├── eurynome-cloud-oauth -- OAuth2通用代码 ├ ├── eurynome-cloud-oauth-starter -- 自定义OAuth2 Starter,Athena单体版核心Starter ├ ├── eurynome-cloud-rest -- Rest相关代码组件 ├ ├── eurynome-cloud-sercurity -- Security通用代码 ├ ├── eurynome-cloud-starter -- 微服务核心Starter ├ ├── eurynome-cloud-web -- Web 应用基础组件 ├ └── eurynome-cloud-websocket -- WebSocket核心代码包 ├── platform -- 平台核心服务 ├ ├── eurynome-cloud-gateway -- 服务网关 ├ ├── eurynome-cloud-monitor -- Spring Boot Admin 监控服务 ├ └── eurynome-cloud-uaa -- 统一认证模块 ├── services -- 平台业务服务 ├ ├── eurynome-cloud-upms-logic -- 通用用户权限service ├ ├── eurynome-cloud-upms-rest -- 通用用户权限rest 接口 ├ ├── eurynome-cloud-upms-ability -- 通用用户权限服务 ├ ├── eurynome-cloud-upms-rest -- 工作流基础代码包 └── └── eurynome-cloud-bpmn-ability -- 工作流服务

优秀的个人博客,低调大师

JDK 16发布,新特性一览

JDK 16已经于2021年3月16日如期发布。本文介绍JDK 16新特性。 发布版本说明 根据发布的规划,这次发布的 JDK 16 将是一个短期的过度版。下一个长期支持版(LTS 版)会在今年的 9 月份候发布(Java 17),LTS 版每 3 年发布一个,上一次长期支持版是 18 年 9 月发布的 JDK 11。 JDK 16是Java SE平台版本16的开源参考实现,由JSR 390在JCP(Java Community Process)指定。 安装包下载 主要分为OpenJDK版本和Oracle版本,下载地址如下: OpenJDK版本:https://jdk.java.net/16/ Oracle版本:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html 上述版本,如果是个人学习用途,则差异不大。但如果是用于商业用途,则需要仔细看好相关的授权。Oracle JDK根据二进制代码许可协议获得许可,而OpenJDK根据GPL v2许可获得许可。 更多有关Java的基本知识,可以参阅《Java核心编程》这本书,描述的非常详细。 JDK 16 新特性说明 JDK 16 为用户提供了17项主要的增强/更改,包括全新的 Java 语言改进,工具和内存管理,以及还有一些孵化和预览特性,有了这些新功能,Java 会进一步提高开发人员的生产力。 值得关注的变化是,JDK 14 中提供的预览特性:模式匹配和记录(Records),经过一年的社区反馈和实际应用,终于在 JDK 16 中完成最终落地了。 另外,Oracle 还为 Java SE 订阅服务中免费提供 GraalVM 企业版服务,GraalVM 可以帮助提高应用程序的性能并减少资源消耗,尤其是在微服务和云原生架构中。 1. 338: Vector API (孵化) 这个不是集合中的Vector,而是一个新的初始迭代孵化器模块jdk.incubator.vector,用于表示在运行时可靠地编译到支持的 CPU 架构上的最佳矢量硬件指令的矢量计算。 2. 347: Enable C++14 Language Features 允许在 JDK 底层的C++源代码中使用C++14的新语言特性,并且提供了在HotSpot虚拟机代码中,哪些代码使用了这些新特性的指南。 3. 357: Migrate from Mercurial to Git 将 OpenJDK 社区的源代码存储库从 Mercurial 迁移到 Git。 4. 369: Migrate to GitHub 在 GitHub 上托管 OpenJDK 社区的 Git 存储库。 GitHub 是世界流行的Git代码托管平台。在国内,托管代码推荐Gitee哦。 5. 376: ZGC: Concurrent Thread-Stack Processing ZGC 最早是在 JDK 11 中集成进来的,在 JDK 15 中正式转正。 这个版本则是为了让 ZGC 支持并发栈处理,解决了最后一个重大瓶颈,把 ZGC 中的线程栈处理从安全点移到了并发阶段。并且还提供了一种机制,使得其他 HotSpot 子系统可以通过该机制延迟处理线程栈。 6. 380: Unix-Domain Socket Channels UNIX 域套接字通道,为 java.nio.channels 包中的套接字通道和服务端套接字通道 APIs 增加 Unix 域套接字通道所有特性支持。 UNIX 域套接字主要用于同一主机上的进程间通信(IPC),大部分方面与 TCP/IP套接字类似,不同的是 UNIX 域套接字是通过文件系统路径名寻址,而不是通过 IP 地址和端口号。 7. 386: Alpine Linux Port 在 x64 和 AArch64 平台体系结构上,将 JDK 移植到 Alpine Linux 以及使用 musl 作为其主要 C 语言库的其他 Linux 发行版中。 8. 387: Elastic Metaspace 弹性的元空间,可以帮助 HotSpot 虚拟机,将元空间中未使用的 class 元数据内存更及时地返回给操作系统,以减少元空间的内存占用空间。 另外,还简化了元空间的代码,以降低维护成本。 9. 388: Windows/AArch64 Port 将 JDK 移植到 Windows/ AArch64 平台系列。 10. 389: Foreign Linker API (孵化) 引入了一个新的 API,该 API 提供了对本地 native 代码的静态类型访问支持。 11. 390: Warnings for Value-Based Classes 基于值的类的警告,将基础类型包装类指定为基于值的类,废除其构造函数以进行删除,从而提示新的弃用警告。并且提供了在任何基于值的类的实例上不正常进行同步的警告。 12. 392: Packaging Tool 提供了 jpackage 打包工具,可用于打包独立的 Java 应用程序。 jpackage 打包工具是在 JDK 14 中首次作为孵化工具引入的新特性,到了 JDK 15 它仍然还在孵化中,现在它终于转正了。 13. 393: Foreign-Memory Access API (三次孵化) 该 API 允许 Java 应用程序安全有效地访问 Java 堆之外的外部内存。 这个最早在 JDK 14 中成为孵化特性,JDK 15/ JDK 16 中继续二、三次孵化并对其 API 有了一些更新,这个可以在 JDK 17 中好好期待一下转正。 14. 394: Pattern Matching for instanceof 模式匹配 for instanceof,相当于是增强的 instanceof,在 JDK 14 中首次成为预览特性,在 JDK 16 中正式转正。 模式匹配的到来将使得 instanceof 变得更简洁、更安全,为什么这么说,请看下面的示例。 Java 14 之前用法: if (obj instanceof String) { String s = (String) obj; // 使用s } Java 14之后的用法: if (obj instanceof String s) { // 使用s } 15. 395: Records 简单来说,Records 就是一种新的语法糖,目的还是为了简化代码,在 JDK 14 中首次成为预览特性,在 JDK 16 中正式转正。 Records 可以在一定程度上避免低级冗余的代码,比如:constructors, getters, equals(), hashCode(), toString() 方法等,相当于 Lombok 的 @Data 注解,但又不能完全替代。 下面来看一个示例: 旧写法: class Point { private final int x; private final int y; Point(int x, int y) { this.x = x; this.y = y; } int x() { return x; } int y() { return y; } public boolean equals(Object o) { if (!(o instanceof Point)) return false; Point other = (Point) o; return other.x == x && other.y = y; } public int hashCode() { return Objects.hash(x, y); } public String toString() { return String.format("Point[x=%d, y=%d]", x, y); } } 新的Records写法: record Point(int x, int y) { } 16. 396: Strongly Encapsulate JDK Internals by Default JDK 内部默认强封装,JDK 16 开始对 JDK 内部大部分元素默认进行强封装,sun.misc.Unsafe 之类的关键内部 API 除外,从而限制对它们的访问。 此外,用户仍然可以选择自 JDK 9 以来的默认的宽松的强封装,这样可以帮助用户毫不费力地升级到未来的 Java 版本。 17. 397: Sealed Classes (二次预览) 封闭类(二次预览),可以是封闭类和或者封闭接口,用来增强 Java 编程语言,防止其他类或接口扩展或实现它们。 参考引用 本文同步至: https://waylau.com/jdk-16-released/ https://waylau.com/jdk-15-released/ https://waylau.com/jdk-14-released/ 《Java核心编程》 https://github.com/waylau/modern-java-demos

优秀的个人博客,低调大师

Ali Elasticsearch内核最新小版本1.2.0发布

信息摘要: 阿里云Elasticsearch定期进行内核小版本优化,涉及性能提升、新功能或问题修复等,支持用户手动升级内核小版本。适用客户: 阿里云Elasticsearch6.7版本用户版本/规格功能: 1.2.0内核小版本新特性:1)支持通用物理复制,提高有副本索引的写入性能;2)支持时序索引剪枝,可提高含时序字段范围查询性能;3)主键查询去重优化,带主键文档的写入性能提升10%;4)支持堆外fst,单节点支持存储最大20T。产品文档: https://help.aliyun.com/document_detail/157362.html

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册