当前位置: 首页 > news >正文

生成式人工智能将如何改变网络可访问性

作者:Matthew Adams

受 Be My Eyes 和 OpenAI 启发的一项实验,尝试使用 ChatGPT 4o 实现网页无障碍

在 Elastic,我们肩负着一项使命,不仅要构建最佳的搜索驱动型 AI 平台,还要确保尽可能多的人喜欢使用该平台。我们相信,开放可访问性不仅可以将我们的受众扩大到新用户,还可以为所有用户带来更好的体验。然而,问题在于,传统的 Web 可访问性虽然出于良好的意图,但却让人感觉像是在圆孔中插入方枘。对于 Kibana 等复杂、视觉堆叠的应用程序来说,情况尤其如此。

对于有视力障碍的用户来说,浏览这些复杂的视野可能有点像在黑暗中尝试解决魔方。然而,生成式 AI 有可能从根本上改善可访问性和用户与 IT 的交互。

在这篇文章中,我想与你分享一个宠物项目:我一直在尝试使用生成式 AI 来构建一个更智能、更直观的屏幕阅读器。

这项实验的灵感来自 Be My Eyes 的开创性努力,这款应用程序旨在通过视频通话将视障人士与视力正常的志愿者联系起来,以及 OpenAI 在创建虚拟志愿者方面的开创性工作。通过利用类似的独创性,目标是打造一个由人工智能驱动的管道,帮助将视觉数据转化为可理解的听觉反馈。

尝试使用屏幕阅读器是什么感觉?

对于有视力障碍的人来说,互联网可能代表着一个障碍迷宫,其包容性的潜力常常被不方便访问的网站设计所扼杀。屏幕阅读器已成为这一领域的重要工具,使视障用户能够访问和与网络内容互动。通过将文本转换为语音或盲文输出,这些辅助技术使用户能够 “听到” 或 “感觉到” 屏幕上显示的内容。

屏幕阅读器通过解析网页代码并按逻辑顺序读出文本内容来发挥作用。它们依靠网络开发人员使用特定工具,例如语义 HTML - 使用适当的标签标记标题、列表、链接和表单元素,为内容提供上下文和结构。这种组织良好的标记至关重要,因为它直接影响带有屏幕阅读器的网站的可用性。

此外,ARIA(Accessible Rich Internet Applications - 可访问的富互联网应用程序)标志的采用起着关键作用。这些标志指示网页的各个部分(如横幅、导航栏和主要内容区域),帮助用户更有效地在页面内导航。正确使用这些工具可以为屏幕阅读器用户带来更好的体验。

但是,当用户遇到高度视觉化或动态交互的 Web 应用程序时,很容易感受到屏幕阅读器的局限性,例如数据可视化或 Kibana 呈现的复杂仪表板。这些类型的内容通常无法通过传统的屏幕阅读器进行解释,因为它们无法整齐地转换为文本。

此外,非文本内容(如图像或图形)也会出现问题,这些内容需要替代文本描述才能对使用屏幕阅读器的人有用。但替代文本对于图表等复杂图像来说可能不够,这使得用户难以完全掌握视觉效果可以提供的更深入的见解。

交互性带来了另一个障碍;除非屏幕阅读器正确宣布,否则无需刷新页面即可更新的动态内容(在许多现代 Web 应用程序中很常见)可能会出现问题。如果 Web 应用程序没有向屏幕阅读器软件发出明确通知,用户可能会错过关键更新或更改,从而导致混乱和体验中断。

虽然屏幕阅读器提供了有价值的服务,但我们必须承认迫切需要发展这些技术。随着 Web 应用程序变得越来越复杂,视觉内容继续主导数字体验,很明显,屏幕阅读器的传统方法必须适应。这些工具的实用性取决于我们创新和扩展其功能的能力,以满足我们技术丰富的世界中所有用户的不同需求。

即使在一个简单的网站上使用屏幕阅读器到底是什么感觉?以下是 YouTube 上的一个很好的例子:

Be My Eyes

“Be My Eyes” 是一个利用技术赋能视障群体的杰出案例,它使人们获得了以前难以企及的独立性。这款革命性的移动应用程序通过实时视频通话将视障人士与世界各地的视力正常的志愿者联系起来。自 2015 年推出以来,“Be My Eyes” 已经建立了一个充满活力的支持网络,培养了一种超越地理界限的团结感。

该应用程序的前提简单而深刻:视障用户请求帮助,视力正常的志愿者会收到加入视频通话的通知。几分钟之内,志愿者就可以借出自己的视力,帮助用户完成各种任务,从读取易腐物品的保质期到适应新环境。这种即时和个人支持在很大程度上使日常挑战更容易应对,为人们提供了一个急需的桥梁,让他们能够进入一个主要为没有视力限制的人设计的世界。

