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

虚拟世界的AI魔法:AIGC引领元宇宙创作革命

云边有个稻草人-CSDN博客——个人主页

热门文章_云边有个稻草人的博客-CSDN博客——本篇文章所属专栏 ~ 欢迎订阅~

目录

1. 引言

2. 元宇宙与虚拟世界概述

2.1 什么是元宇宙?

2.2 虚拟世界的构建

3. AIGC在元宇宙中的应用

3.1 AIGC生成虚拟世界环境

3.2 AIGC生成虚拟角色与NPC

3.3 AIGC创造虚拟物品与资产

4. AIGC在虚拟世界与元宇宙的技术实现

4.1 生成式对抗网络(GANs)在元宇宙中的应用

4.2 自然语言处理(NLP)与虚拟角色的对话生成

4.3 计算机视觉与物理引擎

5. 持续创新:AIGC与元宇宙的未来趋势

5.1 个人化与定制化体验

5.2 AI驱动的动态世界


正文开始——

1. 引言

近年来,虚拟世界与元宇宙成为了科技领域的热议话题。元宇宙不仅仅是一个概念,它逐渐成为一种未来社会互动、娱乐、工作、教育等多方面活动的新场景。而AIGC(人工智能生成内容)作为一种新兴技术,正加速推动虚拟世界与元宇宙的建设,创造出前所未有的沉浸式体验。通过AI生成的内容,元宇宙中的环境、角色、物品乃至互动内容,都能由机器自动创造,极大地提升了内容生成的效率和质量。

本文将深入探讨AIGC在虚拟世界和元宇宙中的应用,分析它如何推动元宇宙的演变,未来的发展趋势以及技术实施中的挑战,最后将提供相关的代码示例,帮助读者更好地理解这些技术如何在实践中实现。


2. 元宇宙与虚拟世界概述

2.1 什么是元宇宙?

元宇宙(Metaverse)是一个融合现实与虚拟世界的概念,它是一个由多个虚拟环境和物理世界相连接的数字宇宙。在这个数字宇宙中,用户可以通过虚拟化身或角色与其他人互动,进行工作、娱乐、社交、购物,甚至创建和交易数字资产。

与传统的虚拟世界不同,元宇宙不仅是一个单一的平台,而是一个多层次的虚拟空间,它包括虚拟现实(VR)、增强现实(AR)、区块链、加密货币等多种技术的综合应用。用户在元宇宙中拥有高度的自由度,可以通过AI技术定制自己的虚拟体验。

2.2 虚拟世界的构建

虚拟世界(Virtual World)是指由计算机生成的、模拟现实世界的环境,它可以是一个游戏世界,也可以是一个社交平台。虚拟世界通常包含3D图形、物理模拟、用户互动以及内容创作等元素,旨在为用户提供一个沉浸式的体验。

在虚拟世界中,用户可以创建自己的虚拟角色,探索世界,与其他用户互动,甚至进行经济活动。虚拟世界通常包括以下要素:

  • 虚拟环境:3D模型、建筑物、景观等;

  • 虚拟角色:由用户或AI生成的数字化身;

  • 交互系统:用户与虚拟世界的互动方式,如文字、语音、动作等;

  • 经济系统:虚拟货币、虚拟物品和服务。

随着虚拟现实和增强现实技术的发展,虚拟世界的沉浸感和互动性大幅提高。


3. AIGC在元宇宙中的应用

3.1 AIGC生成虚拟世界环境

AIGC可以用于自动化生成虚拟世界中的环境和场景。传统上,虚拟世界的创建需要大量的手动设计和建模,而AIGC的引入使得这一过程变得更加高效。AI可以根据预定的要求生成自然景观、城市建筑、室内设计等,甚至根据用户的输入动态创建场景。

例如,使用基于深度学习的图像生成模型,AI可以根据文本描述自动生成与之匹配的虚拟景观。以DALL·E为代表的图像生成模型,可以通过文本输入生成多种样式和场景的图像,这对于元宇宙的虚拟世界构建具有重要意义。

代码示例:以下是一个使用OpenAI API(如DALL·E)生成虚拟环境图像的示例:

import openai# 设置OpenAI API密钥
openai.api_key = 'YOUR_API_KEY'# 定义生成虚拟环境图像的函数
def generate_virtual_environment(prompt):response = openai.Image.create(prompt=prompt,n=1,size="1024x1024")image_url = response['data'][0]['url']return image_url# 示例:生成一个未来城市的虚拟环境
prompt = "A futuristic city with skyscrapers, neon lights, flying cars, and advanced technology"
image_url = generate_virtual_environment(prompt)
print(f"Generated Image URL: {image_url}")

这个代码通过OpenAI的API生成虚拟环境图像,可以将此图像用作元宇宙中的场景。

3.2 AIGC生成虚拟角色与NPC

虚拟角色(Non-Playable Characters, NPC)是元宇宙中的重要组成部分,它们可以用作引导员、商人、任务提供者等。在传统的虚拟世界中,NPC通常是由开发者手动编写和设计的,而AIGC可以通过自然语言生成模型为虚拟世界中的角色赋予更多的自我表达能力。

代码示例:以下是一个基于GPT-4生成虚拟角色对话的代码示例:

import openai# 设置OpenAI API密钥
openai.api_key = 'YOUR_API_KEY'# 定义虚拟角色对话的函数
def generate_dialogue(character_name, user_input):prompt = f"Character {character_name}: {user_input}\nResponse:"response = openai.Completion.create(engine="text-davinci-003",prompt=prompt,max_tokens=150,n=1,stop=None,temperature=0.7)return response.choices[0].text.strip()# 示例:生成虚拟角色的对话
character_name = "AI Guide"
user_input = "Hello, can you tell me about the virtual world?"dialogue = generate_dialogue(character_name, user_input)
print(dialogue)

这个代码通过OpenAI GPT-4 API生成虚拟角色的对话,能够根据用户输入动态生成相关回复。

3.3 AIGC创造虚拟物品与资产

在元宇宙中,虚拟物品和资产(如数字服饰、虚拟土地、数字艺术作品等)是一个重要的组成部分。AIGC技术可以自动生成这些物品,并通过智能合约进行交易和管理。AI生成的虚拟物品不仅可以节省设计时间,还能根据用户需求快速生成个性化内容。

代码示例:利用生成模型生成虚拟物品的代码示例。

import openai# 设置OpenAI API密钥
openai.api_key = 'YOUR_API_KEY'# 定义生成虚拟物品的函数
def generate_virtual_item(prompt):response = openai.Completion.create(engine="text-davinci-003",prompt=prompt,max_tokens=100,n=1,stop=None,temperature=0.7)return response.choices[0].text.strip()# 示例:生成一个虚拟物品的描述
prompt = "Generate a description for a futuristic helmet that protects users in a virtual world"
virtual_item = generate_virtual_item(prompt)
print(f"Generated Virtual Item: {virtual_item}")

这个代码可以根据用户输入生成虚拟物品的描述,用于元宇宙中的虚拟物品创作。


4. AIGC在虚拟世界与元宇宙的技术实现

4.1 生成式对抗网络(GANs)在元宇宙中的应用

生成式对抗网络(GANs)是一种深度学习方法,采用两个神经网络(生成器和判别器)进行对抗训练,通过生成逼真的数据来“骗过”判别器,最终使得生成的数据在质量上接近真实数据。在元宇宙的构建中,GANs被广泛应用于自动化生成虚拟环境、人物、物品等。

通过GANs,AI能够基于大量已有的数据生成新的虚拟场景、角色或物品,而不需要人工设计。使用GANs技术,元宇宙中的每一块土地、建筑、物品等都能够自动生成,从而极大地提高了虚拟世界内容创建的效率和质量。

例如,CycleGAN(一个变种的GAN)允许无监督的图像转换,这使得它在将不同风格的艺术作品生成到虚拟世界中具有非常大的潜力。可以通过输入一些简单的描述,生成具有特定风格的建筑、景观,或者为虚拟角色生成各种表情和服装。

代码示例:利用GAN生成虚拟角色外观

以下是一个使用GANs生成虚拟角色外观的简化示例。我们将基于PyTorch框架来生成简单的人物图像(假设我们已经有一个训练好的GAN模型)。

