首页 文章 精选 留言 我的

精选列表

搜索[API集成],共10000篇文章
优秀的个人博客,低调大师

集成 UnoCSS 图标库!TypeScript 类型支持全面升级!

我们非常高兴地宣布,2025年4月7日,TinyVue发布了v3.22.0🎉。 本次 3.22.0 版本主要有以下重大变更: 支持深色模式 增加基于 UnoCSS 的图标库 更丰富的 TypeScript 类型声明 支持 XSS 配置 详细的 Release Notes 请参考:https://github.com/opentiny/tiny-vue/releases/tag/v3.22.0 本次版本共有 18 位贡献者参与开发,其中hashiqi12138/hu-qi/tsinghua-lauDarkingtail/lcy0620/discreted66是新朋友,欢迎新朋友的加入👏 hashiqi12138- 新增贡献者✨ hu-qi- 新增贡献者✨ tsinghua-lau- 新增贡献者✨ Darkingtail- 新增贡献者✨ lcy0620- 新增贡献者✨ discreted66- 新增贡献者✨ shenjunjian kagol zzcr gimmyhehe Davont betavs wuyiping0628 Youyou-smiles James-9696 chenxi-20 MomoPoppy gweesin 感谢新老朋友们对 TinyVue 的辛苦付出👏 你可以更新@opentiny/vue@3.22.0进行体验! npm i @opentiny/vue@3.22.0 我们一起来看看都有哪些更新吧! 1 支持深色模式 TinyVue 开源以来,陆续有小伙伴提出要支持深色模式。 本次 v3.22.0 版本全面支持了深色模式。 效果如下: 使用方式也非常简单,只需要引入深色模式样式文件,在 html 标签配置class="dark"即可。 假设我们已经有了一个 Vite + Vue3 的工程。 先安装 TinyVue 3.22.0 版本。 npm i @opentiny/vue@3.22.0 然后在 src/style.css 文件中写入以下代码,引入深色模式样式文件。 [@import](https://my.oschina.net/fzqlovehzl) '@opentiny/vue-theme/dark-theme-index.css'; 接着在 index.html 的 HTML 根元素添加 dark 类名。 <html class="dark"> ... </html> 我们尝试在 App.vue 中引入 TinyVue 的 Button 组件。 <template> <tiny-button type="primary">主要按钮</tiny-button> <tiny-button>次要按钮</tiny-button> </template> <script setup> import { TinyButton } from '@opentiny/vue' </script> 具体代码可以拷贝 Button 组件的 demo 代码:https://opentiny.design/tiny-vue/zh-CN/os-theme/components/button 效果如下: 2 增加基于 UnoCSS 的图标库 之前 TinyVue 的图标库图标整体不够统一,存在一些重复图标,并且是通过封装 Vue 组件方式提供的,性能欠佳。 本次我们的设计师小姐姐和开发小哥哥携手推出了一款更加现代、更美观、性能更优异的图标库,而且是框架无关的。 源码:https://github.com/opentiny/icons(欢迎 Star ⭐) 官网:https://opentiny.github.io/icons/ 图标预览:https://opentiny.github.io/icons/browser-icons-base OpenTiny Icons 是 OpenTiny 团队推出的一款纯 CSS 图标库,单色图标以线型图标为主的设计风格,图标统一为16*16的大小,拥有安全边距,保证了一致的视觉大小。 该图标库主要有以下亮点特色: CSS 图标库:纯 CSS 图标,支持 Vue / React 等所有的前端框架 按需引用:支持@iconify-json导出方式,配合@unocss/preset-icons插件, 实现按需引用 图标美观/丰富:300+ 基础单色图标,精致美观,风格统一,大小&颜色随心变,可满足大部分日常开发需要 支持多色图标:支持 330+ 的多色图标,覆盖常见的空数据、请求状态、应用权限等场景 适用场景多:支持组件库的开发,日常应用开发 欢迎有需要的朋友使用! 使用方式也非常简单,我们以一个普通的 vite 工程 为例,执行以下命令安装@opentiny/icons图标库。 npm install @opentiny/icons 在 style.css 中加入以下内容,就可以放心使用图标库了 @import "@opentiny/icons/style/all.css"; 图标库可以通过 CSS 去完全控制样式,其中单色图标支持通过字体大小和颜色去自定义样式,而彩色图标仅支持自定义大小。 <i class="ci-home" style="font-size:14px; color:#000;"></i> <i class="ci-email" style="font-size:16px; color:#d32222;"></i> <i class="ci-news" style="font-size:18x; color:#4822d3;"></i> <i class="ci-date" style="font-size:20px; color:#40d322;"></i> <hr /> <i class="ci-svc-ecs" style="font-size:72px;"></i> <i class="ci-svc-obs" style="font-size:72px;"></i> <i class="ci-svc-cbr" style="font-size:72px;"></i> <i class="ci-svc-live" style="font-size:72px;"></i> <hr /> 效果如下: 更多使用方式,请参考文档:https://opentiny.github.io/icons/ 3 更丰富的 TypeScript 类型声明 TinyVue 组件库很早就支持 TypeScript 类型提示,不过有些函数式组件(比如 Modal、Loading 等)的 TypeScript 支持不是特别友好,本次版本完善了这部分组件的 TypeScript 类型声明,给 Modal、Notify、Loading、Message 等函数式组件增加了 TypeScript 类型声明。 使用效果如下: 4 支持 XSS 配置 为了尽可能防止 XSS 攻击,TinyVue 内置的 XSS 过滤规则比较严格,会对所有包含 XSS 风险的代码片段进行过滤处理。若开发者需要放开部分规则(比如富文本场景下放开 img 标签的 src 属性)的需求场景,可以手动配置 xss 白名单。 使用 @opentiny/utils 中的 setXssOption 方法传入自定义的 xss 白名单,示例: import { xss } from'@opentiny/utils' const options = { enableAttrs: true, enableHtml: true, enableUrl: true, html: { whiteList: { a: ['class', 'style', 'contenteditable', 'data-id', 'data-title', 'data-size', 'href', 'data-last-modified'], img: ['class', 'style', 'src'] } } } xss.setXssOption(options) 同时欢迎大家一起参与OpenTiny开源共建:朋友你好,一起加入OpenTiny社区吧~ 关于OpenTiny 欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~ OpenTiny 官网:https://opentiny.design OpenTiny 代码仓库:https://github.com/opentiny TinyVue 源码:https://github.com/opentiny/tiny-vue TinyEngine 源码:https://github.com/opentiny/tiny-engine 欢迎进入代码仓库 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~ 如果你也想要共建,可以进入代码仓库,找到 good first issue标签,一起参与开源贡献~

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

