首页 文章 精选 留言 我的

精选列表

搜索[事件发布],共10000篇文章
优秀的个人博客,低调大师

gThumb 3.11.4 发布,新增 AVIF/HEIF 格式支持

gThumb 是 GNOME Desktop 环境的图像查看器和浏览器实用程序,可用于大多数 Linux 发行版。 新功能和用户可见的变化: 添加了使用 libheif 加载 AVIF/HEIF 图像的功能; 添加了将图像保存为 AVIF 的功能; 允许设置快捷方式来激活过滤器; 添加了一个模板编辑器来编辑带有特殊代码的文本值:脚本命令、重命名模板、打印页眉和页脚等; 当目录包含数千张图像时,导航速度更快; 文件列表:并行启动更多缩略图; 允许挂载未挂载的卷; 颜色选择器:添加了其他格式:% 形式的 rgb 和 hsl; 允许在执行长时间运行的外部工具时继续浏览; 状态栏:添加按钮以显示进度框; 文件属性:显示另一张图像后不要重置选择; 直方图:在单列中显示属性以节省水平空间; 错误修复: 修复主题列表总是空的问题; Raw:与 LibRaw 0.21 兼容; 终端:仅对本地文件夹启用; 文件选择器:正确获取文件扩展名; …… 更多详情可查看:https://gitlab.gnome.org/GNOME/gthumb/-/commit/486f87b4f853cd64afb9583a1a389b62cc782a61

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

BeetlSQL 3.7.0 发布,流行的 Java DAO 工具

selectByIds不支持多主键Bug的修复 SQLReady方法增加SqlId参数。在Mapper中使用@Sql和@SqlTemplate,SqlId调整为泛型实体名字+方法名字 insert方法,如果@AutoId或者@SeqId有值,则注解不生效 S3PageSample示例Bug修复 <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.7.0-RELEASE</version> </dependency> BeetlSQL 自主研发自2015年,目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,写起数据库访问代码特别顺滑,不亚于MyBatis. 你不想写SQL也好,或者想更好的写SQL也好,BeetlSQL都能满足这要求,目前支持的数据库如下 传统数据库:MySQL,MariaDB,Oralce,Postgres,DB2,SQL Server,H2,SQLite,Derby,神通,达梦,华为高斯,人大金仓,PolarDB 等 大数据:HBase,ClickHouse,Cassandar,Hive 物联网时序数据库:Machbase,TD-Engine,IotDB SQL查询引擎:Drill,Presto,Druid 内存数据库:ignite,CouchBase 阅读文档源码和例子在线体验性能测试 BeetlSQL也支持IDEA插件,提供向导和自动提示

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

mongoHelper 0.6.2 发布,用于 mongodb 的 ORM 框架

