首页 文章 精选 留言 我的

精选列表

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

Midway v2.12.1 发布,新增 Axios 组件

Features 1、新增 Axios 组件 提供一个 axios 组件,用于发送 http 请求。 接口保持和 axios 一致,处理了作用域相关的问题。 使用示例: import { HttpService } from '@midwayjs/axios'; @Provide() export class UserService { @Inject() httpService: HttpService; async invoke() { const url = 'https://api.github.com/users/octocat/orgs'; const result = await this.httpService.get(url); // TODO resut } } 具体请查看 axios 文档。 Bugfix 1、处理默认 listen hostname 可能引起 502 的问题 具体见 issue#1195 新版本将参数分开,恢复了默认行为。 2、bootstrap 新增 preloadModules 透传 preloadModules 启动参数是用于 ncc 构建的预留,之前未透传,在一些极端情况下需要使用,比如 issue#1193。 新版本增加了启动参数的透传。

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

Midway v2.12.0 发布,新增 OSS 组件

Features 1、新增 @midwayjs/oss 包,提供 oss 服务 从 v2.12.0 版本开始,提供官方的 oss 组件包。 使用示例如下: import { OSSService } from '@midwayjs/oss'; @Provide() export class UserService { @Inject() ossService: OSSService; async invoke() { // oss 保存文件 await this.ossService.put('xxxx', fileStream); } } 具体请查看 oss 文档。 2、Task 组件增加默认日志打印 现在 task 组件有了一个自己的日志,所有的计划任务的日志会输出到其中。 3、Web/Koa/Express 监听端口时可以指定 host 感谢 @tkvern 提供 PR。 可以在启动时,额外传递一个 hostname 参数,用于指定 listen 的第二个参数。 const WebFramework = require('@midwayjs/web').Framework; const web = new WebFramework().configure({ port: 7001, hostname: '0.0.0.0' }); const { Bootstrap } = require('@midwayjs/bootstrap'); Bootstrap .load(web) .run(); 4、Cache 组件定义增强 现在 Cache 组件的 get/set 方法支持了泛型,使得用户获取的值可以是非 string 类型了。 比如: let result = await this.cache.get<string>('name');

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

mica-mqtt 1.0.0 正式版发布

一、简介 mica-mqtt 基于 t-io 实现的简单、低延迟、高性能 的 mqtt 物联网开源组件。使用详见Gitee:mica-mqtt-example 模块。 二、功能 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。 支持 MQTT client 客户端。 支持 MQTT server 服务端。 支持 MQTT 遗嘱消息。 支持 MQTT 保留消息。 支持自定义消息(mq)处理转发实现集群。 支持 GraalVM 编译成本机可执行程序。 MQTT 客户端 阿里云 mqtt 连接 demo。 三、待办 添加 Spring boot stater。 添加 websocket子协议支持mqtt.js。 四、使用 4.1 maven 依赖 <dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-mqtt-core</artifactId> <version>${最新版本}</version> </dependency> 4.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进制的纳秒数 .bufferAllocator(ByteBufferAllocator.DIRECT) // 堆内存和堆外内存,默认:堆内存 .readBufferSize(512) // 消息一起解析的长度,默认:为 8092 (mqtt 消息最大长度) .keepAliveSecs(120) // 默认:60s .timeout(10) // 超时时间,t-io 配置,可为 null,为 null 时,t-io 默认为 5 .reconnect(true) // 是否重连,默认:true .reInterval(5000) // 重连重试时间,reconnect 为 true 时有效,t-io 默认为:5000 .willMessage(builder -> { builder.topic("/test/offline").messageText("hello"); // 遗嘱消息 }) // .properties() // mqtt5 properties .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(); 4.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)); }) // 堆内存和堆外内存选择,默认:堆内存 .bufferAllocator(ByteBufferAllocator.HEAP) // 心跳超时时间,默认:120s .heartbeatTimeout(120_1000L) // 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()), MqttQoS.EXACTLY_ONCE); ​ // 发送给所有在线监听这个 topic 的客户端 mqttServer.publishAll("/test/123", ByteBuffer.wrap("mica最牛皮".getBytes()), MqttQoS.EXACTLY_ONCE); ​ // 停止服务 mqttServer.stop(); 五、效果演示 六、文档和资源 mica-mqtt 使用文档 mica-mqtt 发行版本

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

Symfony 5.3.4 发布,经典 PHP Web 开发框架

Symfony 是一款基于 MVC 架构的PHP框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小。 此外,Symfony 致力于在企业背景下创建健壮的应用,同时也给予了开发者强大的配置功能:从文件结构到外部目录,几乎所有的东西都可以自定义。Symfony 也捆绑了一些诸如测试、调试、文档生成等额外的工具来满足企业的开发过程。 Symfony 5.3.4 更新内容如下: bug#42243[Translation] [Lokalise] 修复base_uri bug#42223[Debug][ErrorHandler] 不要使用php80 polyfill bug#42207[Console] 修复表 setHeaderTitle 没有 headers 的问题 bug#42130[Translation] 修正回退到 Locale::getDefault() 的问题 bug#42184[Mailer] 确保 Http TransportException 不被泄露 bug#42150[Form] 修复 invalid_message 在多个 ChoiceType 中的使用 bug#42183[Notifier] 允许将先前的 throwable 传递给异常 bug#42173[Messenger] [Redis] 修复被错误认为无效的身份验证选项 bug#42174标明与 psr/log 2 和 3 的兼容性 bug#42112[HttpFoundation] 修复 PHP 8.1 下的 FileBag bug#42131[PhpUnitBridge] 修复Windows下的合成器解析 bug#42097[DependencyInjection] 支持交叉类型 bug#42114[HttpFoundation] 修复 SessionHandler::gc() 的返回类型; bug#42074修复 ctype_digit 弃用 bug#42084[WebProfilerBundle] 修复一些 CSS 属性的值 bug#42079[FrameworkBundle] 修复了 Sodium vault seal 中的文件操作 bug#42078[DoctrineBridge] [Doctrine Bridge] 修复一个异常信息 bug#42067[Messenger] [Redis] Makeauthoption works (@welcoMattic) bug#42054[DoctrineBridge] 修正在 php 8/7 上分别设置默认映射类型为属性/注释的问题 bug#42049[TwigBridge] 不要两次渲染相同的标签 id 属性 …… 更多详情可查看:https://github.com/symfony/symfony/releases/tag/v5.3.4

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

Jarboot v1.0.7 稳定版发布

GitHub:https://github.com/majianzheng/jarboot 重大特性更新: 1、启动的jar文件配置支持绝对路径和相对路径两种方式; 2、增加配置项:Jarboot启动后是否自动启动其管理的服务,默认不启动; 3、原通用配置项的配置文件统一移到jarboot.properties配置文件中; 4、启动的VM参数配置,配置项为为一个.vmoptions的配置文件,支持相对路径和绝对路径,多个服务可以共用一个vmoptions配置文件; 5、工作路径和JDK的配置,支持相对路径和绝对路径; 6、issue [#13] 命令行中引号内存在空格时解析错误的bug,修复完成; 7、启动优先级排序错误bug的修复,优先级数值大者优先启动; 8、VM参数和程序传入参数编辑支持弹窗富文本编辑; 其他更新: 1、消息推送机制重构,优化性能; 2、增加startup和shutdown的脚本; 3、移除swagger-ui; 4、引入p3c等代码检查规范; 5、Json序列化存在部分bug,fastjson -> jackson

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

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

修复引SQLParser后,PageKit.getCountSql中若使用group by生成countsql不正确的Bug,如下: SELECT * FROM student GROUP BY id PageKit.getCountSql: SELECT COUNT(*) FROM student GROUP BY id Maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.6.3-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插件,提供向导和自动提示

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

Rocky Linux

Rocky Linux

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

WebStorm

WebStorm

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

用户登录
用户注册