苹果正在与百度就 iOS 18 集成生成式 AI 功能的合作进行谈判

据外媒报道,本周早些时候,有消息称,苹果正在与谷歌进行谈判,以授权其 Gemini 模型用于为即将推出的 iOS 18 中的一些生成式 AI 功能提供支持。据说还与 OpenAI 就可能的交易进行了交谈。 近日,《华尔街日报》称苹果还与百度进行了谈判,以获得其模型的许可。这可能是为了满足苹果在中国客户的人工智能请求,因为中国法律要求模型在被允许使用之前必须得到监管机构的批准。 迄今为止,中国监管机构已批准了 40 多个模型,其中包括百度的 Ernie Bot。 截至目前,据信苹果尚未与任何生成人工智能提供商敲定交易。谈判正在进行中,预计将在 6 月份的 WWDC 之前达成一致。iOS 18 预计将包含许多人工智能驱动的功能,一些任务在设备上处理,另一些则传递给在云中运行的后端模型。 假设苹果遵循一贯的传统,iOS 18 将于 6 月发布,开发者测试版将在夏季运行。iOS 18 将于 9 月份向所有 iPhone 客户免费下载,并预装在 iPhone 16 系列上。

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

测试用例设计方法六脉神剑——第六剑:心法至简,百家之长集成