我已经注册成为一名志愿者,我强烈建议注册。

最近,Be My Eyes 宣布与 OpenAI 合作,推出一款名为 Be My AI 的虚拟助手。这将用由 Chat GPT 4 提供支持的虚拟志愿者取代现场志愿者,特别是 GPT 4o 的新图像分析功能。你可以在此处阅读他们的博客。

这让我开始思考,我们如何才能快速探索如何在 Web 浏览器中实现类似的事情。

我要补充一点,我不使用屏幕阅读器,所以我只有一个局外人的视角。

使用 Chat GPT 4o 进行实验

我能想到的最简单的方法就是构建 Google Chrome 扩展程序。这些扩展程序可让你在浏览器中运行代码并访问正在查看的网站。

实验的目标是:

  • 描述当前页面
  • 能够提出特定问题,即使它不在初始摘要中
  • 能够同时使用语音转文本和文本转语音

从概念上讲,扩展程序的工作原理如下:

很难在博客中展示这种交互式工具的结果,因此我录制了一个包含一些示例结果的简短视频。

使用 GenAI/GPT 4o 屏幕阅读器实验实现 Web 可访问性

使用 GenAI/GPT 4o 屏幕阅读器实验实现 Web 可访问性_哔哩哔哩_bilibili

如果你无法观看视频,我将介绍几个示例。

第一个是一个网页,其中包含有趣的猫咪图片,但几乎看不到文字。我认为这将是一个很好的测试,可以测试系统如何描述并将此类图像置于上下文中。屏幕看起来是这样的:

LLM 很好地提供了页面的高级摘要,没有迷失在细节中,还突出了 cookie 通知等元素。以下是记录:

“you are on an adobe stock web page with a search for funny cats the page displays several images of cats in humorous situations from left to right top to bottom one a cat peeking out of a cardboard box two a cat wearing sunglasses with a colorful background three a cat sitting inside a plastic container four a cat holding a sign that says I hate people in front of a height measurement chart five a cat wearing sunglasses against a light blue background there is also a cookie consent notice at the bottom of the page with options to enable all or don't enable cookies and a cookie settings

你正在浏览一个 adobe stock 网页,搜索有趣的猫,页面从左到右从上到下显示了几张猫在幽默情况下的图片,一张是一只从纸板箱里探出头来的猫,第两张是一只戴着太阳镜的猫,背景是彩色的,第三张是一只坐在塑料容器里的猫,第四张是一只猫,手里拿着一块写着 “我讨厌人” 的牌子,站在一张身高测量表前,第五张是一只戴着太阳镜的猫,背景是浅蓝色背景,页面底部还有一个 cookie 同意通知,其中包含启用所有 cookie 或不启用 cookie 的选项,以及 cookie 设置”

然后你可以提出后续问题。当我具体询问身高表上的猫时,我得到了更详细的描述。你会注意到 LLM 不仅可以引用它是一张身高表,还可以引用文化参考,暗示猫是罪犯。以下是回复:

“the image you referred to shows a cat standing in front of a height chart typically used for police mug shots the cat has a Stern expression and is holding a sign that reads I hate people the background features height markers ranging from 40 to 65 adding to the humor effect of the mugshot concept the overall tone of the image is playful and funny playing on the idea of the cat being a criminal

你提到的图片显示一只猫站在一张通常用于警察大头照的身高表前,这只猫表情严肃,手里拿着一块牌子,上面写着 “我讨厌人”,背景上有 40 到 65 的身高标记,为大头照概念增添了幽默效果,图片的整体色调俏皮有趣,以猫是罪犯的形象为主题”

然后我们开始查看 Kibana 中的仪表板。

再次,它提供了仪表板中元素的非常详尽的概述以及仪表板试图实现的目标,并提供了一些细节,但不是太多。它确实一直在努力处理一个描述毫秒延迟的元素。不清楚为什么这会导致问题。描述的文字记录如下:

“the page is a monitoring dashboard from elastic here is a simple description of its main elements one header shows options for settings saving sharing and switching to view mode there's a search bar to find apps content and more modeled for mat's monitoring cluster with unsaved changes indicated two dashboard title editing benefits bot monitoring is displayed prominently three main panel rag search app monitoring with a description of the dashboard's purpose monitoring log data sent from the elastic powered rag app four visualization screens multiple visual representations including bar chart charts and pie charts that display various data count of Records 38 median of transaction duration 4,634 mless contribution to data by user Alice 26.32% and Bob 73.68% bar charts showing records over time and top values of host IPS audit log lists queries with Tim stamp service name query details user full name and the corresponding replies this dashboard helps in monitoring application performance and analyzing specific queries and data distributions over time