mongoHelper 是基于 spring-data-mongodb 的增强ORM工具包,简化 CRUD 操作,提供类似于mybatis plus的mongodb数据库操作。 虽然spring-data-mongodb已经对mongodb的操作做了一部分封装,但易用性依然不够,Query Criteria Sort的操作依然有比较大的局限性,而且对于习惯sql操作的人来说,理解其使用法则依然稍显别扭。mongoHelper对spring-data-mongodb又进行了进一步封装,使其更易于使用。对使用过mybatis plus的开发者来说,其用法应该不会陌生。使用java对象构建查询条件,不再写sql的敏捷开发体验,mongoHelper正是基于这个理念开发的。 演示应用项目:https://gitee.com/cym1102/mongoStudy 基本用法: 本orm会在容器中注入一个对象MongoHelper,这个对象拥有诸多单表查询功能,摘要如下 按id删除:deleteById(String, Class<?>) 按条件删除:deleteByQuery(Criteria, Class<?>) 查询所有:findAll(Class) 查询数量:findCount(Class<?>) 根据id查询:findById(String, Class) 根据条件查询:findListByQuery(Criteria, Class<?>) 根据条件查询并分页:findPage(Criteria, Page, Class<?>) 插入:insert(Object) 插入或更新:insertOrUpdate(Object) 根据id更新:updateById(Object) 根据id更新全部字段:updateAllColumnById(Object) 根据条件更新第一项:updateFirst(Criteria, Update, Class<?>) 根据条件更新所有项:updateMulti(Criteria, Update, Class<?>) 累加某一个字段的数量, 原子操作:addCountById(String id, String property, Long count, Class<?> clazz) 这个mongoHelper能够完成所有查询任务,插入和更新操作能够自动判断pojo的类型操作对应表,查询操作根据传入的Class进行对应表操作,本orm所有数据库操作都基于mongoHelper的功能,不用像mybatis一样,每个表都要建立一套Mapper,xml,Service,model,大大减少数据层的代码量。可以将mongoHelper直接注入到controller层,简单的操作直接调用mongoHelper进行操作,不需要调用service层。 而复杂的操作及事务处理需要service层,将mongoHelper注入service,并使用service层的@Transactional注解就能使用springBoot管理的事务功能。 打印查询语句: spring-data-mongodb默认的打印语句方式为修改配置文件logging.level.root: debug。但这里打印出来的语句基本不可读,也不能像sql一样直接复制出来到数据库中进行执行,处于集群模式下还每隔数秒发送一次检测当前数据库isMaster的命令,很干扰debug。本orm重写了查询语句的打印功能,只要配置spring.data.mongodb.print:true就能打印出如下的语句: db.admin.find({ "$and": [ { "name": { "$regex": "^.*ad.*$", "$options": "i" } } ] }).projection({ "name": 1 }).sort({ "id": -1 }); 可直接复制到mongodb客户端中进行执行,非常方便调试。 多数据源: 如果需要连接两个以上的mongodb数据库,可先在yml文件中配一个uri2: spring: data: mongodb: uri2: mongodb://user:pass@host:27017/study?replicaSet=rs0&authSource=admin&w=majority&j=true&wtimeout=5000&readPreference=primary 再配置一个MongoHelper2类继承MongoHelper: @Service("mongoHelper2") public class MongoHelper2 extends MongoHelper { @Value("${spring.data.mongodb.uri2}") String uri2; @PostConstruct public void init() { // 使用uri2初始化mongoTemplate,不支持事务 this.mongoTemplate = new MongoTemplate(new SimpleMongoClientDatabaseFactory(uri2)); super.init(); } } 这样,注入MongoHelper2进行增删改查的操作就会被执行到uri2的数据库上 获取原生mongoTemplate: 如果觉得MongoHelper的方法无法满足项目需求, 可以用mongoHelper.getMongotemplate()的方式获取springboot原生的mongotemplate对象进行操作。 本次更新内容: 修正一些编码规范,减少代码警告数量 添加多数据源功能 添加@createTime和@updateTime注解功能 ,可自动插入更新时间和修改时间 更新springBoot版本, 增加支持mongodb 5.0 修复大量bug

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

mica-mqtt 1.0.3 发布,新增 websocket 支持