1 引言 在前面几篇文章中,为大家介绍的都是系统的方法论,但在实际需求测试的过程当中,受到外部环境及业务逻辑的影响,比如涉及多需求耦合、浏览器缓存堆积等情况,仅针对当前需求设计出的测试用例就会有覆盖不全的问题,此时就需要借助以往的经验进行反向错误推测,辅助其他方法对测试用例进行完善。在本篇文章中,首先会对错误推测法的思路进行介绍,并对本系列文章中讲解的所有测试用例设计方法进行归纳总结,给出具体的可应用业务场景,便于大家在遇到同类场景时可快速筛选出适用的方法,将测试用例设计方法论真正落地到日常工作中。 2 错误推测法 2.1 定义 是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。 2.2 设计思路 • 总结归纳以往的测试版本,找出共通的易错点 • 借助网络搜索,参考网上的测试设计要点 • 站在用户的角度去考虑非常规操作 • 编写测试场景标准库来完善错误推测方法 2.3 总结  方法 错误推测法 优点 ① 充分发挥人的直觉和经验 ② 集思广益 ③ 方便使用 ④ 快速切入 缺点 ① 难以知道测试的覆盖率 ② 可能丢失大量未知的区域 ③ 带有主观性且难以复制 ④ 只能作为测试设计的补充,不能单独用来设计测试用例 适用场景 先用其他方法设计测试用例,再使用错误猜测法补充用例。  3 全量适用场景总结  方法 具体使用场景 等价类划分法+边界值分析法 ① 输入条件规定的取值范围或值的个数的情况(最小<x<最大,最小<x,最大>x)。例如用户名长度、红包金额 ② 在下拉列表中包含多个选项的情况;城市下拉选项(第一个、最后一个、中间一个) ③ 如果规定了输入数据必须的遵守规则,可确立一个有效等价类和若干个无效等价类④ 报表数据第一行、最后一行、中间一行 因果图法/判定表法 ① 在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果 ② 适合测试组合数量较少的情况,一般少于20种 正交试验法 ① 表单类(均为下拉框、选项框等枚举类) ② 固定枚举组合场景类 ③ 适合测试组合数量较多的情况 ④ 在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果 功能图 ① 系统初建/重塑时,需要对系统中的对象状态流转进行测试; ② 被测对象存在状态变化的功能,如审批流的状态、线索转化的状态等等。 场景法 适用于业务流程较清晰的软件系统或功能模块,如审批流划转、在线购物、报价申请、实名认证、销售线上签约等。 错误推测法 先用其他方法设计测试用例,再使用错误猜测法补充用例,如从以下方面考虑: ① 单个空格,多个空格 ② 字符串前面有空格 ③ 字符串后面有空格 ④ 转义符 “\n” ⑤ Null ⑥ 特殊字符 ⑦ 通配符 * ⑧ 空串,超长字符串  作者:京东物流 陈雨婷 王鹏 张苑 李硕 来源:京东云开发者社区 自猿其说Tech 转载请注明来源

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

开源交流丨批流一体数据集成框架ChunJun数据传输模块详解分享