该页面是来自 elastic 的监控仪表板,以下是其主要元素的简单描述,一个标题显示设置保存共享和切换到查看模式的选项,有一个搜索栏用于查找应用程序内容和更多内容,针对 mat 的监控集群建模,并标明未保存的更改,两个仪表板标题编辑优势,机器人监控突出显示,三个主面板 rag 搜索应用程序监控,并描述仪表板的用途,监控日志数据从 elastic 驱动的 rag 应用程序发送,四个可视化屏幕,多种视觉表示,包括条形图和饼图,显示各种数据,记录数 38,交易持续时间中位数 4,634,用户 Alice 26.32% 和 Bob 73.68% 对数据的贡献较少,显示随时间变化的记录和主机 IPS 审计日志列表最高值的条形图,带有 Tim 戳记的查询,服务名称查询详细信息,用户全名和相应的回复,此仪表板有助于监控应用程序性能并分析特定查询和数据随时间分布”

不过,我发现真正令人印象深刻的是能够直接询问有关表格和图表的问题并获得直接答案。当我问 “what is the top Host IP - 顶级主机 IP 是什么?”时,它必须识别我正在谈论的图表,然后解释该图表。我得到的答复很简单:

“The top Host IP is 107.178.238.211 as shown in the bar chart titled Top 5 Valies of Host IP on the dashboard”

我玩得很开心,问它不同的问题来发现它的优点和缺点,我的整个实验花费了我大约 0.50 美元的 OpenAI 积分。如果你想亲自尝试扩展,我已在此处提供代码:

GitHub - m-adams/chrome-gpt-reader

结论

在我测试的过程中,尽管模型出现了一些小错误,但我对用相对简单的方法如此快速地实现目标感到非常惊讶。首先,现代文本转语音技术让使用系统变得非常愉快。自然的声音会自动让交互更加愉快和容易理解。

第二个观察结果是,从迭代阅读页面上的单个元素到快速获得上下文中的总体摘要,这一转变非常强大,如果没有大型语言模型 (LLM) 之类的东西,这几乎是不可能的。提出具体问题并获得直接答案的能力非常有效,并且响应速度足以促进迭代对话,即使多次调用 LLM 进行语音转文本和文本转语音。这包括能够询问有关复杂页面的问题,例如带有多个图表的 Kibana 仪表板。

如果所有这些都可以在不集成到正在使用的网站的情况下实现,那么想象一下,如果你增强了 Kibana 等应用程序,将会产生哪些可能性:

  • 提供系统提示,其中包含有关用例的更具体上下文。
  • 展示用户可以采取的可能操作,例如 “Set Time Range - 设置时间范围”、“Search - 搜索”、“Set Filter - 设置过滤器”。*集成应用程序导航。

此类更改实际上可以让用户通过 LLM 与 Kibana 进行对话。但这是否仅仅解决了可访问性问题?更广泛地思考 - 假设你是一名 SRE,在凌晨 2 点收到值班警报。想象一下,无需登录即可向 Kibana 询问一些后续问题,以确定是否需要立即采取行动,或者是否可以等到早上。当然,Elastic 已经朝着这个方向发展,开发了嵌入 Kibana 的 AI 助手,例如 Observability Assistant。

虽然这个简单的项目展示了 AI 在增强可访问性方面的潜力,但它也表明这项技术并不仅限于可访问性。它可以彻底改变所有用户与复杂的数据驱动界面交互的方式。

我相信,即使是这个简单的项目也可以通过使用内容脚本来使用函数调用对正在查看的站点采取行动来进行扩展。可能性是巨大的,我们只是触及了生成式人工智能在使网络应用程序更易于访问和对每个人都更友好的方面所能做的事情的表面。

通过不断创新和突破可能的界限,我们可以创造更具包容性和更强大的数字体验。这个实验向我展示了网络可访问性的未来是光明的,这由生成式人工智能的交互潜力所驱动。

准备好自己尝试一下了吗?开始免费试用。
希望将 RAG 构建到你的应用程序中?想要尝试使用矢量数据库的不同 LLM?
在 Github 上查看我们针对 LangChain、Cohere 等的示例笔记本,并立即加入 Elasticsearch Relevance Engine 培训。

原文:Generative AI's impact on web accessibility — Elastic Search Labs

相关文章:

生成式人工智能将如何改变网络可访问性

作者:Matthew Adams 受 Be My Eyes 和 OpenAI 启发的一项实验,尝试使用 ChatGPT 4o 实现网页无障碍 在 Elastic,我们肩负着一项使命,不仅要构建最佳的搜索驱动型 AI 平台,还要确保尽可能多的人喜欢使用该平台。我们相…...

科普文:一文搞懂jvm实战(二)Cleaner回收jvm资源

概叙 在JDK9中新增了Cleaner类,该类的作用是用于替代finalize方法,更有效地释放资源并避免内存泄漏。 在JEP260提案中,封装了大部分Sun包内部的API之余,还引入了一些新的API,其中就包含着Cleaner这个工具类。Cleaner承…...

使用PyTorch高效读取二进制数据集进行训练

使用pickle制作类cifar10二进制格式的数据集 使用pytorc框架来训练(以猫狗大战数据集为例) 此方法是为了实现阿里云PAI studio上可视化训练模型时使用的数据格式。 一、制作类cifar10二进制格式数据 import os, cv2 from pickled import * from load_da…...

应急响应:应急响应流程,常见应急事件及处置思路

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这一章节我们需…...

Kotlin/Android中执行HTTP请求

如何在Kotlin/Android中执行简单的HTTP请求 okhttp官网 okhttp3 github地址 打开build.gradle.kts文件加入依赖 dependencies {implementation("com.squareup.okhttp3:okhttp:4.9.0") }在IDEA的Gradle面板点击reload按钮便会自动下载jar...

哈希表(C++实现)