一、简介 mica-mqtt 基于 t-io 实现的简单、低延迟、高性能 的 mqtt 物联网开源组件。使用详见 mica-mqtt gitee 源码mica-mqtt-example 模块。 二、功能 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。 支持 websocket mqtt 子协议(支持 mqtt.js)。 支持 MQTT client 客户端。 支持 MQTT server 服务端。 支持 MQTT 遗嘱消息。 支持 MQTT 保留消息。 支持自定义消息(mq)处理转发实现集群。 MQTT 客户端 阿里云 mqtt 连接 demo。 支持 GraalVM 编译成本机可执行程序。 支持 Spring boot 项目快速接入(mica-mqtt-spring-boot-starter)。 mica-mqtt-spring-boot-starter 支持对接 Prometheus + Grafana。 三、待办 优化处理 mqtt session,以及支持部分 mqtt v5.0 新特性。 四、更新记录 ✨mica-mqtt server 添加 websocket mqtt 子协议支持(支持 mqtt.js)。 ✨mica-mqtt server ip,默认为空,可不设置。 ✨mica-mqtt client去除 CountDownLatch 避免启动时未连接上服务端卡住。 ✨mica-mqtt client 添加最大包体长度字段,避免超过 8092 长度的包体导致解析异常。 ✨mica-mqtt client 添加连接监听 IMqttClientConnectListener。 ✨mica-mqtt 3.1 协议会校验 clientId 长度,添加配置项 maxClientIdLength。 ✨mica-mqtt 优化 mqtt 解码异常处理。 ✨mica-mqtt 日志优化,方便查询。 ✨mica-mqtt 代码优化,部分 Tio.close 改为 Tio.remove。 ✨mica-mqtt-spring-boot-example 添加 Dockerfile,支持spring-boot:build-image。 ✨完善 mica-mqtt-spring-boot-starter,添加遗嘱消息配置。 ⬆️ 升级 t-io 到 3.7.4。 五、Spring boot 快速接入 5.1 添加依赖 <dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-mqtt-spring-boot-starter</artifactId> <version>1.0.3</version> </dependency> 5.2 服务端配置示例 mqtt: server: enabled: true # 是否开启,默认:true ip: 127.0.0.1 # 服务端 ip 默认:127.0.0.1 port: 5883 # 端口,默认:1883 name: Mica-Mqtt-Server # 名称,默认:Mica-Mqtt-Server buffer-allocator: HEAP # 堆内存和堆外内存,默认:堆内存 heartbeat-timeout: 120000 # 心跳超时,单位毫秒,默认: 1000 * 120 read-buffer-size: 8092 # 接收数据的 buffer size,默认:8092 max-bytes-in-message: 8092 # 消息解析最大 bytes 长度,默认:8092 debug: true # 如果开启 prometheus 指标收集建议关闭 websocket-enable: true # 开启 websocket 子协议,默认开启 websocket-port: 8083 # websocket 端口,默认:8083 5.3 服务端可实现接口(注册成 Spring Bean 即可) 接口 是否必须 说明 IMqttServerAuthHandler 是 用于客户端认证 IMqttMessageListener 是 消息监听 IMqttConnectStatusListener 是 连接状态监听 IMqttSessionManager 否 session 管理 IMqttMessageStore 集群是,单机否 遗嘱和保留消息存储 AbstractMqttMessageDispatcher 集群是,单机否 消息转发,(遗嘱、保留消息转发) IpStatListener 否 t-io ip 状态监听 5.4 服务端自定义配置(可选) @Configuration(proxyBeanMethods = false) public class MqttServerCustomizerConfiguration { ​ @Bean public MqttServerCustomizer activeRecordPluginCustomizer() { return new MqttServerCustomizer() { @Override public void customize(MqttServerCreator creator) { // 此处可自定义配置 creator,会覆盖 yml 中的配置 System.out.println("----------------MqttServerCustomizer-----------------"); } }; } ​ } 5.5 MqttServerTemplate 使用示例 import net.dreamlu.iot.mqtt.codec.MqttQoS; import net.dreamlu.iot.mqtt.spring.server.MqttServerTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; ​ import java.nio.ByteBuffer; ​ /** * @author wsq */ @Service public class ServerService { @Autowired private MqttServerTemplate server; ​ public boolean publish(String body) { server.publishAll("/test/123", ByteBuffer.wrap(body.getBytes())); return true; } } 5.6 基于 mq 消息广播集群处理 实现 IMqttConnectStatusListener 处理设备状态存储。 实现 IMqttMessageListener 将消息转发到 mq,业务按需处理 mq 消息。 实现 IMqttMessageStore 存储遗嘱和保留消息。 实现 AbstractMqttMessageDispatcher 将消息发往 mq,mq 再广播回 mqtt 集群,mqtt 将消息发送到设备。 业务消息发送到 mq,mq 广播到 mqtt 集群,mqtt 将消息发送到设备。 5.7 Prometheus + Grafana 监控对接 得益于 t-io 良好的设计,监控指标直接对接的 t-iostat,目前支持下列指标,后期会不断完善。 支持得指标 说明 mqtt_connections_accepted 共接受过连接数 mqtt_connections_closed 关闭过的连接数 mqtt_connections_size 当前连接数 mqtt_messages_handled_packets 已处理消息数 mqtt_messages_handled_bytes 已处理消息字节数 mqtt_messages_received_packets 已接收消息数 mqtt_messages_received_bytes 已处理消息字节数 mqtt_messages_send_packets 已发送消息数 mqtt_messages_send_bytes 已发送消息字节数 关于 mica-mqtt-spring-boot-starter 更多请查看文档:https://gitee.com/596392912/mica-mqtt/tree/master/mica-mqtt-spring-boot-starter 六、普通 java 项目接入 6.1 maven 依赖 <dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-mqtt-core</artifactId> <version>1.0.3</version> </dependency> 6.2 mica-mqtt 客户端 // 初始化 mqtt 客户端 MqttClient client = MqttClient.create() .ip("127.0.0.1") .port(1883) // 默认:1883 .username("admin") .password("123456") .version(MqttVersion.MQTT_5) // 默认:3_1_1 .clientId("xxxxxx") // 默认:MICA-MQTT- 前缀和 36进制的纳秒数 .connect(); // 连接 // 消息订阅,同类方法 subxxx client.subQos0("/test/#", (topic, payload) -> { logger.info(topic + '\t' + ByteBufferUtil.toString(payload)); }); // 取消订阅 client.unSubscribe("/test/#"); // 发送消息 client.publish("/test/client", ByteBuffer.wrap("mica最牛皮".getBytes(StandardCharsets.UTF_8))); // 断开连接 client.disconnect(); // 重连 client.reconnect(); // 停止 client.stop(); 6.3 mica-mqtt 服务端 // 注意:为了能接受更多链接(降低内存),请添加 jvm 参数 -Xss129k MqttServer mqttServer = MqttServer.create() // 默认:127.0.0.1 .ip("127.0.0.1") // 默认:1883 .port(1883) // 默认为: 8092(mqtt 默认最大消息大小),为了降低内存可以减小小此参数,如果消息过大 t-io 会尝试解析多次(建议根据实际业务情况而定) .readBufferSize(512) // 自定义认证 .authHandler((clientId, userName, password) -> true) // 消息监听 .messageListener((clientId, topic, mqttQoS, payload) -> { logger.info("clientId:{} topic:{} mqttQoS:{} message:{}", clientId, topic, mqttQoS, ByteBufferUtil.toString(payload)); }) // ssl 配置 .useSsl("", "", "") // 自定义客户端上下线监听 .connectStatusListener(new IMqttConnectStatusListener() { @Override public void online(String clientId) { } @Override public void offline(String clientId) { } }) // 自定义消息转发,可用 mq 广播实现集群化处理 .messageDispatcher(new IMqttMessageDispatcher() { @Override public void config(MqttServer mqttServer) { } @Override public boolean send(Message message) { return false; } @Override public boolean send(String clientId, Message message) { return false; } }) .debug() // 开启 t-io debug 信息日志 .start(); // 发送给某个客户端 mqttServer.publish("clientId","/test/123", ByteBuffer.wrap("mica最牛皮".getBytes())); // 发送给所有在线监听这个 topic 的客户端 mqttServer.publishAll("/test/123", ByteBuffer.wrap("mica最牛皮".getBytes())); // 停止服务 mqttServer.stop(); 七、效果演示 建议关注如梦技术码云:https://gitee.com/596392912,更多优秀开源项目等你来发现。

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