课件获取:关注公众号“ChunJun”,后台私信 “课件” 获得直播课件 视频回放:点击这里 ChunJun开源项目地址:github 丨 gitee 喜欢我们的项目给我们点个__ STAR!STAR!!STAR!!!(重要的事情说三遍)__ 技术交流钉钉 qun:30537511 本期我们带大家回顾一下六六同学的直播分享《ChunJun数据传输模块介绍》。 一、ChunJun数据类型转换 1、类型转换解决的问题 大家一听到「ChunJun数据类型转换」这个概念,可能会联想到上下游之间进行数据交互时会涉及到的隐式转换。如果上游和下游数据类型一致,则不需要对数据进行任何干预,直接进行下发即可。 但是大多数情况下会涉及到两个问题,一是上游的数据源类型和下游的数据源类型不一致。比如MySql的varchar类型要写到HdfsOrc文件里的string类型的话,在上游的表示是varchar,在下游的表示是string,但实际上中间段java的类型都是string。 另外一种情况则是,上下游之间不止数据源类型不一样,数据类型也不一样,除了要做类型的映射之外,还需要对数据本身进行改动。比如,MySql的date类型要写到下游timestamp类型,我们需要进行的操作是把date中的毫秒级的时间戳拿出来,转换成timestamp的类型,再往下游去写。 这样就引出了一个问题,如何建立所有数据源类型之间的映射/转换关系?下面将为大家解答这个问题。 2、类型映射概览 • client端:在Factory类中通过RawConverter类建立映射关系 • source端:将数据封装成AbstractBaseColumn • sink端:通过AbstractBaseColumn中的转换方法将数据转换成对应类型 ChunJun目前支持的数据类型映射关系图如下: 3、类型映射详解 以Timestamp为例,如果要写入到Long类型的话,根据上文展示的ChunJun数据类型映射关系图,最终映射到TimestampColumn中,具体流程如下图: 上面这个例子描述的是一个单独的字段,正常情况下,会处理多个字段,这时的类型映射详解情况如下图: as方法就是数据类型转换的方法。使用这个机制之后,在下游可以只关心需要的数据类型,增加开发效率。 二、ChunJun数据传输过程 了解完ChunJun数据类型转换后,我们来为大家分享ChunJun的数据传输过程。 1、上下游数据传输方式 在ChunJun中进行同步作业,有两种情况,一是算子链打开的情况,上游的Source和下游的Sink会被合并成一个task,有同一个线程去做调度;二是把算子链进行关闭,Source和Sink各自形成一个task,也有各自的线程去进行调度。 在算子链打开的情况下,上下游数据传输方式可分为两种,对象重用和拷贝。 ● 对象重用 · 上下游数据传输使用方法调用的形式,将上游产生的数据的对象引用直接交给下游 · 上下游算子需要形成算子链,作业开启对象重用 · env.getConfig().enableObjectReuse(); ● 拷贝 · 上游传输给下游的数据,需要经过一次深拷贝 · 上下游算子需要形成算子链 算子链的好处是可以减少序列化的操作,那么为什么我们还要引入序列化呢?因为ChunJun的特殊性。ChunJun同步作业的话,只有上下游两个算子,且都对接了正式的数据源,读写的时候会导致线程堵塞。因此上限由网络io决定,如果断开算子链,cpu会在一端线程阻塞的时候切换到另外一端。在序列化的性能较高时,线程上下文切换带来的性能下降完全可以被弥补。 经过测试,序列化的性能比对象重用和拷贝高30%左右。 ● 序列化 · 上下游数据传输依赖于网络传输。上游数据进行序列化成byte数组后进行网络传输,下游收到数据后需要进行反序列化 · 上下游之间不形成算子链 知道要做序列化后,会产生一些思考,带着这些疑问,接着往下看。 • 序列化和反序列化在什么时候发生? • Flink支持哪些序列化? • 序列化是怎么做的? • 怎么找到适合的序列化方式? • 如何实现自定义的序列化? 2、序列化传输过程 下图是ChunJun在进行序列化操作时的数据传输链路图: 3、DataOutView 4、TypeInformation介绍 5、kryo序列化&BaseSerializer 同样是序列化一个int对象,对kryo来说,首先需要知道它的类型,然后从高位到低位依次去写入。 DataOutputView则是直接调用一个writeInt的方法,写一句关键代码即可: UNSAFE.putInt( this.buffer, BASE_OFFSET + this.position, v); 三、ChunJun序列化实现 1、ColumnRowData序列化过程 ColumnRowData序列化过程采取标志位+实际数据的方式,具体流程如下图: 相对于kryo的序列化来说: · 实现了更密集的存储 · 兼容null值 · 减少了不必要的数据传输 2、BinaryRowData结构 因为数据区一格只占8个字节,且每个index只能占到一位,所以肯定存在一些没法存储在8字节范围之内的数据,可变长度部分就是用来存放数据区无法存放的数据。 3、BinaryRowData-setNull操作 看到上文的null值判断区,有些同学可能会好奇这是什么,又是怎么进行操作的。下图将对一个下标为11的数据去做setnull操作,进行简单介绍: 4、BinaryRowData数据存储方式 袋鼠云开源框架钉钉技术交流群(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:https://github.com/DTStack

资源下载

更多资源
Mario

Mario

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

Spring

Spring

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

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

用户登录
用户注册