文章目录 写在前面1. 哈希概念2. 哈希冲突3. 哈希函数4.哈希冲突解决4.1 闭散列4.1.1 线性探测4.1.2 采用线性探测的方式解决哈希冲突实现哈希表4.1.3 二次探测 4.2 开散列4.2.2 采用链地址法的方式解决哈希冲突实现哈希表 写在前面 在我们之前实现的所有数据结构中(比如&…...

深入理解代理模式(Proxy Pattern)及其实际应用

引言 在软件开发中,有时候我们需要在不改变现有代码的情况下添加一些功能,比如延迟初始化、访问控制、日志记录等。代理模式(Proxy Pattern)通过代理对象控制对原对象的访问,为现有代码添加了额外的功能。本篇文章将详…...

Elasticsearch (1):ES基本概念和原理简单介绍

Elasticsearch(简称 ES)是一款基于 Apache Lucene 的分布式搜索和分析引擎。随着业务的发展,系统中的数据量不断增长,传统的关系型数据库在处理大量模糊查询时效率低下。因此,ES 作为一种高效、灵活和可扩展的全文检索…...

【Python爬虫】Python爬取喜马拉雅,爬虫教程!

一、思路设计 (1)分析网页 在喜马拉雅主页找到自己想要的音频,得到目标URL:https://www.ximalaya.com/qinggan/321787/ 通过分析页面的网络抓包,最终的到一个比较有用的json数据包 通过分析,得到了发送json…...

基于Jmeter的分布式压测环境搭建及简单压测实践

写在前面 平时在使用Jmeter做压力测试的过程中,由于单机的并发能力有限,所以常常无法满足压力测试的需求。因此,Jmeter还提供了分布式的解决方案。本文是一次利用Jmeter分布式对业务系统登录接口做的压力测试的实践记录。按照惯例&#xff0…...

IDEA常用代码模板

在 IntelliJ IDEA 中,常用代码模板可以帮助你快速生成常用的代码结构和模式。以下是一些常用的代码模板及其使用方法: 动态模板(Live Templates) psvm:生成 public static void main(String[] args) 方法。sout:生成 System.out.println(); 语句。soutv:生成 System.ou…...

基于大语言模型的多意图增强搜索

随着人工智能技术的蓬勃发展,大语言模型(LLM)如Claude等在多个领域展现出了卓越的能力。如何利用这些模型的语义分析能力,优化传统业务系统中的搜索性能是个很好的研究方向。 在传统业务系统中,数据匹配和检索常常面临…...

【ai】ubuntu18.04 找不到 nvcc --version问题

nvcc --version显示command not found问题 这个是cuda 库: windows安装了12.5 : 参考大神:解决nvcc --version显示command not found问题 原文链接:https://blog.csdn.net/Flying_sfeng/article/details/103343813 /usr/local/cuda/lib64 与 /usr/local/cuda-11.3/lib64 完…...

深入了解DDoS攻击及其防护措施

深入了解DDoS攻击及其防护措施 分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是当今互联网环境中最具破坏性和普遍性的网络威胁之一。DDoS攻击不仅危及企业的运营,还可能损害其声誉,造成客户信任度的下降。…...

【面试系列】产品经理高频面试题及详细解答

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…...

前端特殊字符数据,后端接收产生错乱,前后端都需要处理

前端&#xff1a; const data {createTime: "2024-06-11 09:58:59",id: "1800346960914579456",merchantId: "1793930010750218240",mode: "DEPOSIT",channelCode: "if(amount > 50){iugu2pay;} else if(amount < 10){iu…...

力扣热100 哈希

哈希 1. 两数之和49.字母异位词分组128.最长连续序列 1. 两数之和 题目&#xff1a;给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答案。…...

[图解]SysML和EA建模住宅安全系统-05-参数图

1 00:00:01,140 --> 00:00:03,060 这是实数没错&#xff0c;这是分钟 2 00:00:03,750 --> 00:00:07,490 但是你在这里选&#xff0c;选不了的 3 00:00:07,500 --> 00:00:09,930 因为它这里不能够有那个 4 00:00:11,990 --> 00:00:13,850 但是我们前面这里 5 00…...

JavaScript——对象的创建

目录 任务描述 相关知识 对象的定义 对象字面量 通过关键字new创建对象 通过工厂方法创建对象 使用构造函数创建对象 使用原型(prototype)创建对象 编程要求 任务描述 本关任务&#xff1a;创建你的第一个 JavaScript 对象。 相关知识 JavaScript 是一种基于对象&a…...

大二暑假 + 大三上

希望&#xff0c;暑假能早睡早起&#xff0c;胸围达到 95&#xff0c;腰围保持 72&#xff0c;大臂 36&#xff0c;小臂 32&#xff0c;小腿 38&#x1f36d;&#x1f36d; 目录 &#x1f348;暑假计划 &#x1f339;每周进度 &#x1f923;寒假每日进度&#x1f602; &…...

C语言使用先序遍历创建二叉树

#include<stdio.h> #include<stdlib.h>typedef struct node {int data;struct node * left;struct node * right; } Node;Node * createNode(int val); Node * createTree(); void freeTree(Node * node);void preOrder(Node * node);// 先序创建二叉树 int main()…...

如何在服务器中安装anaconda

文章目录 Step1: 下载 Anaconda方法1&#xff1a;下载好sh文件上传到服务器安装方法2&#xff1a;在线下载 Step2: 安装AnacondaStep3: 配置环境变量Step 4: 激活AnacondaStep4: 检验安装是否成功 Step1: 下载 Anaconda 方法1&#xff1a;下载好sh文件上传到服务器安装 在浏览…...

夸克网盘拉新暑期大涨价!官方授权渠道流程揭秘

夸克网盘拉新暑期活动来袭&#xff0c;价格大涨&#xff01;从7月1日开始持续两个月&#xff0c;在这两个月里夸克网盘拉新的移动端用户&#xff0c;一个从原来的5元涨到了10元。这对做夸克网盘拉新的朋友来说&#xff0c;真的是福利的。趁着暑期时间多&#xff0c;如果有想做夸…...

机器学习(三)

机器学习 4.回归和聚类算法4.1 线性回归4.1.1 线性回归的原理4.1.2 线性回归的损失和优化原理 4.2 欠拟合与过拟合4.2.1 定义4.2.2 原因以及解决方法4.2.3 正则化 4.3 线性回归改进-岭回归4.3.1 带L2正则化的线性回归-岭回归4.3.2 API 4.4 分类算法-逻辑回归与二分类4.4.1 定义…...

PostgreSQL 基本SQL语法(二)

1. SELECT 语句 1.1 基本 SELECT 语法 SELECT 语句用于从数据库中检索数据。基本语法如下&#xff1a; SELECT column1, column2, ... FROM table_name; 例如&#xff0c;从 users 表中检索所有列的数据&#xff1a; SELECT * FROM users; 1.2 使用 WHERE 条件 WHERE 子…...

linux 控制台非常好用的 PS1 设置

直接上代码 IP$(/sbin/ifconfig eth0 | awk /inet / {print $2}) export PS1"\[\e[35m\]^o^\[\e[0m\]$ \[\e[31m\]\t\[\e[0m\] [\[\e[36m\]\w\[\e[0m\]] \[\e[32m\]\u\[\e[0m\]\[\e[33m\]\[\e[0m\]\[\e[34m\]\h(\[\e[31m\]$IP\[\e[m\])\[\e[0m\]\n\[\e[35m\].O.\[\e[0m\]…...

【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第十二章)Wifi透传实验例程说明

