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

【Rust光年纪】Rust语言实用库汇总:从机器翻译到全文搜索引擎

优秀的Rust语言库探索:机器翻译、音频编解码和全文搜索引擎

前言

Rust语言在近年来迅速崛起,成为了一种备受欢迎的系统级编程语言。随着其生态系统的不断丰富,涌现出了许多优秀的库和工具。本文将重点介绍几个用于Rust语言的重要库,包括机器翻译、音频编解码、全文搜索引擎以及相关服务的实现。通过对这些库的介绍和分析,读者将能够更好地了解并利用这些工具来构建高效、稳定的软件系统。

欢迎订阅专栏:Rust光年纪

文章目录

  • 优秀的Rust语言库探索:机器翻译、音频编解码和全文搜索引擎
    • 前言
    • 1. rust-translate:一个用于Rust语言的机器翻译库
      • 1.1 简介
        • 1.1.1 核心功能
        • 1.1.2 使用场景
      • 1.2 安装与配置
        • 1.2.1 安装指南
        • 1.2.2 基本配置
      • 1.3 API 概览
        • 1.3.1 文本翻译
        • 1.3.2 多语言支持
    • 2. opus-rs:一个用于Rust语言的音频编解码库
      • 2.1 简介
        • 2.1.1 核心功能
        • 2.1.2 使用场景
      • 2.2 安装与配置
        • 2.2.1 安装指南
        • 2.2.2 基本配置
      • 2.3 API 概览
        • 2.3.1 音频编码
        • 2.3.2 音频解码
    • 3. Tantivy:一个用于Rust语言的全文搜索引擎
      • 3.1 简介
        • 3.1.1 核心功能
        • 3.1.2 使用场景
      • 3.2 安装与配置
        • 3.2.1 安装指南
        • 3.2.2 基本配置
      • 3.3 API 概览
        • 3.3.1 索引管理
        • 3.3.2 查询构建
    • 4. MeiliSearch:一个用于Rust语言的全文搜索引擎
      • 4.1 简介
        • 4.1.1 核心功能
        • 4.1.2 使用场景
      • 4.2 安装与配置
        • 4.2.1 安装指南
        • 4.2.2 基本配置
      • 4.3 API 概览
        • 4.3.1 数据索引
        • 4.3.2 搜索请求
    • 5. tantivy-http:一个用于提供Tantivy全文搜索引擎HTTP服务的库
      • 5.1 简介
        • 5.1.1 核心功能
        • 5.1.2 使用场景
      • 5.2 安装与配置
        • 5.2.1 安装指南
        • 5.2.2 基本配置
      • 5.3 API 概览
        • 5.3.1 HTTP路由
        • 5.3.2 搜索接口
    • 6. Elasticsearch-rs:一个用于Rust语言的Elasticsearch客户端
      • 6.1 简介
        • 6.1.1 核心功能
        • 6.1.2 使用场景
      • 6.2 安装与配置
        • 6.2.1 安装指南
        • 6.2.2 基本配置
      • 6.3 API 概览
        • 6.3.1 索引管理
        • 6.3.2 搜索查询
    • 总结

1. rust-translate:一个用于Rust语言的机器翻译库

1.1 简介

rust-translate是一个用于Rust语言的机器翻译库,它提供了便捷的接口来实现文本的翻译和多语言支持。

1.1.1 核心功能
  • 提供文本翻译功能
  • 支持多种语言翻译
  • 简化翻译流程
1.1.2 使用场景

rust-translate适用于需要在Rust项目中进行文本翻译的场景,包括但不限于国际化应用、多语言网站等。

1.2 安装与配置

使用rust-translate之前,需要进行安装和基本配置。

1.2.1 安装指南

可以通过Cargo.toml文件来添加rust-translate到项目的依赖列表:

[dependencies]
rust-translate = "0.1.0"

更多安装信息,请参考 rust-translate GitHub 页面。

1.2.2 基本配置

在项目中引入rust-translate库,并根据需求进行必要的初始化设置。

