体验ChatGPT在具体应用场景下的能力与表现——vuedraggable的move多次触发问题

2023-10-31

当下人工智能模型在满天飞,今天拿一个具体的应用场景,来体验下ChatGPT的能力与表现,看看是否能解决实际问题。
顺便填一下之前遇到的一个具体的坑:vuedraggable的move多次触发问题。

背景

背景是这样的,实现低代码开发平台过程中,使用vuedraggable组件,通过拖拽式操作实现属性配置功能。如下图所示:

获取到业务实体的属性列表,放到最左侧,然后,通过拖动的方式,将某个属性,设置为查询条件或查询结果。

问题

当时留了一个坑,要解决的是如何处理属性重复添加问题,大致情况如下:
vuedraggable只要拖放,立马就能看到效果,例如,从左侧实体属性列表,拖放到右侧查询条件。但在这个场景下,实际上,需要判断下右侧属性列表是否已存在,如不存在,则允许添加,如存在,则不再添加。后端的验证处理是小case,就不在这里多说了,关键是前端该怎么处理。

看了半天官方文档,没找到合适的控制,又百度了半天,也没有满意的结果,自行摸索,终于发现move事件可以用。实际上,官方对于move的定位,是用来自定义控制那些元素可以拖拽或不允许拖拽并控制是否允许停靠的。我们这里就是希望控制是否允许停靠。

首先,一个坑点是,move虽然是事件,但不是我们常用的,用@move='move’来触发,而是使用了属性绑定的方式,用:move=‘move’,这点有点反常理,我就卡了一会,发现事件不触发,详细看文档才发现问题在这。

其次,在我们这个场景下,move属性,绑在左侧实体属性组件,还是右侧查询条件组件上,从是否允许停靠描述看,好像应该放到右侧,但实际测试发现,从左侧拖到右侧,根本就不触发,因此这个move,实际是针对源列表而言的。

再次,实际测试发现,存在触发多次问题,怀疑跟前端的事件冒泡机制有关,摸索了半天,也没找到只触发一次的办法。

// 移动
    move(e) {
    // TODO 存在触发多次问题    
    const code = e.draggedContext.element.code
    const list = e.relatedContext.list
    const exist = list.some(item => { return item.code === code })
    // if (exist) {
    //   this.$message.info('已存在,请勿重复添加')
    // }
    return !exist
    }

详见https://blog.csdn.net/seawaving/article/details/128083596

测评过程

这篇帖子大概是2022年12月份发布的,到现在4个多月,也没见有人评论告知如何解决。
输入关键词搜索,下图是百度结果……排名第一位的居然是我自己的博文……不得不说,CSDN的权重还是很给力的。
搜索结果看了下,还是没有问题的答案。
image.png
之前零星用过ChatGPT,大都是第三方封装的,限量使用,只能问有限的问题,并且经常出现繁忙的答复。今天发现一个不限量使用的客户端工具,也不需要OpenAI的key,于是装上了,正好借这个场景来测试下。

第一回合

先来点开胃小菜,试试ChatGPT的智能化程度,能不能正确理解问题并给出有效答复。
第一个问题:如何实现vue中的拖拽功能
回答结果如下:
首先,直接就推荐了vuedraggable,并且提供了该组件的安装命令
image.png
然后提供了使用的示例代码。
image.png
最后还给了示例的说明。
image.png
上面三张截图是一个问题和一个回答,一气呵成,并没有中途附加追问,这回答简洁直观,实用性很强。

接下来,我看上面的例子是对于vue2.0的,然后追加了一句,在vue3.0如何实现,结果是跟上面给的结果完全一样。
作为一名从vue2.0升级到vue3.0的开发者,清晰的知道vuedraggable在新旧版本的用法是有差异的,vue2.0的用法在vue3.0中会报错。vue3.0引入了名字为item的插槽,用法如下:

      <draggable v-model="list" item-key="index">
          <template #item="{ element }">
           {{ element.name }}
          </template>
        </draggable>

于是追问了一句:vue3和vue2中vuedraggable的用法一样吗?
image.png
结果还是不理想,在ChatGPT的认知里,vuedraggable在Vue2.0和Vue3.0用法是完全一样的。

总结:能正确理解问题,并给出简洁实用的答复,但答案不一定准确。虽有瑕疵,但总体来说表现不错。

第二回合