本原创教程由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处&#xff08;www.meyesemi.com) 适用于板卡型号&#xff1a; 紫光同创PG2L50H_MBG324开发平台&#xff08;盘古PGX-Nano&#xff09; 一&#xff1a;…...

详述乙级资质企业在城市综合管廊与隧道一体化设计中的挑战与机遇

挑战 1. 技术与设计复杂性 城市综合管廊与隧道项目往往涉及复杂的地质条件、地下水位、周边建筑物影响等因素&#xff0c;要求企业具备高水平的岩土工程、结构工程和流体力学等专业知识。此外&#xff0c;一体化设计需要跨学科合作&#xff0c;协调不同系统的兼容性&#xff…...

如何借助物联网实现农情监测与预警

如何借助物联网实现农情监测与预警&#xff1f; 物联网技术&#xff0c;作为信息技术与传统行业的深度融合产物&#xff0c;正逐步变革着农业生产的管理模式&#xff0c;特别是在农情监测与预警领域展现出巨大潜力。其核心在于通过感知层的各类传感器、通信层的数据传输技术以…...

一个项目学习Vue3---响应式基础

观察下面一段代码&#xff0c;学习响应式基础的全部内容 <template><div><div>将下面的msg属性放到上面来:{{ msg }}</div><button click"count">{{ count }}</button><button click"object.count.value">{{ o…...

白骑士的Python教学基础篇 1.5 数据结构

系列目录​​​​​​​ 上一篇&#xff1a;白骑士的Python教学基础篇 1.4 函数与模块 数据结构是编程语言中用于存储和组织数据的基本构件。在Python中&#xff0c;常见的数据结构包括列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、字典&#xff08…...

Go 常用文件操作

查找文件/目录 os.Stat(String)组合路径 dir, _ : homedir.Dir() filename : args[0] path : filepath.Join(dir, filename)homedir.Dir()为home根目录。 filepath.Join 会自动处理分隔符&#xff0c;将目录和文件名组合成文件路径。 检查是否含有后缀.json strings.HasSu…...

大数据、人工智能、云计算、物联网、区块链序言【大数据导论】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 本篇序言前 必看 【大数据导论】—大数据序言 这是…...

ComfyUI流程图、文生图、图生图步骤教学!

前言 leetcode , 209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 …...

CSS基础知识学习指南

CSS基础知识学习指南 1. 介绍 CSS&#xff08;层叠样式表&#xff09;是用于描述HTML文档的呈现样式的语言。通过CSS&#xff0c;可以控制网页的布局、颜色、字体等各种样式&#xff0c;使得网页更加美观和用户友好。 2. CSS基础语法 CSS由选择器和声明块组成。选择器用于选…...

力扣hot100 -- 贪心算法

&#x1f442; ▶ 逍遥叹 - 胡歌&沈以城【Mashup】 (163.com) &#x1f442; 庐州月 - 许嵩 - 单曲 - 网易云音乐 2.7 小时&#xff0c;加上写博客&#xff0c;4 道题&#xff0c;&#x1f602; -- 希望二刷时&#xff0c;可以 3 小时&#xff0c;8 道题.... 目录 &…...

P2P文件传输协议介绍

P2P文件传输协议是一种基于对等网络&#xff08;Peer-to-Peer&#xff0c;简称P2P&#xff09;的文件共享和传输技术。以下是关于P2P文件传输协议的详细介绍&#xff1a; 一、定义与原理 P2P文件传输协议允许网络中的各个节点&#xff08;即计算机或其他设备&#xff09;之间…...

Spring Boot集成Spring Mobile快速入门Demo

1.什么是Spring Mobile&#xff1f; Spring Mobile是一个基于Spring Web MVC框架扩展的一个针对不同移动终端的应用开发框架。通过它我们在适配不同终端方面&#xff0c;就不用费劲心思了。 Spring Mobile的主要功能 自动设备检测: Spring Mobile在 server端内置了一个设备解…...

走进开源企业 | 湖南大学OpenHarmony技术实训活动在开鸿智谷顺利举办!

6月24日-6月26日&#xff0c;2024开放原子校源行之湖南大学信息科学与工程学院师生走进开源企业实训交流活动顺利落下帷幕。湖南大学信息科学与工程学院的师生代表团一行90人参与了湖南开鸿智谷数字产业有限公司&#xff08;以下简称“开鸿智谷”&#xff09;与母公司拓维信息系…...

TCP单进程循环服务器程序与单进程客户端程序

