首页 文章 精选 留言 我的

精选列表

搜索[ORM框架],共10000篇文章
优秀的个人博客,低调大师

Rubik —— Android 平台组件化开发框架

Rubik是一套解决Android平台组件化的综合方案,提供gradle project之间的路由通讯能力,以及对gradle project的组件定义、版本控制、maven发布、aar/jar与源码之间的切换以及组件的自由组合等能力。 English Readme Rubik由两部分组成: Rubik Router :即Rubik的函数级路由能力,与一般的页面路由不同,Rubik Router允许把Uri及参数,导航到工程内部,任意的一个公开的JVM语言(Java/Kotlin)函数的执行上,以便于更灵活的进行gradle project之间不基于代码调用的通讯。 Rubik 工具链 :提供组件上下文的定义、版本控制、maven发布、aar/jar与源码之间的切换等能力,包括4个gradle plugin: rubik: 提供全局定义组件的能力,并根据全局定义自动启用rubik-context、rubik-root等插件 rubik-context: 提供task,自动生成镜像函数等中间代码,并把中间代码打包成context.jar ,按版本号发布到maven 提供task,把业务代码按flavor、版本号编译成aar (包括代码、资源、内置SDK)发布到maven 通过全局定义的组件,为组件所在子工程自动添加其他context.jar的依赖 rubik-root: 给壳工程提供筛选组件等能力,根据flavor、版本号筛选要打包进apk的业务组件 提供组件的源码工程和aar切换的能力 rubik-test: 给工程提供单元测试环境 快速开始 1. 工程创建和组件声明: (1) 创建或使用已有的一个或多个android library module,作为"组件工程"(如demo代码中的demo_component_detail、demo_component_home等),用于开发真正的业务逻辑。 (2) 在最外层工程(gradle root project)的build.gradle或gradle.properties文件中配置Rubik版本号等初始化参数,并在最外层工程中启用rubik插件: ext { rubik_kapt_version = "com.rubik:kapt:1.9.1.1-K1_5" rubik_router_version = "com.rubik:router:1.9.1.1-K1_5" rubik_plugins_version = "com.rubik:plugins:1.9.1.1-AGBT4-K1_5" } apply plugin: 'rubik' // 启用rubik插件 (3) 在最外层工程的build.gradle文件或同级目录下的rubik-*.gradle文件中,配置组件信息: rubik { component { // 第一个组件 uri "app://com.myapp.home" // 组件的Uri dependencies { // 组件需要依赖的其他组件 uri ("app://com.myapp.detail" ) { version "0.1.1" // 依赖其他组件的版本 } uri( … ) } source { // 定义默认来源,如不需切换源码和aar,可以只声明project或maven project (":demo_component_home") } } component { … } //继续配置第二个组件 } 2. 让组件之间互相通信: (1). 在接口提供者工程内,通过注解定义路由路径,作为组件暴露给其他组件的通信接口: 通过RFunction注解声明函数路由: @RFunction(path = "account/user") fun getUser(id : Int, name : String) : User? { … } 通过RPage注解声明页面路由: @RPage(path = "page/main") class HomeActivity : AppCompatActivity() { … } (2). 执行接口提供者工程对应的"publishRubikXxxRContextLib"任务,发布组件上下文到云端或本地maven仓库。 (3). 执行接口提供者工程对应的"publishRubikXxxRComponent"任务,发布组件aar到云端或本地maven仓库。 (4). 在接口调用者工程内,调用上述接口提供者所提供的接口,可以选择两种方式: 通过Kotlin DSL: navigate { uri = "app://com.myapp.detail/account/user" // 请求的uri query { // 请求的参数 "id" with 400 "name" with "CuiVincent" } result<User?> { user -> // 通过泛型指定接收数据类型,多次异步返回时,可以用多个result接收 … } } 通过自动生成的镜像函数: DetailContext.Account.user(400, "CuiVincent" ) { user -> … // 自动生成的镜像函数的参数类型、返回值类型都是明确的,比DSL方式更具有约束力 } 3. 筛选要打包的组件 (1). 创建或使用已有的android application project,作为"壳工程"(如demo代码中的demo_root_app),用于把组件组装并编译成Apk。 (2). 在"壳工程"的的build.gradle文件或同级目录下的rubik-*.gradle文件中,指定"壳工程"最终要将哪些组件,以哪种方式引入,并打包到最终的编译产物之中: rubik { packing { projectMode { // projectMode,通过源码工程的方式引入组件 uri ("app://com.myapp.home") uri ("app://com.myapp.*") // 支持通过*匹配任意字符 } mavenMode { // mavenMode,通过maven上的aar的方式引入组件 uri ("app://com.myapp.detail") { version "0.2.0" } } } } 测试 通过rubik-test插件,给当前工程的androidTest variant添加全部可pick组件的context.jar依赖,便于写测试用例。 @RunWith(AndroidJUnit4::class) class RouterTestCase { @Before fun init() { Rubik.init() } // 初始化Rubik @Test fun usePerview() { PerviewContext.preViewVideo(path) { success -> log("preViewVideo success:${success}") } // 测试用例 } … // 继续写测试用例 }

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

Apache Flink 1.14.6 发布,流处理框架