import torch
from torchvision import transforms
from PIL import Image
import matplotlib.pyplot as plt# 加载训练好的GAN模型(假设已有预训练模型)
generator = torch.load("pretrained_gan_generator.pth")# 生成随机噪声输入
noise = torch.randn(1, 100)  # 100维的随机噪声# 使用生成器模型生成虚拟角色图像
generated_image = generator(noise)# 转换为图片格式
generated_image = generated_image.squeeze().detach().numpy()
generated_image = (generated_image + 1) / 2  # 将像素值归一化到[0, 1]# 显示生成的虚拟角色图像
plt.imshow(generated_image[0], cmap='gray')
plt.axis('off')
plt.show()

这段代码示例中,我们通过生成器生成了一张虚拟角色图像。训练好的GAN模型通过输入随机噪声生成一个看似真实的角色外观,这些角色可以被用作元宇宙中的NPC。

4.2 自然语言处理(NLP)与虚拟角色的对话生成

在元宇宙中,虚拟角色不仅要具备高度的交互性,还需要能够与用户进行自然流畅的对话。传统的对话系统通常依赖于规则和模板,而现代的自然语言处理(NLP)技术能够让虚拟角色实现更加个性化和智能化的对话。

借助GPT-4等强大的语言模型,元宇宙中的虚拟角色可以理解用户的提问,并生成高度符合上下文的回复。这种能力使得虚拟角色能够与玩家进行更加复杂、富有情感和语境的互动,而不再是单调的机械回应。

在实际应用中,虚拟角色的对话系统可以用在以下场景:

  • NPC互动:虚拟角色可以通过对话向玩家提供任务或情节提示。

  • 社交互动:玩家可以与虚拟角色展开社交对话。

  • 情感交互:虚拟角色可以根据用户的情绪变化进行响应,提升沉浸感。

代码示例:用GPT-4生成虚拟角色的智能对话

import openai# 设置OpenAI API密钥
openai.api_key = 'YOUR_API_KEY'# 定义生成虚拟角色对话的函数
def generate_virtual_character_dialogue(character_name, user_input):prompt = f"{character_name} is a helpful AI guide in a virtual world. They respond to user queries and give advice.\nUser: {user_input}\n{character_name}:"# 生成对话response = openai.Completion.create(engine="text-davinci-003",prompt=prompt,max_tokens=150,temperature=0.9)return response.choices[0].text.strip()# 示例:生成虚拟角色的对话
character_name = "AI Guide"
user_input = "What can I do in this virtual world?"dialogue = generate_virtual_character_dialogue(character_name, user_input)
print(dialogue)

此代码通过OpenAI GPT-4生成虚拟角色的对话,角色(如AI Guide)能够根据用户的输入生成高质量、富有个性化的对话内容,帮助增强元宇宙中的交互性。

4.3 计算机视觉与物理引擎

计算机视觉和物理引擎是元宇宙中非常重要的两项技术。计算机视觉能够实时识别用户的动作、面部表情等物理活动,而物理引擎则负责模拟虚拟世界中物体的物理行为,如重力、碰撞、摩擦等。结合AIGC技术,可以让虚拟世界中的环境与角色动态地响应用户的行为,提升沉浸感。

例如,计算机视觉可以用于识别用户的动作,并将其映射到虚拟角色中,物理引擎则可以确保虚拟角色的动作在物理上合理。结合AIGC技术,AI可以根据环境变化实时生成新的互动和反馈。

代码示例:用计算机视觉识别用户动作并在虚拟世界中反应

import cv2
import numpy as np# 加载预训练的动作识别模型(如OpenPose)
pose_model = cv2.dnn.readNetFromTensorflow('pose_model.pb')# 打开摄像头
cap = cv2.VideoCapture(0)while True:ret, frame = cap.read()if not ret:break# 输入图像预处理blob = cv2.dnn.blobFromImage(frame, 1.0, (368, 368), (127.5, 127.5, 127.5), swapRB=True, crop=False)pose_model.setInput(blob)# 获取关键点检测output = pose_model.forward()# 可视化检测到的人体姿势for i in range(output.shape[2]):key_point = output[0, 0, i, 0]cv2.circle(frame, (int(key_point[0] * frame.shape[1]), int(key_point[1] * frame.shape[0])), 5, (0, 255, 0), -1)cv2.imshow('User Pose Detection', frame)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()

此代码通过计算机视觉检测用户的动作,并将其映射到虚拟世界中。类似的技术可以帮助用户与虚拟角色之间实现更加自然的互动。