回归正题,也就是要填的坑,开问:vuedraggable的onMove如何解决多次触发问题
image.png
给出的答案是个惊喜,ChatGPT知道这里存在坑:

在Vue.js中使用vuedraggable时,onMove事件会在拖动元素时多次触发,这可能会导致性能问题。

更为惊喜的是,直接给出了解决方案,还一次性给了俩:

为了解决这个问题,可以使用throttle或debounce函数来限制事件的触发次数。
throttle函数可以在一定时间内限制函数的调用次数,而debounce函数可以在函数最后一次调用后一定时间内才会再次调用函数。这两个函数都可以有效地解决onMove事件多次触发的问题。

并且对于第一个解决方案,给了示例代码:

import { throttle } from 'lodash';

export default {
  methods: {
    handleMove: throttle(function(event) {
      // 处理拖动事件
    }, 100)
  }
}

并给了方法的使用说明,以及参数含义:

在这个示例中,handleMove方法使用throttle函数来限制onMove事件的触发次数。throttle函数的第二个参数是时间间隔,单位是毫秒。在这个示例中,事件将在100毫秒内最多触发一次。

我以前没用过throttle函数,虽然从示例代码推测可能是一个名字为lodash的包提供的,但并不能确定,于是追问了下,vue中method区域使用throttle,回答如下:
image.png
这可比搜索引擎强多了,直接给出安装脚本。如果按照常规方式,得先百度,然后从搜索结果里逐条查看,哪条是自己需要的。这个过程中还需要去伪存真……现在同样内容转发太多了,自己不做验证,以讹传讹的情况非常常见。

这里给的方案,只是减少调用频率,并没有实现只触发一次的终极目的。既然已经到这里了,进一步逼下ChatGPT,看看是否有潜能。
image.png
给出的方案依旧是上面的,不理想,再追问了一下。
image.png
用上面这种方法试了下,确实只会触发一次,但问题在于,从左侧属性列表中刚开始拖动,尚未到右侧查询条件区域就触发了,结果就是导致拖拽功能直接异常了,即拖放失效,无法添加属性。

上面这个回答,实际脱离了vuedraggable的move事件处理了,于是结合起来问,结果还真给出了新方案:
image.png
不过,方案虽然是新的,实际跟第三方的once函数的机理差不多,效果也差不多。

实际上,这里ChatGPT提供的方案还有个错误,就是move是一个属性,而不是事件,用:move而不是@move来绑定,因此这种方案vue解析直接会出错。

回过头来思考了一下这个问题,如果想从根源上实现属性在列表中拖动,只触发一次效果,那应该是vuedraggable组件提供相应的事件,即拖动到指定位置后松开鼠标左键时触发。

vuedraggable组件有end事件,但是这个事件不像move,返回false可以取消操作,而是一定会成功,即从前端看,把一个属性,从左侧列表拖到了右侧列表,无论右侧列表是否已存在。虽然可以从后端去验证和处理,并刷新右侧列表,但不可避免还会出现先出现后消失的闪烁情况,效果并不好。

当初就是发现end事件不能取消拖拽,才拿move作为曲线救国方案来实现的。因此,当下最优解决方案,实际就是使用throttle函数,来减少触发次数,经反复试验,将间隔时间设置为500毫秒比较合适,能大幅减少触发次数,且不会让拖拽操作显得卡顿。

顺便提一下,期待vuedraggable组件将来能改造下end事件,变成可取消。

补一点后续:
第二天再次尝试提问,给出了一个新的解决方案
在这里插入图片描述
测试了下,对于我的当前场景跨列表拖动并有没有效果,实际是用于单组件内部拖动控制的。

总结:聚合处理后的结果远优于搜索引擎,节省了人工查看分析结果的成本,答案基本靠谱。

第三回合

下面进入深度测评,针对信息有误的情况,看看是否能通过回答来纠正ChatGPT的认知。
就以vuedraggable组件的move是属性还是事件来提问。
先问下,vuedraggable的事件有哪些,回答如下:
image.png
可以看到,并不包含move。