Apache Flink 1.14.6 现已发布,这是一个错误修复版本。包括针对 Flink 1.14 的 34 个错误修复、漏洞修复和小改进。有关所有更改的完整列表可参阅:JIRA。官方强烈建议所有用户升级到 Flink 1.14.6。 具体更新内容包括: Bug [FLINK-24862]- 用户定义的hive udaf/udtf 不能在 hive dialect 中正常使用 [FLINK-25454]- 吞吐量计算器中的负数时间 [FLINK-27041]- 如果任何主题分区为空,则批处理模式下的 KafkaSource 会失败 [FLINK-27399]- Pulsar 连接器未正确设置开始消耗位置 [FLINK-27418]- Flink SQL TopN 结果是错误的 [FLINK-27683]- 插入到 (column1, column2)Values(.....) 失败,并带有 SQL 提示 [FLINK-27762]- Kafka 在处理 splits changes 时出现 WakeupException [FLINK-28019]- RetractableTopNFunction 在启用状态 ttl 的情况下收回 stale record 时出现错误 [FLINK-28057]- LD_PRELOAD 在 flink-docker 上硬编码为x64 [FLINK-28357]- 恢复 Finished sources 时的水印问题 [FLINK-28454]- 修复了 KafkaSource 的错误时间戳示例 [FLINK-28609]- Flink-Pulsar 连接器在较大的架构上失败 [FLINK-28880]- 修复了 CEP 文档中关于循环模式的严格连续的错误结果 [FLINK-28908]- 在 PyFlink 中,LIST 类型的编码选择不正确。 [FLINK-28978]- Kinesis 连接器不适用于新的 AWS 区域 [FLINK-29130]- 纠正文档中对 state.backend.local-recovery 的描述 [FLINK-29138]- Project pushdown 不适用于 lookup source Improvement [FLINK-27865]- 添加在Kafka SQL 连接器文档中配置 SASL 和 SSL 的指南和示例 [FLINK-28094]- 升级 AWS SDK 以支持ap-southeast-3 发布公告:https://flink.apache.org/news/2022/09/28/release-1.14.6.html

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

Logback 1.3.0 & 1.4.0 发布,Java 日志框架

Logback 是由 log4j 创始人设计的又一个开源日志组件,分成三个模块:logback-core、logback- classic 和 logback-access。 logback-core 是其它两个模块的基础模块。 logback-classic 是 log4j 的一个改良版本,完整实现 SLF4J API ,可以很方便地更换成其它日志系统如 log4j 或 JDK14 Logging。 logback-access 访问模块与 Servlet 容器集成提供通过 Http 来访问日志的功能。 目前 Logback 发布了 1.3 & 1.4 两个版本,logback 1.3.x 支持 Java EE 版本,而 logback 1.4.x 支持 Jakarta EE,两个版本的功能相同。为 logback 1.2 编写的 logback 组件在 1.3 版本中无需更改即可工作。但是 logback 的配置系统 Joran 已经被重写为使用可单独处理的内部表示模型。因此,依赖于 Joran 的代码需要适应 Joran 的变化。 由于对 Joran 的增强,logback 配置脚本现在基本上是order-free的。例在可以在 logger 中首次引用 appender 之后对其进行定义。此外,不再实例化未引用的附加程序。 更改列表: Logback-classic 使用名为 DefaultJoranConfigurator 的默认配置器提供自身程序初始化。用户可以通过将自己的自定义配置器提供程序安装为可加载服务,来覆盖默认配置器。 因安全原因和缺乏使用, ch.qos.logback.classic.jmx 包被删除。 修复了CachingDateFormat 类中 java.time.DateTimeFormatter 的不正确初始化(LOGBACK-1659)。 修正了 FileFilterUtil.filesInFolderMatchingStemRegex 方法的性能问题(LOGBACK-1409)。 在 logback-access 中,修复了使用 comitted 状态检索响应状态的问题(LOGBACK-1580)。 在 logback-access 中,修复了 AccessEvent 类的 getRequestContent 和buildRequestParameterMap 方法中的错误处理。 修复了与 LoggingEvent 中的纳秒字段相关的一些问题(LOGBACK-1661)。 修复了与 LoggingEvent 中的 sequenceNumber 字段相关的一些问题 (LOGBACK-1662LOGBACK-1663)。 在初始化时打印 Logback-classic版本号,该信息也可通过 ch.qos.logback.core.util.EnvUtil 中的 logbackVersion() 方法获得(LOGBACK-1597)。 更新公告:https://logback.qos.ch/news.html

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

Angular 将弃用 Protractor 测试框架

Angular 团队在近日发布的官方博客中表示,他们根据社区通过 RFC 程序的反馈,决定弃用 Protractor,与此同时他们会与社区合作,为希望继续使用 Protractor 的活跃项目找到长期支持方案。 从 Angular v12 开始,Protractor 就已经不再是新的 Angular CLI 应用程序的一部分了。从现在开始,Angular 团队将只发布关键的错误修复,并遵循 Angular 的弃用惯例。在 Angular v16 版本中(预计在 2023 年夏天推出),他们将发布 Protractor 的最后一个版本。 在接下来的一年里,Protractor 的更新将仅限于: 安全漏洞 浏览器不兼容 那么,对于还想继续使用 Protractor 的开发者来说,要怎么办呢? Angular 团队在博客中表示: 我们理解,有些团队可能还没有准备好从 Protractor 迁移出去。我们已经与 HeroDevs 的独立团队合作,他们将创建一个 Protractor 的公共分支,并将会由他们提供长期支持。 我们为 Protractor 所做的工作以及它在为终端用户构建强大的 Web 应用方面所提供的服务感到非常自豪。Protractor 的停用给予了我们更多时间,使我们可以专注于其他有影响力的项目,这些项目将进一步推动 Angular 走向未来。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

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部分的功能。

用户登录
用户注册