5. 持续创新:AIGC与元宇宙的未来趋势

5.1 个人化与定制化体验

AIGC的引入极大地丰富了用户在元宇宙中的体验,使得每个用户都能享受到高度个性化的虚拟世界。在元宇宙中,每个用户不仅能定制自己的虚拟形象,还可以根据自己的需求定制虚拟环境、虚拟物品等。

未来,AIGC将在个性化体验上发挥更大的作用。例如,AI可以根据用户的行为模式、历史数据和偏好来调整虚拟角色的行为、对话风格、外观等。这样,虚拟世界将能够实现高度定制化,提供独特的体验。

代码示例:个性化虚拟角色的外观和对话风格

import openai
import random# 设置OpenAI API密钥
openai.api_key = 'YOUR_API_KEY'# 定义生成个性化虚拟角色的函数
def generate_personalized_character(user_data, character_name):# 根据用户数据(如爱好、个性等)定制虚拟角色interests = user_data.get("interests", "exploring new worlds")personality = user_data.get("personality", "adventurous")prompt = f"Character {character_name} is a {personality} and curious character, interested in {interests}. They respond to user queries in a friendly and helpful way.\nUser: {user_data['last_query']}\n{character_name}:"response = openai.Completion.create(engine="text-davinci-003",prompt=prompt,max_tokens=150,temperature=0.8)return response.choices[0].text.strip()# 示例:根据用户数据生成个性化的虚拟角色
user_data = {"name": "John", "last_query": "Tell me about the latest adventure!", "interests": "space exploration", "personality": "curious"}
character_name = "AI Adventurer"personalized_dialogue = generate_personalized_character(user_data, character_name)
print(personalized_dialogue)

此代码示例展示了如何根据用户的兴趣和个性定制虚拟角色的对话风格,使得每个用户在元宇宙中的互动更加个性化。

5.2 AI驱动的动态世界

传统的虚拟世界通常是预设的静态场景,而AIGC能够为元宇宙中的环境和任务带来动态变化。AI驱动的动态世界意味着虚拟环境、物品和任务可以根据用户的行为、外部因素(如季节变化、社会事件)等变化实时生成。

例如,AI可以根据用户的动作生成新的虚拟任务、挑战,或者改变虚拟世界中的景观和天气。这种动态变化不仅提升了沉浸感,还为用户提供了更加丰富的体验。

完——


至此结束——

我是云边有个稻草人

期待与你的下次相遇!

相关文章:

虚拟世界的AI魔法:AIGC引领元宇宙创作革命

云边有个稻草人-CSDN博客——个人主页 热门文章_云边有个稻草人的博客-CSDN博客——本篇文章所属专栏 ~ 欢迎订阅~ 目录 1. 引言 2. 元宇宙与虚拟世界概述 2.1 什么是元宇宙? 2.2 虚拟世界的构建 3. AIGC在元宇宙中的应用 3.1 AIGC生成虚拟世界环境 3.2 AIGC…...

带QT界面的文件管理系统

下载地址 下载&完整介绍地址:https://www.mcso.top/course-design/qt-filesystem/ 开源地址:https://github.com/mcdudu233/FileSystem.git 软件包含 (1)设计数据的结构 (2)设计文件管理系统 &…...

【区块链安全 | 第二十六篇】表达式与控制结构(二)

文章目录 表达式与控制结构赋值结构化赋值与返回多个值数组和结构体的赋值复杂性作用域和声明检查或不检查的算术运算错误处理:Assert、Require、Revert 和异常通过 assert 进行 Panic 和通过 require 进行 Errorreverttry/catch表达式与控制结构 赋值 结构化赋值与返回多个…...

2025年前端框架全景解析:React、Vue、Angular的生态与未来之争

一、市场格局:全球与国内的双重差异12 全球市场React:凭借Facebook的支持和庞大的社区,全球使用率超40%,尤其在数据密集型应用(如金融、社交平台)中占据主导。其跨平台能力(React Native)和灵活生态(Next.js、Redux)是核心竞争力。Vue:亚洲市场占比显著,中国开发者…...

【VScode】C/C++使用教程

编辑器 1. VScode本质上是一款代码编辑器,上面包含了许多插件。 VScode下载 1. 下载链接:Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/download2. 在拓展部分下载汉化包:Chinese。 编译器 1. 我们使用M…...