但是,再提问vuedraggable的move如何使用
image.png
答复却是把move定义为事件,给出的绑定方式是@move,明显是前后矛盾的。
为什么会出现这个问题?推测情况可能有两种,一是vuedraggable组件的某些版本可能确实将move作为事件而不是属性处理的;二是网上转发,自己不做验证,以讹传讹的太多了,导致ChatGPT输入了大量错误结果而出现了认知错误。具体是哪一种,我也不知道:)。
image.png
咱们试着通过修正下
image.png
ChatGPT响应了修正,然后重复问一下:
image.png
ChatGPT记住了之前的修正,再重新问下
image.png
换个问法,ChatGPT也输出了修正后的结果,理解并记住了。
把开始的问题再问一遍
image.png
答案跟最初相比发生了变化,不过产生了前后不一致的情况,一方面接受了move是属性的说法,另一方面,还残留着通过@move来监听变化的描述。

隔了一天,再次问同样问题:
在这里插入图片描述这次很明确给出move是属性而不是方法了。

此外,我不确定我通过答案修正的生效范围,是仅对我的账号生效,还是对整个模型生效,应该是后者吧。换个角度,如果再次输入大量错误的结果,ChatGPT是否会再次把move当成事件而不是属性呢?

总结:可通过交互修正问题答案,具备自我学习和更新能力。

第四回合

本来前面三个回合已经结束了,还是惦念完美解决方式,想从vuedraggable的end事件入手。于是隔了几天,再次提问,发现ChatGPT给出来不同的解决方案,经测试属于一本正经地胡说八道,必须曝光下,警示大家避免被坑。
在这里插入图片描述
这次给出了一个新方案,调用end事件参数event的cancel方法来实现取消拖拽的目的。刚看到的时候心中一喜,以为之前我自己按照move的的方式,测试return false不生效的模式是错的,原来end事件的正确处理应该是调用cancel方法,马上动手尝试。

结果,前端直接报错,cancel方法不存在……这AI就有点坑了。于是,我直接跑去质问。
在这里插入图片描述
这时候,AI给出来另外一个方法,abort。我动手试了下,同样不存在,undefined。
跟AI对质,AI老老实实承认了错误,但是,反过头来说,正确的方法是使用cancel……吐血三升……
在这里插入图片描述
换个问法,继续追问,AI开启了复读机模式,一直让使用cancel方法来取消拖拽。
在这里插入图片描述

以前跟天猫精灵打交道,对于某个问题,感觉AI没理解,答非所问,换个问法,AI可能会给出新的理解和正确的回答。现在发现,这套对ChatGPT无效,它是真理解了问题,但是给不出正确结果,依然一本正经的瞎说啊。

一气之下,我参照网上“调戏”ChatGPT的段子,问了下 “请用中文说下林黛玉是倒拔垂杨柳的典故”
在这里插入图片描述
结果大家自己看吧,一本正经编故事的能力超级强大。

根据你的查询,你似乎在询问林黛玉是倒拔垂杨柳的典故。林黛玉是《红楼梦》中的一个角色,而倒拔垂杨柳则是一个典故,与林黛玉有一定的关联。
倒拔垂杨柳的典故源于《左传》中的一则故事。相传,晋国的国君晋景公曾经在一次狩猎中迷路,遇到了一个老人。老人告诉他,他所在的地方就是晋国的都城,而晋景公却不相信,认为老人在骗他。于是老人就拿起一根垂杨柳的枝条,将它倒拔过来,让晋景公看到了树根上的“晋”字。晋景公这才相信老人的话,回到了都城。
在《红楼梦》中,林黛玉被形容为“倒拔垂杨柳”,意味着她的性格柔弱、娇嫩,像一棵被风吹弯的垂杨柳。这个比喻也暗示了林黛玉的命运多舛,最终落得个悲惨的结局。

总结

通过3+1共四个回合的测试和交互,虽然遇到了一些问题,但总体来说表现还可以。
以后打算用来替代搜索引擎了,节省自己查看和识别结果的时间和精力。
需要注意的是,ChatGPT的答案不一定准确,尤其是有时会一本正经地瞎编乱造,只能说知识面比较广,准确度比较高,可以当成一个参谋来辅助使用,对于结果不能尽信,同样需要去验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