1.3 API 概览

rust-translate提供了以下API来实现文本翻译和多语言支持。

1.3.1 文本翻译

下面是一个简单的例子,演示了如何使用rust-translate进行文本翻译:

use rust_translate::Translator;fn main() {let translator = Translator::new("en", "es");  // 创建英语到西班牙语的翻译器let translated_text = translator.translate("Hello, world!");  // 将英文文本翻译为西珙牙文println!("{}", translated_text);  // 输出翻译结果
}
1.3.2 多语言支持

rust-translate支持多语言翻译,可以根据需要扩展并配置不同语言翻译的API。

以上是rust-translate库的简要介绍和基本用法示例,更多详细信息请参考 rust-translate官方文档。

2. opus-rs:一个用于Rust语言的音频编解码库

2.1 简介

2.1.1 核心功能

opus-rs 是一个为 Rust 语言提供音频编解码功能的库,它支持 Opus 音频编解码器,可以进行高效的音频数据处理。

2.1.2 使用场景

opus-rs 可以被广泛应用在音频流媒体、VoIP通话等需要对音频进行编解码的场景中。

2.2 安装与配置

2.2.1 安装指南

要使用 opus-rs,首先需要在项目的 Cargo.toml 文件中添加依赖:

[dependencies]
opus = "0.3.0"

然后通过 Cargo 工具进行安装:

$ cargo build
2.2.2 基本配置

在 Rust 项目中引入 opus-rs 库:

extern crate opus;

2.3 API 概览

2.3.1 音频编码

使用 opus-rs 进行音频编码的示例代码如下:

use opus::Decoder;fn main() {// 创建编码器let sample_rate = 48000;let channels = 2;let encoder = opus::Encoder::new(sample_rate, opus::Channels::Stereo, opus::Application::Voip).unwrap();// 准备音频数据let audio_data: Vec<i16> = vec![/* ... */];// 编码音频数据let encoded_data = encoder.encode(&audio_data, 640).unwrap();
}

更多关于音频编码的细节,请参考 opus-rs 文档。

2.3.2 音频解码

使用 opus-rs 进行音频解码的示例代码如下:

use opus::Decoder;fn main() {// 创建解码器let sample_rate = 48000;let channels = 2;let decoder = Decoder::new(sample_rate, channels).unwrap();// 准备音频数据let encoded_data: Vec<u8> = vec![/* ... */];// 解码音频数据let decoded_data = decoder.decode(&encoded_data, 640).unwrap();
}

更多关于音频解码的细节,请参考 opus-rs 文档。

3. Tantivy:一个用于Rust语言的全文搜索引擎

Tantivy 是一个用于 Rust 语言的全文搜索引擎,它提供了快速高效的搜索功能,适用于各种应用场景。

3.1 简介

3.1.1 核心功能

Tantivy 的核心功能包括:

  • 快速的文本搜索
  • 索引管理和优化
  • 多字段搜索支持
  • 高级查询构建功能

Tantivy 提供了丰富的功能来满足复杂的全文搜索需求。

3.1.2 使用场景

Tantivy 可以应用于各种场景,包括但不限于:

  • 网站搜索引擎
  • 日志分析
  • 数据库搜索

3.2 安装与配置

3.2.1 安装指南

可以通过 Cargo,在 Cargo.toml 文件中添加以下依赖:

[dependencies]
tantivy = "0.14"

更多安装信息请参考官方文档:Tantivy 安装指南

3.2.2 基本配置

在项目中引入 Tantivy 库后,可以开始编写代码来配置和使用 Tantivy。

3.3 API 概览

3.3.1 索引管理

Tantivy 提供了丰富的 API 来��行索引管理。下面是一个示例代码来创建一个简单的索引:

use tantivy::schema::*;
use tantivy::{doc, Index};fn create_index() -> tantivy::Result<()> {let mut schema_builder = Schema::builder();let title = schema_builder.add_text_field("title", TEXT);let body = schema_builder.add_text_field("body", TEXT);let schema = schema_builder.build();let index = Index::create_in_ram(schema.clone());let mut index_writer = index.writer(50_000_000)?;index_writer.add_document(doc!(title => "Tantivy",body => "Tantivy is a full-text search engine library in Rust.",));index_writer.commit()?;Ok(())
}

更多关于索引管理的 API 信息请参考官方文档:Tantivy 索引管理

3.3.2 查询构建

Tantivy 提供了强大的 API 来构建复杂的查询操作。下面是一个示例代码来执行一次简单的查询:

use tantivy::query::QueryParser;
use tantivy::Index;fn perform_search(index: &Index) -> tantivy::Result<()> {let searcher = index.reader()?.searcher();let query_parser = QueryParser::for_index(&index,vec![index.schema().get_field("title").unwrap()],);let query = query_parser.parse_query("Tantivy")?;let top_docs = searcher.search(&query, &tantivy::collector::TopDocs::with_limit(10))?;for (_score, doc_address) in top_docs {let retrieved_doc = searcher.doc(doc_address)?;println!("{}", index.schema().to_json(&retrieved_doc));}Ok(())
}

更多关于查询构建的 API 信息请参考官方文档:Tantivy 查询构建

4. MeiliSearch:一个用于Rust语言的全文搜索引擎

MeiliSearch是一个用于Rust语言的全文搜索引擎,它提供快速、模糊搜索和排名功能。下面将介绍MeiliSearch的简介、安装与配置以及API概览。

4.1 简介

MeiliSearch的核心功能包括全文搜索、模糊搜索、自定义排名等。

4.1.1 核心功能

MeiliSearch提供了强大的全文搜索功能,支持对文本进行快速搜索和模糊搜索。它还具有自定义排名的能力,可根据特定需求对搜索结果进行灵活的排序。

4.1.2 使用场景

MeiliSearch适用于各种应用场景,包括但不限于电子商务平台、知识库管理系统、新闻网站等,这些领域都可以通过MeiliSearch提供的高效全文搜索来提升用户体验。

4.2 安装与配置

4.2.1 安装指南

要安装MeiliSearch,首先需要下载并编译源代码,具体步骤请参考MeiliSearch官方安装指南。

4.2.2 基本配置

安装完成后,可以通过简单的配置文件对MeiliSearch进行基本配置,例如设置索引路径、端口号等。有关更多配置选项,请参考MeiliSearch配置文档。

4.3 API 概览

4.3.1 数据索引

MeiliSearch提供了丰富的API用于数据索引,下面是一个简单的Rust示例代码:

use meilisearch_sdk::client::Client;
use serde_json::json;#[tokio::main]
async fn main() {let client = Client::new("http://127.0.0.1:7700", "masterKey");let index = client.get_or_create("movies").await.unwrap();let documents = json!([{"id": 1, "title": "Inception", "genre": "Science Fiction"},{"id": 2, "title": "The Matrix", "genre": "Science Fiction"},// More documents...]);index.add_documents(documents, Some("id")).await.unwrap();
}

以上示例中演示了如何使用MeiliSearch SDK在Rust中添加文档到索引中,完整的API文档请参考MeiliSearch Rust SDK.

4.3.2 搜索请求

MeiliSearch支持丰富的搜索请求功能,以下是一个简单的Rust示例代码:

use meilisearch_sdk::client::Client;#[tokio::main]
async fn main() {let client = Client::new("http://127.0.0.1:7700", "masterKey");let index = client.get("movies").await.unwrap();let search_result = index.search::<YourDocumentType>("matrix").await.unwrap();println!("{:?}", search_result);
}

以上示例展示了如何在Rust中执行搜索请求,并获取搜索结果,完整的搜索API文档请参考MeiliSearch Rust SDK。

通过本文的介绍,你可以初步了解MeiliSearch在Rust语言中的应用和基本操作方式。希望这篇文章能够帮助你开始使用MeiliSearch构建高效的全文搜索功能。

5. tantivy-http:一个用于提供Tantivy全文搜索引擎HTTP服务的库

5.1 简介

tantivy-http是一个用于提供Tantivy全文搜索引擎HTTP服务的库。它为Tantivy添加了一个HTTP接口,使得可以通过HTTP协议进行全文搜索操作。

5.1.1 核心功能
  • 提供HTTP接口以进行全文搜索操作
  • 支持基本的搜索功能,如查询、过滤和分页
  • 可以与Tantivy的索引实例进行集成
5.1.2 使用场景

tantivy-http适用于需要在Rust应用中添加全文搜索功能的场景,同时希望通过HTTP接口来实现对搜索引擎的访问。

5.2 安装与配置

5.2.1 安装指南
[dependencies]
tantivy = "0.18"
tantivy-http = "0.8"
5.2.2 基本配置
use tantivy::schema::*;
use tantivy::doc;
use tantivy::doc::Document;
use tantivy::{Index, IndexWriter, ReloadPolicy};
use tantivy_http::serve;
use std::sync::Arc;fn main() {let mut schema_builder = Schema::builder();let title = schema_builder.add_text_field("title", TEXT | STORED);let body = schema_builder.add_text_field("body", TEXT);let schema = schema_builder.build();let index_path = "/path/to/index";let index = Index::open_or_create(index_path, schema.clone()).unwrap();let mut index_writer = index.writer(50_000_000).unwrap();index_writer.set_merge_policy(tantivy::merge_policy::LogMergePolicy::default());let doc = doc!(title => "Introducing tantivy-http",body => "tantivy-http is a library that provides an HTTP interface for the Tantivy full-text search engine.");index_writer.add_document(doc);if let Err(e) = index_writer.commit() {eprintln!("Failed to commit the index: {}", e);}let index = Arc::new(index);serve(index, "0.0.0.0:3000").expect("failed to start the HTTP server");
}

5.3 API 概览

5.3.1 HTTP路由

tantivy-http提供以下HTTP路由:

  • GET /search: 执行搜索操作
  • POST /index: 添加文档到索引
  • DELETE /index/:doc_id: 删除指定文档
5.3.2 搜索接口

下面是一个简单的示例代码,演示如何使用tantivy-http进行搜索操作:

use reqwest;#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {let url = "http://localhost:3000/search?q=tantivy";let response = reqwest::get(url).await?.text().await?;println!("{}", response);Ok(())
}

更多信息请参考 tantivy-http官方文桇。

6. Elasticsearch-rs:一个用于Rust语言的Elasticsearch客户端

6.1 简介

Elasticsearch-rs是一个为Rust语言设计的Elasticsearch客户端,旨在简化与Elasticsearch的交互。它提供了对Elasticsearch的全面支持,包括索引管理、搜索查询等功能。

6.1.1 核心功能

Elasticsearch-rs具有以下核心功能:

  • 索引管理
  • 数据查询
  • 高级搜索功能
  • 与Elasticsearch的通信与交互
6.1.2 使用场景

Elasticsearch-rs适用于需要在Rust应用程序中使用Elasticsearch进行数据存储、搜索和分析的场景。无论是构建Web应用程序还是处理大规模数据,Elasticsearch-rs都能提供便捷的操作接口。

6.2 安装与配置

6.2.1 安装指南

您可以通过Cargo来添加Elasticsearch-rs到您的Rust项目中,只需在您的Cargo.toml文件中添加以下依赖项:

[dependencies]
elasticsearch = "7.0"

更多安装细节,请参考Elasticsearch-rs GitHub页面。

6.2.2 基本配置

在使用Elasticsearch-rs之前,您需要配置Elasticsearch连接信息。下面是一个基本的示例:

use elasticsearch::Elasticsearch;fn main() {let client = Elasticsearch::default().set_url("http://localhost:9200/");
}

6.3 API 概览

6.3.1 索引管理

下面是一个简单的示例,演示如何创建一个名为“my_index”的索引:

use elasticsearch::Elasticsearch;
use elasticsearch::params::IndexParts;fn main() {let client = Elasticsearch::default().set_url("http://localhost:9200/");let response = client.index(IndexParts::IndexId("my_index", "1")).body(json!({"title": "My first document","content": "This is the content of my first document"})).send().await.unwrap();println!("{:?}", response);
}

更多索引管理操作,请参考Elasticsearch-rs文档。

6.3.2 搜索查询

以下示例演示了如何执行简单的搜索查询:

use elasticsearch::Elasticsearch;
use elasticsearch::params::SearchParts;fn main() {let client = Elasticsearch::default().set_url("http://localhost:9200/");let response = client.search(SearchParts::Index(&["my_index"])).body(json!({"query": {"match": {"title": "first"}}})).send().await.unwrap();println!("{:?}", response);
}

获取更多关于搜索查询的信息,请查看Elasticsearch-rs官方文档。

总结

本文介绍了几个在Rust编程语言中备受推崇的重要库,涵盖了机器翻译、音频编解码、全文搜索引擎以及相关的HTTP服务。这些库在各自的领域都展现出了强大的功能和灵活性,为Rust开发者提供了丰富的选择。从机器翻译到音频处理,再到全文搜索,这些库为Rust生态系统的进一步壮大和发展做出了重要贡献。

相关文章:

【Rust光年纪】Rust语言实用库汇总:从机器翻译到全文搜索引擎

优秀的Rust语言库探索&#xff1a;机器翻译、音频编解码和全文搜索引擎 前言 Rust语言在近年来迅速崛起&#xff0c;成为了一种备受欢迎的系统级编程语言。随着其生态系统的不断丰富&#xff0c;涌现出了许多优秀的库和工具。本文将重点介绍几个用于Rust语言的重要库&#xf…...

学习笔记 - 二极管的参数与选型

二极管 普通二极管&#xff1a; 1N4148(高频开关二极管) 整流二极管&#xff1a; 1N4007 1A 1000V1N5408 3A 1000V 肖特基二极管 &#xff08;白线边为阴极&#xff09; SS14 SS34 SS54 常见肖特基二极管参数 快恢复二极管 FR107 FR207 FR307 UF4007 可以用快恢复二…...

PMP--冲刺--易混概念

文章目录 十大知识领域一、整合管理项目管理计划与项目文件的区分&#xff1a; 二、范围管理三、进度管理赶工与快速跟进的区分&#xff1a;赶工增加资源&#xff0c;以最小的成本代价来压缩进度工期&#xff1b;快速跟进&#xff0c;将正常情况下按顺序进行的活动或阶段改为至…...

Resolving Maven dependencies

Maven是一种项目管理和构建工具&#xff0c;通常用于Java项目。这个过程包括下载项目所需的所有外部库和插件&#xff0c;并将它们添加到项目的构建路径中。具体来说&#xff0c;它正在处理名为“AAS_byBasyx”的项目或模块的依赖项。这种任务通常在你打开一个新的Maven项目或更…...

【Spring】SSM框架整合Spring和SpringMVC

目录 1.项目结构 2.项目的pom.xml文件 3.spring.xml和springMVC配置文件 4.database.properties和mybatis.xml配置文件 5. 代码编写 6.测试整合结果 1.项目结构 首先创建一个名为ssm_pro的Mavew项目&#xff0c;然后再在主目录和资源目录下&#xff0c;创建如下所示的结…...

优维2024年中思考:大模型赋予新一代运维的“非产品性”启示

近年来&#xff0c;人工智能在各个行业的应用大幅增加&#xff0c;人工智能技术取得重大进步的领域之一是IT运维。 去年四季度&#xff0c;优维科技敏锐地提出“新一代运维核心系统提供商”的战略新定位&#xff0c;决定将“DevOps及运维”回归到“运维”本身&#xff0c;但我…...

【中药网络药理学】筛选细胞衰老和预后相关基因(附分类代码和画图代码)

1、衰老相关基因 从HAGR和msigdb数据获取细胞衰老相关基因&#xff0c;将两者取交集后构建基因蛋白互作网络 HAGR数据库 该库本身提供了下载链接&#xff0c;我在下载后对其进行了清洗 msigdb数据库 以"aging"作为关键词&#xff0c;Search Filters中collection…...

华为的流程体系

缘由 2010年&#xff0c;华为销售额为1850亿元&#xff0c;其中国际市场占65%&#xff0c;净利润238亿元。当时&#xff0c;公司员工达11万人&#xff0c;公司处理合同达5万多个&#xff0c;290万个订单&#xff0c;大量的工作是手工处理&#xff0c;没有统一的流程支持&#…...

算法——长度最小的子数组209 对比代码随想录题解中对于result取值为Integer.MAX_VALUE的思考

具体解题过程可看代码随想录&#xff0c;我主要是对于为什么result也就是子数组和初始化要为Integer.MAX_VALUE有一个疑惑&#xff0c;为什么不是其他值&#xff0c;经过思考后我发现: 情况一&#xff1a;如果result为负数的话是不符合数组长度取值的一个规范的。 情况二&…...

图像处理案例03

HOGSVM数字识别 1 . 步骤2 . 代码 1 . 步骤 读入数据&#xff0c;把数据划分为训练集和测试集用hog提取特征用SVM训练数据测试、评价模型保存模型加载模型&#xff0c;应用模型 2 . 代码 import os import cv2 import sklearn import numpy as np from skimage.feature impo…...

【Kubernetes】k8s集群中kubectl的陈述式资源管理

目录 一.k8s集群资源管理方式分类 1.陈述式资源管理方式 2.声明式资源管理方式 二.陈述式资源管理方法 三.kubectl命令 四.项目生命周期 1.创建 kubectl create命令 2.发布 kubectl expose命令 3.更新 kubectl set 4.回滚 kubectl rollout 5.删除 k…...

串---顺序串实现

顺序串详解 本文档将详细介绍顺序串的基本概念、实现原理及其在 C 语言中的具体应用。通过本指南&#xff0c;读者将了解如何使用顺序串进行各种字符串操作。 1. 什么是顺序串&#xff1f; 顺序串是一种用于存储字符串的数据结构&#xff0c;它使用一组连续的内存空间来保存…...

吴恩达机器学习WEEK2

COURSE1 WEEK2 多维特征 在线性回归中&#xff0c;往往特征不止一个&#xff0c;而是具有多维特征 例如&#xff0c;在预测房价的例子中&#xff0c;我们知道更多的信息&#xff1a; x 1 x_1 x1​&#xff1a;房屋的面积 x 2 x_2 x2​&#xff1a;卧室的数目 x 3 x_3 x3​&a…...

yield and generator in python

首先&#xff0c;假设大家都对于pytyhon的List comprehension的使用有了一定经验&#xff08;它可以用于list&#xff0c;set&#xff0c;和dict哦&#xff09; 不熟悉的参考介绍&#xff1a; Comprehending Python’s Comprehensions – dbader.org generator generator是哦…...

spring原理(自学第六天)

Aware 接口及 InitializingBean 接口 今天将会学到Aware 接口及 InitializingBean 接口 我们可以先了解他们的作用&#xff1a; 1. Aware 接口用于注入一些与容器相关信息, 例如 a. BeanNameAware 注入 bean 的名字 b. BeanFactoryAware 注入…...

案例分享—国外优秀ui设计作品赏析

国外UI设计创意迭出&#xff0c;融合多元文化元素&#xff0c;以极简风搭配动态交互&#xff0c;打造沉浸式体验&#xff0c;色彩运用大胆前卫&#xff0c;引领界面设计新风尚 同时注重用户体验的深度挖掘&#xff0c;通过个性化定制与智能算法结合&#xff0c;让界面不仅美观且…...

【C++】简约与清晰的编程艺术

C编程的艺术&#xff1a;简约与清晰的实践之道 一、基础之美&#xff1a;基本类型与数据结构的力量二、函数与库类的艺术三、简约与清晰的实践之道 在C这一既古老又充满活力的编程语言世界里&#xff0c;程序员们常常面临着一个重要的选择&#xff1a;是追求代码的极致抽象与封…...

java之WIFI信号模块

开发步骤分为以下几点&#xff1a; 1.在 AndroidManifest 中声明相关权限&#xff08;网络和文件读写权限&#xff09; 声明权限: <uses-permission android:name"android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name"android.…...

Mybatis面试

Mybatis 面试 1、Mybatis 的执行流程是什么&#xff1f; 1、读取MyBatis配置文件&#xff1a;mybatis-config.xml 加载运行环境 和 映射文件 2、构造会话工厂 SqlSessionFactory &#xff08;全局只有一个&#xff09; 3、会话工厂创建SqlSession对象&#xff08;项目与数据…...

Centos 8系统xfs文件系统类型进行扩容缩容 (LVM)

Centos 8系统xfs文件系统类型进行扩容缩容 &#xff08;LVM&#xff09;,xfs分区类型是不支持正常缩容&#xff0c;只能强制缩容 1.磁盘情况&#xff1a;2.缩容home分区1.备份home数据&#xff1a;2.查找使用 /home 的进程&#xff1a;3.终止这些进程&#xff1a;4.卸载 /home …...

C语言基础知识之函数指针和指针函数

函数指针和指针函数 函数指针和指针函数指向函数的指针返回指针值的函数指针函数和函数指针的区别 问题1_1代码1_1结果1_1 函数指针和指针函数 指向函数的指针 用函数指针变量调用函数 可以用指针变量指向整型变量、字符串、数组&#xff0c;也可以指向一个函数。一个…...

【Unity】web gl inputFied 中文输入,同时支持TextMeshInputFied,支持全屏

同时支持TextMeshInputFied&#xff0c;支持全屏。 使用github包【WebGLInput】&#xff1a;https://github.com/kou-yeung/WebGLInput 需要资源的在这里也可以下载 https://download.csdn.net/download/weixin_46472622/89600795 用于unity web gl 中文输入&#xff0c;只需…...

vue3+vite全局引入less变量和函数

需要在vite配置 plugins: [css: {preprocessorOptions: {less: {additionalData: import "./src/styles/variables.module.less"; import "./src/views/Visualization/component/ViewportCom/px2viewport.less";,javascriptEnabled: true}}}, ]多个文件按…...

H81002S 1.7mm网络变压器:BMS汽车蓝牙接收器中的超薄共模电感科技

华强盛导读&#xff1a;在当今这个日新月异的汽车科技领域&#xff0c;每一处细节都蕴含着创新与突破。作为电动汽车心脏的电池管理系统&#xff08;BMS&#xff09;&#xff0c;其高效稳定的运行不仅关乎续航与安全&#xff0c;更是智能化驾驶体验的基石。而在这背后&#xff…...

C语言.回调函数

回调函数 回调函数也是一个函数。与一般函数直接调用区别在于&#xff0c;使用回调函数的过程&#xff0c;是一个函数将另一个函数作为参数调用。而被用来调用的那个函数&#xff0c;就是回调函数。 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针&#xff08;地…...

《从零开始:使用Python构建简单Web爬虫》

前言 随着互联网信息的爆炸性增长&#xff0c;如何高效地获取和处理这些数据变得越来越重要。Web爬虫作为一种自动化工具&#xff0c;可以帮助我们快速抓取所需的网页内容。本文将介绍如何使用Python编写一个简单的Web爬虫&#xff0c;并通过实例演示其基本用法。 准备工作 …...

最新个人免签约支付系统源码|PHP源码 | 码支付系统 | ThinkPHP6框架 | 开源

源码介绍&#xff1a; 这个最新的个人专用免签约支付系统源码&#xff01;是PHP源码写的哦&#xff0c;而且是用ThinkPHP6框架开发的&#xff0c;完全开源的码支付系统。 这个系统适合个人用户使用&#xff0c;作为收款的免签约解决方案。它还加入了监控端&#xff0c;可以拒…...

The Llama 3 Herd of Models 第4部分后训练的全文

Llama 3前三部分包括介绍、总体概述和预训练https://blog.csdn.net/qq_51570094/article/details/140682445?spm=1001.2014.3001.5501 4 Post-Training 后训练 我们通过应用几轮后训练6或将模型与人类反馈对齐来生成对齐的Llama 3模型(Ouyang等人,2022;Rafailov等人,2024)在…...

MongoDB性能调优

文章目录 MongoDB性能调优MongoDB性能不佳原因影响MongoDB性能的因素MongoDB性能监控工具mongostatmongotopProfiler模块db.currentOp() MongoDB性能调优 MongoDB性能不佳原因 慢查询阻塞等待硬件资源不足 1,2通常是因为模型/索引设计不佳导致的 排查思路&#xff1a;按1-2…...

【Qt开发】调试log日志QDebug重定向输出到textEdit等控件(qInstallMessageHandler回调函数)

【Qt开发】调试log日志QDebug重定向输出到textEdit等控件&#xff08;qInstallMessageHandler回调函数&#xff09; 文章目录 Log输出方式qInstallMessageHandler回调函数线程安全textEdit控件附录&#xff1a;C语言到C的入门知识点&#xff08;主要适用于C语言精通到Qt的C开发…...

WordPress主题会包含木马吗/谷歌seo优化怎么做

context load-on-startup 1.load-on-startup 元素标记容器是否应该在web应用程序启动的时候就加载这个servlet&#xff0c;(实例化并调用其init()方法)。2.它的值必须是一个整数&#xff0c;表示servlet被加载的先后顺序。3.如果该元素的值为负数或者没有设置&#xff0c;则容器…...

ico网站建设/seo专员很难吗

企业邮箱有多大容量&#xff0c;之前大家购置的情况下常常要关心企业邮箱必须多少的室内空间&#xff0c;多少的容量才考虑企业日常事务必须&#xff0c;但这一一直难以预计。TOM企业邮箱提供无限容量&#xff0c;解决了各企业信息存储容量空间问题。 大家使用邮箱时&#xff…...

安徽海鹏建设工程有限公司网站/上海百网优seo优化公司

对于招聘方来说&#xff0c;在招聘 程序员 的时候&#xff0c;我估计 面试 应聘者时&#xff0c;最 主要 想 知道 的是下面三件事&#xff1a;这个程序员的是否够 聪明 &#xff1f; 这个程序员能否把 事情 搞定&#xff1f; 这个程序员能和 我的 团队在一起 工作 吗&#xff1…...

电子商务网站建设课程标准/温州seo网站建设

今天开始调试ARM的板子&#xff0c;要通过tftp下载到板子上&#xff0c;所以又要配置tftp服务器&#xff0c;真的烦死了… (本人酷爱装系统&#xff0c;所以经常都要搞配置) 因为之前已经在Ubuntu下搭建过很多次tftp服务器了&#xff0c;但是一直记不住那一个配置文件的名字(记…...

大学生做政府网站/cps推广平台有哪些

1. 简介 在日常开发中&#xff0c;经常需要使用反射操作类中的属性或方法。ReflectASM是一个非常小的 Java 库&#xff0c;它提供高性能反射能力。   Github地址&#xff1a;https://github.com/EsotericSoftware/reflectasm 2. 官方性能报告 3. 用法 ReflectASM仅可访问publ…...

在dw里如何做网站/网络营销师报名官网

基于娱乐开源commons-email-1.x包之后&#xff0c;花了点时间重新整理了一下代码和GUI设计&#xff0c;只想利用已有的组件搭起一个自己的邮件客户端&#xff0c;如果在往高出走点&#xff0c;也可以弄一个邮件服务器来。 1.开发目的 简单&#xff0c;甚至单纯的可怕。造重复的…...