【Node】如何使用PM2高效部署nodejs前端应用

引言 Node.js 这个服务端 JavaScript 运行时,能帮你打造高性能的实时 Web 和移动应用。不过相比传统的 Apache 或 Nginx 这类 Web 服务器,Node 应用的管理可要多花点心思。 PM2 就是专为生产环境设计的 Node 应用进程管理系统。这篇指南将手把手教你安…...

从零开始的图论讲解(1)——图的概念,图的存储,图的遍历与图的拓扑排序

目录 前言 图的概念 1. 顶点和边 2. 图的分类 3. 图的基本性质 图的存储 邻接矩阵存图 邻接表存图 图的基本遍历 拓扑排序 拓扑排序是如何写的呢? 1. 统计每个节点的入度 2. 构建邻接表 3. 将所有入度为 0 的节点加入队列 4. 不断弹出队头节点,更新其…...

无人机双频技术及底层应用分析!

一、双频技术的核心要点 1. 频段特性互补 2.4GHz:穿透力强、传输距离远(可达5公里以上),适合复杂环境(如城市、建筑物密集区),但易受Wi-Fi、蓝牙等设备的干扰。 5.8GHz:带宽更…...

基础知识补充篇:认识区块链浏览器

专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读218次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。https://blog.csdn.net/qq_22502303/article/details/147022618?spm=1001.2014.3001.5501 前言 在《基础知识补充篇:什么是区块链RPC节点》文中笔者…...

git rebase复杂场景验证

经常面临复杂的分支管理,这里对几种场景的行为做一些验证。 结论总结 git rebase br_name:等价与新建br_name分支,然后找到当前分支与br_name分支的分叉点。然后把分叉点以后的提交(当前分支)一个一个的cherry-pick过…...

安宝特应用 | 工业AR技术赋能高端制造领域验收流程数字化转型

引言 随着高端制造行业对效率与安全要求的不断提升,传统验收模式正迎来智能化升级。针对特殊行业产品验收过程中存在的跨区域协作难、人工核验效率低等痛点,基于AR增强现实技术的智能验收方案正在成为转型新方向。 01 可视化协同提升验收效能 安宝特AR…...

Spring启示录、概述、入门程序以及Spring对IoC的实现