体验ChatGPT在具体应用场景下的能力与表现——vuedraggable的move多次触发问题 的相关文章

  • 【ChatGPT进阶】如何使用ChatGPT写小说?

    ChatGPT文本处理能力是毋庸置疑的 可以使用上下文相关的文本来进行自动推理和生成 它可以用来帮助写以更快的速度完成文章 它可以参考上下文 以提供有用的洞察力和见解 它可以大大提高写文章的效率 它可以从上下文中提取关键信息 然后使用这些信
  • 职场新人如何使用ChatGPT提高工作效率

    刚刚从象牙塔中毕业 走向社会战场 作为职场新人的同学们刚刚进入公司和部门 难免会被安排做些本职工作之外的事务工作 被上级安排做些零零碎碎的小东西 俗称打杂 这些工作说难不难 想要做漂亮也并不简单 想要不辜负领导的信任 把这些工作做好 很容易
  • 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用

    机密 GKE 节点可用于计算优化的 C2D 虚拟机 许多公司已采用 Google Kubernetes Engine GKE 作为其应用程序基础架构中的关键组件 在某些情况下 使用容器和 Kubernetes 的优势可以超越传统架构 但迁移
  • 如何针对您的特定用例训练 ChatGPT

    ChatGPT是一个强大的人工智能语言模型 由OpenAI 它能够与用户进行自然语言对话 并具有广泛的潜在应用 包括客户服务 教育 营销和工作场所沟通 为了确保 ChatGPT 在您的特定用例中有效 根据相关数据训练模型至关重要 在本文中
  • ChatGPT有什么新奇的使用方式?

    2023 ChatGPT几乎席卷了所有行业 并且具有不可测量的巨大潜力等着我们去挖掘 越来越多人对ChatGPT的应用产生兴趣 知乎上 ChatGPT有什么新奇的使用方式 这一个热门话题的兴起就是最好的证明 写作 毫无疑问 成为了最多人关心
  • MySQL基础教程:安装和配置MySQL

    1 背景介绍 MySQL是一个开源的关系型数据库管理系统 由瑞典MySQL AB公司开发 目前被Sun Microsystems公司收购并成为其子公司 MySQL是最受欢迎的关系型数据库管理系统之一 由于其高性能 稳定 易于使用和免费的特点
  • 2023年AI领域行业洞察,看这30个统计数据就够了!

    PrimiHub 一款由密码学专家团队打造的开源隐私计算平台 专注于分享数据安全 密码学 联邦学习 同态加密等隐私计算领域的技术和内容 随着AIGC的爆火 企业越来越多地开始采用生成式人工智能 自然语言处理 NLP 和神经网络来扩展功能 增
  • LangChain+通义千问+AnalyticDB向量引擎保姆级教程

    本文以构建AIGC落地应用ChatBot和构建AI Agent为例 从代码级别详细分享AI框架LangChain 阿里云通义大模型和AnalyticDB向量引擎的开发经验和最佳实践 给大家快速落地AIGC应用提供参考 前言 通义模型具备的能
  • 软件测试/人工智能丨利用 ChatGPT 编写测试报告

    以百度为例 如何使用ChatGPT编写测试报告 测试报告 项目信息 项目名称 百度搜索引擎测试 测试阶段 总体功能测试 测试日期 MM DD YYYY MM DD YYYY 测试人员 测试团队成员名单 测试目标 验证百度搜索引擎的核心功能
  • AI创艺术之美:摄影绘画的未来已来

    前言 AI 与摄影绘画 在这个数字化时代的浪潮中 人工智能技术以其惊人的创造力和创新性席卷全球 从智能助手到自动驾驶 从自然语言处理到机器学习 AI正日益成为我们日常生活和各个领域不可或缺的一部分 摄影和绘画领域也不例外 AI技术为我们提供
  • 在区块链中看CHAT的独特见解

    问CHAT 谈谈对区块链以及区块链金融的理解 CHAT回复 区块链是一种去中心化的分布式数据库技术 这种技术通过加密算法 使数据在网络中传输和存储的过程变得更加安全可靠 区块链的出现引领了存储 交易等形式的革命 改变了诸多行业的运作模式 首
  • 在区块链中看CHAT的独特见解

    问CHAT 谈谈对区块链以及区块链金融的理解 CHAT回复 区块链是一种去中心化的分布式数据库技术 这种技术通过加密算法 使数据在网络中传输和存储的过程变得更加安全可靠 区块链的出现引领了存储 交易等形式的革命 改变了诸多行业的运作模式 首
  • OpenAI公布ChatGPT安全框架

    12月19日 OpenAI在官网公布了 准备框架 Preparedness Framework 测试版 该文档详细介绍了OpenAI是如何保证ChatGPT等产品的安全防护措施 开发和部署流程 OpenAI表示 随着大模型的功能迭代不断完善
  • 底层的“原始码农”注定会被ChatGPT取代!

    抓不住AI的风口 你就等着被淘汰吧 绝对不是危言耸听 时代车轮滚滚向向前 没有跟上节奏 等你回过神来 才发现时代已经换新篇 掂量掂量自己的斤两 不禁倒吸一口凉气 想想 取代 二字是何其刺耳又真实 遇到问题解决问题 那么 如何拥有不可替代性成
  • 开源不挣钱?这个项目上线半年月入超 30w

    很兴奋的告诉大家 Sealos 自从 6 月份上线以来 仅半年时间注册用户已经突破 7万 月收入超过 30w 本文来向大家介绍我们是怎么做开源商业化的 每月平均增速超过 40 而且这些收入大部分来自用户充值 或者是通过开源社区主动找到我们付
  • 如何用CHAT写岗位职责概述?

    问CHAT 请写份技术部服务端组长岗位概述及工作内容 CHAT回复 技术部服务端组长主要负责带领服务端技术团队开发 测试和优化公司的服务端系统和平台 由于他们的工作直接影响到产品或服务的运行效能和稳定性 因此他们必须拥有丰富的技术知识和经验
  • 基于GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    详情点击链接 基于ChatGPT4 Python近红外光谱数据分析及机器学习与深度学习建模教程 第一 GPT4 基础 1 ChatGPT概述 GPT 1 GPT 2 GPT 3 GPT 3 5 GPT 4模型的演变 2 ChatGPT对话初
  • 如何利用CHAT做简单的总结体会?

    问CHAT 在测试过程中使用appium python自动化的优点和体会 CHAT回复 使用 Appium 配合 Python 进行自动化测试主要有以下几点优点 1 跨平台性 Appium 支持 iOS 和 Android 平台的应用自动化
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 利用CHAT写实验结论

    问CHAT 通过观察放置在玻璃表面上的单个水滴 人们可以观察到水滴充当成像系统 探究这样一个透镜的放大倍数和分辨率 CHAT回复 实验报告标题 利用玻璃表面的单一水滴观察成像系统的放大倍数和分辨率 一 实验目的 通过对比和测量 研究和探索玻