实验目的 理解并掌握以下内容: 网络进程标识(即套接字地址)在Linux中的数据结构与地址转换函数。网络字节序与主机字节序的定义、转换以及相关函数在网络编程中的应用。数据结构内存对齐的基本规则,以及基于数据结构构建PDU的基本方法。TCP单进程循环服务器与单进程客户端的…...

QT+winodow 代码适配调试总结(二)

已经好多年了&#xff0c; linux环境下不同版本的QT程序开发和部署&#xff0c;突然需要适配window环境程序调试&#xff0c;一堆大坑&#xff0c;还真是一个艰巨的任务&#xff0c;可是kpi下的任务计划&#xff0c;开始吧&#xff01;&#xff01; 1、首先我们自定义的动态库…...

百家讲坛 | 裴伟伟:企业中安全团队应当如何反馈漏洞

作者简介&#xff1a;裴伟伟&#xff0c;洞源实验室创始人&#xff0c;国家网安基地网络安全行业专家&#xff0c;网安加社区特聘专家&#xff0c;持有CISSP、PMP证书&#xff0c;曾在HITCON、可信云大会、开源产业大会等安全论坛发表演讲。曾任国内某安全实验室负责人、某互金…...

巧用Fiddler中的Comments提升接口测试效率

有没有同学在使用Fiddler时跟我遇到了同样的问题&#xff0c;就是想给某个抓包的请求进行注释&#xff01;&#xff01;&#xff01;但是奇怪的是&#xff0c;根本没有Comments相关信息呀&#xff1f; 设置Comments 设置Comments非常容易&#xff0c;选中一个请求&#xff0c…...

停车场车牌识别计费系统,用Python如何实现?

关注星标&#xff0c;每天学习Python新技能 前段时间练习过的一个小项目&#xff0c;今天再看看&#xff0c;记录一下~ 项目结构 说明&#xff1a; datefile文件夹&#xff1a;保存车辆信息表的xlsx文件 file文件夹&#xff1a;保存图片文件夹。ic_launcher.jpg是窗体的右上角…...

Linux内核——Linux内核体系模式(二)

1 Linux系统的中断机制 Linux内核将中断分为两类&#xff1a;硬件中断和软件中断&#xff08;异常&#xff09;。每个中断是由0-255之间的一个数字进行标识。 中断int0-int31&#xff08;0x00-0x1f&#xff09;作为异常int32-int255由用户自己设定 int32-int47对应与8259A中断…...

Spring MVC的高级功能——异常处理(一)简单异常处理器

一、HandlerExceptionResolver接口 如果希望对Spring MVC中所有异常进行统一处理&#xff0c;可以使用Spring MVC提供的异常处理器HandlerExceptionResolver接口。Spring MVC内部提供了HandlerExceptionResolver的实现类SimpleMappingExceptionResolver。它实现了简单的异常处理…...

【面试干货】Static关键字的用法详解

【面试干货】Static关键字的用法详解 1、Static修饰内部类2、Static修饰方法3、Static修饰变量4、Static修饰代码块5、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java编程语言中&#xff0c;static是一个关键字&#xff0c;它可…...

软件工程实验

实验环境和需求 用户可以对相片进行按类别管理&#xff0c;用户可以设定不同的类别&#xff0c;然后上传照片到相应的类别中&#xff0c;并能进行照片的删除&#xff0c;注释 运行 运行并访问 localhost 8090,图片在数据库中的信息是D&#xff1a;/upgrade 后面的内容 se…...

对于复杂的网页布局,如多列布局和网格布局,CSS 有哪些最佳实践和技巧?

对于复杂的网页布局&#xff0c;如多列布局和网格布局&#xff0c;以下是一些CSS的最佳实践和技巧&#xff1a; 使用Flexbox或CSS Grid布局&#xff1a;Flexbox和CSS Grid是两个强大的CSS布局模型&#xff0c;可用于实现复杂的网页布局。Flexbox适用于单行或单列布局&#xff0…...

Spring Boot中集成Redis实现缓存功能

Spring Boot中集成Redis实现缓存功能 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨如何在Spring Boot应用程序中集成Redis&#xff0c;实现…...

秒验 iOS端如何修改授权页背景

修改授权页背景为透明色 基于一键登录的拉起授权页功能&#xff0c;如果想要修改授权页的背景颜色&#xff0c;来调整成符合自己app样式的背景。以下代码示例主要介绍如何修改授权页的背景颜色&#xff0c;例如将授权页背景修改为透明色&#xff1a; -(void)login {//创建一个…...

【MindSpore学习打卡】应用实践-计算机视觉-ShuffleNet图像分类:从理论到实践