Tor Browser 10.5.4 发布,隐私浏览器

Tor Browser 是一个基于 Firefox ESR (Firefox with extended support) 的 Web 浏览器,默认配置通过 Tor 和 Vidalia 实现了个人隐私保护和匿名。 这个版本将 Firefox 更新到 78.13.0esr。该版本包括对 Firefox 的重要安全更新。 自 Tor Browser 10.5.2 以来的变化包括: Windows + OS X + Linux 更新 Firefox 到 78.13.0esr; 更新 NoScript 到 11.2.11; Bug 40041:移除桌面版 about:tor 上的 V2 弃用 banner; Bug 40506:在 10.5 中无法使用已保存的登录信息; Bug 40524:更新 DuckDuckGo 在搜索首选项时的洋葱网站网址; 构建系统 Windows + OS X + Linux 更新 Go 至 1.15.14 更多详情可查看:https://blog.torproject.org/new-release-tor-browser-1054

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

DBShop 商城系统 V3.1 Release 发布

DBShop企业级商城系统,使用PHP语言基于Laminas(Zendframework 3) + Doctrine 2 组合框架开发完成。可定制、多终端、多场景、多支付、多货币;严谨的安全机制,可靠稳定;方便的操作管理,节约时间;清晰的权限分配,责任分明;便捷的更新处理,一键搞定;丰富的插件市场,扩展无限。 前台提供:简体中文、繁体中文、英文、日文、韩文 显示。 系统框架 Laminas (Zendframework 3) Doctrine 2 环境要求 服务器系统Linux、Unix、Mac、Windows、其他 web服务器Apache、Nginx、IIS、其他 MySQL版本>= 5.6 PHP版本>= 7.2 PHP扩展|库 PDO SSL(openssl) Fileinfo intl Curl Zip GD2 系统空间>= 500M 更新日志: 新增 对于自提点核销后台插件的支持,自提点独立核销后台插件 优化 商家配送设置 优化 商品扩展名称的过滤 线下连锁、社区团购插件: 本插件与DBShop商城组合,可支持线下连锁和社区团购两种模式 详情可查看 https://docs.loongdomsoft.com/plugin/shop/plugin-location-store.html 在线文档地址:https://docs.loongdomsoft.com/ 前台演示地址:http://v3.dbshop.net 后台演示地址:http://v3.dbshop.net/admin 后台登录账号:dbshop 后台登录密码:123456 下载地址:https://download.loongdom.com.cn/dbshop/V3.0/DBShopV3.1_Release.tar.gz

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

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

用户登录
用户注册