一、Spring启示录 阅读以下代码: dao package org.example1.dao;/*** 持久层* className UserDao* since 1.0**/ public interface UserDao {/*** 根据id删除用户信息*/void deleteById(); } package org.example1.dao.impl;import org.example1.dao.UserDao;/**…...

Oracle 23ai Vector Search 系列之4 VECTOR数据类型和基本操作

文章目录 Oracle 23ai Vector Search 系列之4 VECTOR数据类型和基本操作VECTOR 数据类型基本语法Vector 维度限制和向量大小向量存储格式(DENSE vs SPARSE)1. DENSE存储2. SPARSE存储3. 内部存储与空间计算 Oracle VECTOR数据类型的声明格式VECTOR基本操…...

如何用开源工具,把“定制动漫面具”做成柔性制造?

原文链接:https://www.nocobase.com/cn/blog/kigland。 引言 在苏州,有一支团队正在悄悄改变个性化制造的方式。他们不做快消品,也不靠规模取胜,却在全球角色扮演爱好者圈子里收获了不少“忠粉”。 他们叫 KIGLAND,一…...

《命理学》专项探究与研习

基础论调 八字是什么 八字:用天干地支表示一个人的出生时间 例如: 如上图:某人的干支历出生时间:甲申年--己巳月--戊戌日--癸丑时 十天干 甲乙丙丁戊己庚辛壬癸 奇数位为阳,偶数位为阴 十二地支 子丑寅卯辰巳午未申酉…...

Linux 指令初探:开启终端世界的大门

前言 当我们初次接触 Linux,往往会被一串串在黑底屏幕中跳动的字符震撼甚至吓退。然而,正是这些看似晦涩的命令,构建了服务器、嵌入式系统乃至云计算的世界。 本篇将带你从最基础的 Linux 指令开始,逐步揭开命令行的神秘面纱。从…...

CentOS 7 yum 无法安装软件的解决方法

一、解决方法 1、备份原有的 CentOS 7 默认 YUM 源配置文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2、从阿里云镜像源下载 CentOS 7 的 YUM 源配置文件,并覆盖原有的配置文件 wget -O /etc/yum.repos.d/CentOS-Base.re…...

oracle 游标的管理

8.2.1游标的概念和类型 游标(CURSOR)存储于服务器端,当服务器执行了一个查询后,查询返回的记录集存放在光标中,通过光标上的操作可以把这些记录检索到客户端的应用程序。光标是一种变量,它对应于一个查询语句确定的结果集。它用于…...

深入理解PCA降维:原理、实现与应用

1. 引言 在机器学习与数据科学领域,我们经常会遇到高维数据带来的"维度灾难"问题。随着特征数量的增加,数据稀疏性、计算复杂度等问题会显著加剧。主成分分析(PCA, Principal Component Analysis)作为一种经典的降维技术,能够有效解…...

AI重构农业:从“面朝黄土“到“数字原野“的产业跃迁—读中共中央 国务院印发《加快建设农业强国规划(2024-2035年)》

在东北黑土地的万亩良田上,无人机编队正在执行精准施肥作业;在山东寿光的智慧大棚里,传感器网络实时调控着番茄生长的微环境;在云南的咖啡种植园中,区块链溯源系统记录着每粒咖啡豆的旅程。这场静默的农业革命&#xf…...

当前主流的LLM Agent架构、能力、生态和挑战

一、LLM Agent的基本架构 尽管LLM Agent的具体实现五花八门,但大部分系统在架构层面上可以归纳为以下几个关键模块: 感知(Perception) Agent需要感知外界的信息。对于文本环境,感知往往是读取输入(如用户指…...

网站缓存怎么检查是否生效?

为何选择CDN缓存技术? 部署内容缓存系统可有效提升网页响应效率,降低服务器资源占用与流量消耗,改善访客交互体验,强化系统架构容错能力,促进搜索引擎优化效果,达成资源分配与运行效能的动态平衡。 科学配…...

​‌Qt的稳定版本与下载

​‌Qt的稳定版本主要包括Qt5和Qt6的长期支持(LTS)版本‌。以下是详细的版本信息: Qt5的稳定版本 ‌Qt5.6 LTS‌:2016年3月15日发布,是一个长期支持版本。 ‌Qt5.9 LTS‌:2017年6月16日发布,也…...

用 OpenCV 给图像 “挑挑拣拣”,找出关键信息!

目录 一、背景 二、OpenCV 关键词提取基础概念 什么是关键词提取 OpenCV 在关键词提取中的作用 三、OpenCV 关键词提取的流程 整体流程概述 详细步骤及作用 流程图 四、OpenCV 关键词提取的代码实现 环境准备 代码演示 代码说明 五、常见问题及解决方法 特征提取不…...

14-Hugging Face 模型微调训练(基于 BERT 的中文评价情感分析(二分类))

1. datasets 库核心方法 1.1. 列出数据集 使用 datasets 库,你可以轻松列出所有 Hugging Face 平台上的数据集: from datasets import list_datasets # 列出所有数据集 all_datasets list_datasets() print(all_datasets)1.2. 加载数据集 你可以通过…...

php-cgi参数注入攻击经历浅谈

起因: 阿里云服务器再次警告出现挖矿程序。上一次服务器被攻击后,怕有恶意程序残留,第一时间重装了系统,也没有详查攻击入口。不过事后还是做了一些防范,这台留作公网访问的服务器上并未保留业务数据,只作…...

istio流量治理——重试

Istio 的重试功能的底层原理主要依赖于其数据平面组件 Envoy 代理(Sidecar 或 Gateway)的实现。Envoy 是一个高性能的代理服务器,负责处理所有流入和流出的流量,并在 Istio 的服务网格中执行流量管理策略,包括重试逻辑…...

Spring Cloud之服务入口Gateway之Route Predicate Factories

目录 Route Predicate Factories Predicate 实现Predicate接口 测试运行 Predicate的其它实现方法 匿名内部类 lambda表达式 Predicate的其它方法 源码详解 代码示例 Route Predicate Factories The After Route Predicate Factory The Before Route Predicate Fac…...

测试分类篇

文章目录 目录1. 为什么要对软件测试进行分类2. 按照测试目标分类2.1 界面测试2.2 功能测试2.3 性能测试2.4 可靠性测试2.5 安全性测试2.6 易用性测试 3. 按照执行方式分类3.1 静态测试3.2 动态测试 4. 按照测试方法分类4.1 白盒测试4.1.1 语句覆盖4.1.2 判定覆盖4.1.3 条件覆盖…...

Django接入 免费的 AI 大模型——讯飞星火(2025年4月最新!!!)

上文有介绍deepseek接入,但是需要 付费,虽然 sliconflow 可以白嫖 token,但是毕竟是有限的,本文将介绍一款完全免费的 API——讯飞星火 目录 接入讯飞星火(免费) 测试对话 接入Django 扩展建议 接入讯飞星火…...

使用NVM下载Node.js管理多版本

提示:我解决这个bug跟别人思路可能不太一样,因为我是之前好用,换个项目就不好使了,倦了 文章目录 前言项目场景一项目场景二解决方案:下载 nvm安装 nvm重新下载所需Node 版本nvm常用命令 项目结构说明 前言 提示&…...

下载安装Node.js及其他环境

提示:从Node版本降级到Vue项目运行 文章目录 下载Node.js环境配置配置环境变量 安装 cnpm(我需要安装)安装脚手架安装依赖安装淘宝镜像(注意会更新)cnpm vs npm 与新旧版本核心差异包管理器不同功能差异如何选择&#…...

Java 基础-31-枚举-认识枚举

在Java编程语言中,枚举(Enum)是一种特殊的类,它允许一组固定的常量。它们非常适合用来表示一组固定的值,比如星期几、季节、颜色等。枚举自Java 5开始引入,为定义常量提供了一种更强大和方便的方式。本文将…...

问题1:Sinal 4在开启PAC检查的设备崩溃

​ 问题信息 硬件不支持PAC(Pointer Authentication),此类错误就是signal 11的错误,崩溃信息如下: Build fingerprint: google/sdk_gphone64_arm64/emu64a:16/BP22.250221.010/13193326:userdebug/dev-keys Revision: 0 ABI: arm64 Timestamp: 2025-04-06 11:33:13.923…...

美团Leaf分布式ID生成器:雪花算法原理与应用

📖 前言 在分布式系统中,全局唯一ID生成是保证数据一致性的核心技术之一。传统方案(如数据库自增ID、UUID)存在性能瓶颈或无序性问题,而美团开源的Leaf框架提供了高可用、高性能的分布式ID解决方案。本文重点解析Leaf…...

【C++奇遇记】C++中的进阶知识(多态(一))

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…...

C++自学笔记---指针在数组遍历中的应用

指针在数组遍历中的应用 在这一篇文章中&#xff0c;我们可以看到指针在数组遍历中的具体应用例子。 1. 赋值 我们要创建一个将数组的所有元素赋值为 1 的函数&#xff0c;并使用解引用运算符来访问数组元素. 代码为&#xff1a; #include <iostream> using namespac…...

Java八股文-List集合

集合的底层是否加锁也就代表是否线程安全 (一)List集合 一、数组 array[1]是如何通过索引找到堆内存中对应的这块数据的呢? (1)数组如何获取其他元素的地址值 (2)为什么数组的索引是从0开始的&#xff0c;不可以从1开始吗 (3)操作数组的时间复杂度 ①查找 根据索引查询 未…...

二叉树——队列bfs专题

1.N叉树的层序遍历 我们之前遇到过二叉树的层序遍历&#xff0c;只需要用队列先进先出的特性就可以达到层序遍历的目的。 而这里不是二叉树&#xff0c;也就是说让节点的孩子入队列时不仅仅是左右孩子了&#xff0c;而是它的所有孩子。而我们看这棵多叉树的构造&#xff0c;它…...

ESPIDF备忘

ESP8266 环境搭建 Windows 首先确保安装好了vscode和git 在工作目录使用git 克隆这个 git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git下载 集成环境和 ESP8266编译工具 旧版本的集成工具可能有问题 这里用20200601版本的 https://dl.espressif.co…...

4-c语言中的数据类型

一.C 语⾔中的常量 1.生活中的数据 整数&#xff1a; 100,200,300,400,500 小数: 11.11 22.22 33.33 字母&#xff1a; a&#xff0c;b&#xff0c;c&#xff0c;d A&#xff0c;B&#xff0c;C&#xff0c;D 在 C 语⾔中我们把字⺟叫做字符. 字符⽤单引号引⽤。例如A’ 单词…...

ST 芯片架构全景速览:MCU、无线 SoC、BLE 模块、MPU 差异详解

在嵌入式开发中,ST 是一个非常常见的芯片厂商,其产品线覆盖了 MCU、无线芯片、BLE 模块以及运行 Linux 的 MPU 等多个领域。很多开发者初次接触 ST 时会对这些产品之间的关系感到困惑。 本文从分类视角出发,带你快速了解 ST 芯片家族的核心架构和主要用途。 🧭 ST 芯片四…...

第十章Python语言高阶加强-SQL(数据库)

目录 一.数据库介绍 二.MySQL的安装 三.MySQL入门使用 四.SQL基础和DDL 五.SQL—DML 六.SQL—DQL 1.基础查询 2.分组聚合 七.Python操作MySQL 1.基础使用 2.数据插入 此章节主要掌握并且了解SQL语法和基础使用。如&#xff1a;安装、增删改查&#xff0c;SQL在未来我…...

NO.71十六届蓝桥杯备战|搜索算法-递归型枚举与回溯剪枝|枚举子集|组合型枚举|枚举排列|全排列问题(C++)

什么是搜索&#xff1f; 搜索&#xff0c;是⼀种枚举&#xff0c;通过穷举所有的情况来找到最优解&#xff0c;或者统计合法解的个数。因此&#xff0c;搜索有时候也叫作暴搜。 搜索⼀般分为深度优先搜索(DFS)与宽度优先搜索(BFS)。深度优先遍历vs深度优先搜索&#xff0c;宽度…...

C++ 中为什么构造函数不需要实现虚函数,而析构函数需要?

在C中&#xff0c;构造函数不需要是虚函数&#xff0c;而析构函数往往需要&#xff0c;原因如下&#xff1a; 构造函数 对象创建顺序&#xff1a;构造函数的主要任务是初始化对象的成员变量&#xff0c;创建对象时需要先调用基类的构造函数&#xff0c;再调用派生类的构造函数…...

如何获取oracle cloud永久免费的vps(4C/24G)?

1.注册oracle cloud账号 Oracle Cloud 免费套餐 | Oracle 中国 新注册的小伙伴&#xff0c;可以在 30 天内&#xff0c;利用 300 美元免费储值&#xff0c;任性使用所有 Oracle Cloud 基础设施服务。 30 天后呢&#xff1f;你仍然可以畅享 Always Free 免费套餐中的云服务&am…...

TypeScript面试题集合【初级、中级、高级】

初级面试题 什么是TypeScript&#xff1f; TypeScript是JavaScript的超集&#xff0c;由Microsoft开发&#xff0c;它添加了可选的静态类型和基于类的面向对象编程。TypeScript旨在解决JavaScript的某些局限性&#xff0c;比如缺乏静态类型和基于类的面向对象编程&#xff0c…...

java面试篇 并发编程篇

目录 1.线程的基础知识 1.线程与进程的区别&#xff1f; 2.并行与并发的区别&#xff1f; 3.创建线程的方式有哪些&#xff1f; 4.线程包括哪些状态&#xff1f;状态之间是如何变化的&#xff1f; 5.T1&#xff0c;T2&#xff0c;T3三个线程新建完毕后&#xff0c;如何保证…...

掌握 JSON 到表格转换:全面指南

高效地转换数据格式对于现代数据处理至关重要。JSON&#xff08;JavaScript 对象表示法&#xff09;因其灵活性而广受欢迎&#xff0c;而 CSV 或 Excel 等表格格式则更适用于数据分析和可视化。本文将介绍多种 JSON 转换为表格格式的方法&#xff0c;帮助您提升数据处理和可视化…...

【Spring Cloud Netflix】GateWay服务网关

1.基本概述 GateWay用于在微服务架构中提供统一的入口点&#xff0c;对请求进行路由&#xff0c;过滤和处理。它就像是整个微服务系统的大门&#xff0c;所有外部请求都要通过它才能访问到后端的各个微服务。 2.核心概念 2.1路由(Route) 路由是Spring Cloud gateWay中最基本…...