在当今的深度学习领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;已经成为图像分类任务的主流方法。然而&#xff0c;随着网络深度和复杂度的增加&#xff0c;计算资源的消耗也显著增加&#xff0c;特别是在移动设备和嵌入式系统中&#xff0c;这种资源限制尤为突出。…...

忘记家里的wifi密码用iPhone苹果手机怎么找回?

忘记家里的wifi密码用iPhone苹果手机怎么找回&#xff1f; 1、打开iPhone苹果手机上的设置&#xff1b; 2、在iPhone苹果手机设置里找到并进入无线局域网&#xff1b; 3、选择要找回密码的wifi&#xff0c;且已连接&#xff0c;并点击后面的更多进入&#xff1b; 4、进入无线局…...

python中对于函数中参数的详解

函数中参数时候很重要的&#xff0c;不仅仅是我们常用的一些必填参数&#xff0c;可缺省参数&#xff0c;还包括一些&#xff0c;关键字参数等&#xff0c;这边主要是自己一些学习心得~ 1.必填参数 顾名思义必填参数就是调用函数的时候必须传入的参数 def func1(a)&#xff1…...

未来已来:期待GPT-5在人工智能领域的突破与创新

GPT-5 一年半后发布&#xff1f;对此你有何期待&#xff1f; IT之家6月22日消息&#xff0c;在美国达特茅斯工程学院周四公布的采访中&#xff0c;OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布&#xff0c;给出了肯定答案并表示将在一年半后发布。此外&#xff0c;…...

利用DeepMD-kit训练神经网络力场

文章目录 1.机器学习1.机器学习2.数据集3.误差评价4.损失函数5.异常拟合 2.机器学习势函数1.机器学习势函数2.神经网络势函数&#xff1a;DPMD3.DPMD&#xff1a;构造描述符se_e2_a&#xff1a; 3.使用Deep-kit训练数据1.准备训练数据2.获取DFT数据集3.运行命令 1.机器学习 1.…...

7.2秒!大众途昂尊荣四驱高速极限测试

大众途昂高速极限测试。你想知道大众途昂尊荣四驱在高速上的极限速度吗?今天来进行一场高速极限测试。动力方面搭载一台2.5TV6发动机,最大马力为299匹,最大扭矩为500牛米,官方百公里加速时间为7.2秒。大众途昂尊荣四驱是一款以性能出色、操控稳定而著称的SUV车型,无论是越…...

城市通勤神器!奔腾小马2.89万元火爆预售

上下班高峰期的通勤,总是让人头疼。坐公交人挤人,路上的耗时更是无法计算;乘地铁相对省时间,但车厢里依然像是“沙丁鱼罐头”。如果遇到刮风下雨等恶劣天气,就更加令人恼火。在这种情况下,很多人都希望能拥有一辆价格便宜、配置够用的代步小车,虽无奢华体验,但求遮风挡…...

售价53.86万元新款奔驰E350eL插混版正式上市

6月1日,在 2024 粤港澳车展上,新款梅赛德斯-奔驰 E 350e L 插混版正式上市,售价 53.86 万元。外观方面,新车整体依旧延续燃油版车型的样子,标志性的“花生”大灯,大尺寸格栅以及立标等元素均得以保留。尺寸方面,新车也是保持一直,长宽高分别为 5092/1880/1489mm,轴距为…...

订单超13000台,配激光雷达+空悬+CDC,增程/纯电

前不久,星途星纪元ET开启预售,新车提供增程和纯电两种动力,官方给出的预售价格区间为:增程版19.9万-23.9万元,纯电动版为23.9-32.9万元,作为一台长度接近5米,轴距为3米的大5座车型,它的目标竞品为理想L7/L6以及问界M7等车型,星纪元ET的优势是动力组合丰富,价格便宜,另…...

全局配置-案例:配置tabBar

一、需求&#xff1a;实现如图所示的tabBar效果 二、实现步骤&#xff1a; 1.拷贝图标资源 把image文件夹拷贝到小程序项目根目录中 图片中包含-active的是选中之后的图标 图片中不包含-active的是默认图标 2.新建3个对应的tab页面 3.配置tabBar选项 &#xff08;1&#xf…...

RTKLIB学习--前向滤波

#前言 如果要详细了解RTKLIB或进行二次开发&#xff0c;了解obs指针所存储每个历元的卫星观测数据是必不可少的环节&#xff0c;此文对RTKLIB的&#xff08;由于后处理和实时运行都要用到前向滤波&#xff09;前向滤波&#xff08;从文件头读取观测数据到obs结构体中&#xff0…...