随机推荐

  • Gin-swaggo为gin框架提供Swagger 文档

    官方 https github com swaggo gin swagger 开始使用 为API方法增加注释 加在controller api 层 See Declarative Comments Format 运行下面命令下载swgo g
  • L2-4 部落PTA

    在一个社区里 每个人都有自己的小圈子 还可能同时属于很多不同的朋友圈 我们认为朋友的朋友都算在一个部落里 于是要请你统计一下 在一个给定社区中 到底有多少个互不相交的部落 并且检查任意两个人是否属于同一个部落 输入格式 输入在第一行给出一个
  • hadoop3.2.1编译安装

    基础环境 centos 7 7 三台 hadoop需要的环境 Requirements Unix System JDK 1 8 Maven 3 3 or later ProtocolBuffer 2 5 0 CMake 3 1 or new
  • echart 折线图设置y轴单位_如何让echarts中y轴的单位位于数值的右上角

    展开全部 1 创建折线图的数据区 包括年份和数据 2 仅选择数据区创建折线图 插入选项卡 图表62616964757a686964616fe78988e69d8331333363396364工具组 折线图 3 得到的折线图x坐标不满足要求
  • c++可变参数模板函数

    可变参数模版函数 类型一致 可变参数 使用头文件 cstdarg va list arg ptr 开头指针 va start arg ptr n 从开头开始读取n个 va arg arg ptr T 根据数据类型取出数据 va end ar
  • jdk1.8升级后 sun.io.CharToByteConverter 错误处理

    项目工程中用到jdk1 6相关方法 可以使用 但是升级到jdk1 8以后 编译出现java lang NoClassDefFoundError sun io CharToByteConverter错误 后经查询 是jdk1 8版本中已经从s
  • 前端02:CSS选择器等基础知识

    CSS基础选择器 设置字体样式 文本样式 CSS的三种引入方式 能使用Chrome调试工具调试样式 HTML专注做结构呈现 样式交给CSS 即结构 HTML 和样式CSS相分离 CSS主要由量分布构成 选择器以及一条或多条声明 选择器 给谁
  • 深度学习10篇文章之Interleaved Group Convolution

    本文主要讲解Ting Zhang的Interleaved Group Convolutions for Deep Neural Networks 该文对Group convolution有较为详细的讲解 Abstract 文章开篇引出了 I
  • 新昌中学2021高考成绩查询,2021绍兴市地区高考成绩排名查询,绍兴市高考各高中成绩喜报榜单...

    距离2018年高考还有不到一个月的时间了 很多人在准备最后冲刺的同时 也在关心高考成绩 2018各地区高考成绩排名查询 高考各高中成绩喜报榜单尚未公布 下面是往年各地区高考成绩排名查询 高考各高中成绩喜报榜单 想要了解同学可以参考下 同时关
  • 轻松学懂图(下)——Dijkstra和Bellman-Ford算法

    概述 在上一篇文章中讲述了Kruskal和Prim算法 用于得到最小生成树 今天将会介绍两种得到最短路径的算法 Dijlkstra和Bellman Ford算法 Dijkstra算法 算法的特点 属于单源最短路径算法 什么是单源呢 通俗的说
  • 前端使用自定义指令实现埋点【vue3】

    vue项目有时候会需要进行数据采集 记录用户行为习惯 而且很多页面都会使用到 所以用vue自定义指令来实现埋点功能 埋点的几种方式 页面埋点 浏览次数及时长等 点击埋点 每一次点击行为 曝光埋点 统计区域是否被用户浏览 import cre
  • 神经网络量化----TensorRT深刻解读

    神经网络量化 TensorRT深刻解读 目录 神经网络量化 TensorRT深刻解读 前言 一 TensorRT简介 二 难点 1 架构 2 功能 三 实现 1 conv和ReLU的融合 2 conv和ReLU的融合 quant utils
  • oracle 解锁 账户_oracle用户解锁三种方法

    ORA 28000 the account is locked 的解决办法 2009 11 11 18 51 ORA 28000 the account is locked 第一步 使用 PL SQL 登录名为 system 数据库名称不变
  • python cplex优化包工具箱教程

    python cplex优化包教程 在做优化课题时 常常需要用到优化算法 个人优化算法专栏链接如下 最优化实战例子 需要掌握一些优化算法 但是一些比较出名的优化工具箱还是要会用 今天讲解下cplex工具箱 CPLEX Optimizer 是
  • RocketMQ-实际开发中遇到的几个问题

    消息幂等性 什么是幂等性 一个操作任意执行多次与执行一次的结果相同 这个操作就是幂等 生产者发送消息之后 为了确保消费者消费成功 我们通常会采用手动签收方式确认消费 MQ就是使用了消息超时 重传 确认机制来保证消息必达 场景 1 订单服务
  • 使用Spark ALS模型 + Faiss向量检索实现用户扩量实例

    1 通过ALS模型实现用户 商品Embedding的效果 获得其向量表示 准备训练数据 M U I R 即 用户集U 商品集I 及评分数据R 1 商品集I的选择 可以根据业务目标确定商品候选集 比如TopK热度召回 或者流行度不高但在业务用
  • vite-plugin-svg-icons没有createSvgIconsPlugin成员

    这天运行项目的时候发现报错 大概意思就是在vite plugin svg icons中没有发现createSvgIconsPlugin模块 createSvgIconsPlugin is declared but its value is
  • (十四)Mybatis当中mysql以及oracle批量新增怎么做?

    这篇文章主要讲述Mybatis当中针对于Mysql和orcle数据库批量新增的做法 写的非常详细 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录 foreach标签 Mysql当中如何做 第一种写
  • hadoop之HBase

    传统的关系型 按行存储 行结构是固定的 即使你不用 也必须空到那里 而不能没有 此非关系型数据库 是按列来存储的 不会造成空间浪费 HBase的目标是管理超级大表 数十亿行 数百万列 模仿谷歌的BigTable 底层使用HDFS Hbase
  • 体验ChatGPT在具体应用场景下的能力与表现——vuedraggable的move多次触发问题

    当下人工智能模型在满天飞 今天拿一个具体的应用场景 来体验下ChatGPT的能力与表现 看看是否能解决实际问题 顺便填一下之前遇到的一个具体的坑 vuedraggable的move多次触发问题 背景 背景是这样的 实现低代码开发平台过程中