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

Oracle 数据库安装和配置指南(新)

目录

1. 什么是Oracle数据库?

2. 安装前的准备工作

2.1 硬件要求

2.2 软件要求

2.3 下载Oracle安装包

3. Oracle数据库的安装步骤

3.1 Windows系统安装步骤

3.2 Linux系统安装步骤

4. 配置Oracle数据库

4.1 设置环境变量(Linux)

4.2 配置监听器(Listener)

4.3 创建数据库

4.4 数据库启动与关闭

4.5 配置自动启动

5. Oracle数据库的基本操作

5.1 创建用户和表空间

5.2 导入和导出数据

5.3 SQL操作示例

6. 总结

您说:

Elasticsearch实战应用指南

1. 什么是Elasticsearch?

2. Elasticsearch的核心特性

3. Elasticsearch的架构

4. Elasticsearch的安装与配置

4.1 安装前的准备

4.2 安装步骤

4.3 配置文件说明

5. 数据索引与管理

5.1 创建索引

5.2 添加文档

5.3 更新与删除文档

5.4 管理索引

6. 搜索与查询

6.1 基本查询

6.2 组合查询

6.3 分页与排序

7. 聚合与分析

7.1 基本聚合

7.2 嵌套聚合

8. 实际案例

8.1 日志分析

8.2 电商网站搜索

8.3 数据分析与可视化

9. 性能优化

9.1 索引优化

9.2 查询优化

9.3 硬件优化

9.4 集群管理

10. 安全与监控

10.1 安全配置

10.2 监控工具

10.3 常见安全配置示例

11. 总结


1. 什么是Oracle数据库?

Oracle数据库是由Oracle公司开发的关系型数据库管理系统(RDBMS),被广泛应用于企业级数据存储和管理中。其支持多用户、多任务和大规模并发访问,具有高安全性、高性能和良好的扩展性。在金融、政府、医疗等领域,Oracle数据库因其稳定性和强大的功能被广泛使用。

2. 安装前的准备工作

在安装Oracle数据库之前,需要确保系统满足最低的硬件和软件要求。以下是一些关键的准备步骤:

2.1 硬件要求
组件最低要求
处理器最低2 GHz CPU
内存最低2 GB内存,推荐4 GB及以上
硬盘空间至少10 GB可用磁盘空间,建议20 GB或以上
显示分辨率1024 x 768或更高分辨率
2.2 软件要求
软件组件说明
操作系统Windows 10 64位、Linux、Unix等
JDK版本JDK 8及以上
依赖库在Linux系统中,需安装相关的依赖库,如libaio
2.3 下载Oracle安装包
  1. 访问Oracle官方网站。
  2. 选择合适的版本(如Oracle Database 19c或21c),根据操作系统下载相应的安装包。
  3. 在下载前需要注册Oracle账户,并接受许可协议。
3. Oracle数据库的安装步骤
3.1 Windows系统安装步骤
  1. 解压安装包:下载完成后,将安装包解压到指定的目录。
  2. 运行安装程序:找到setup.exe文件并以管理员身份运行。
  3. 选择安装类型
    • 创建并配置一个单实例数据库。
    • 仅安装数据库软件,稍后配置数据库。
    一般情况下选择创建并配置数据库选项。
  4. 选择数据库版本:选择“企业版”或“标准版”,企业版功能最全。
  5. 配置Oracle数据库
    • 设置全局数据库名(Global Database Name),通常为orcl
    • 配置数据库标识符(SID)。
    • 设置管理员密码(如syssystem用户的密码)。
  6. 安装路径选择:选择Oracle主目录和数据库文件存储路径。
  7. 完成安装:点击“安装”,安装程序将自动配置并启动数据库。
3.2 Linux系统安装步骤
  1. 创建Oracle用户和组

     

    bash

    复制代码

    groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle

    设置Oracle用户密码:

     

    bash

    复制代码

    passwd oracle

  2. 修改系统内核参数:编辑/etc/sysctl.conf文件,添加以下参数:

     

    bash

    复制代码

    fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096

    保存后执行sysctl -p使配置生效。

  3. 安装依赖库:使用包管理工具安装必要的依赖库:

     

    bash

    复制代码

    yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel libaio libaio-devel

  4. 解压并运行安装程序: 切换到oracle用户,解压安装包并进入解压后的目录,运行:

     

    bash

    复制代码

    ./runInstaller

  5. 图形界面安装步骤:和Windows类似,选择创建数据库,配置SID、密码等。

4. 配置Oracle数据库

安装完成后,还需进行一些基本的配置操作,以确保数据库能够正常运行并与客户端连接。

4.1 设置环境变量(Linux)

/home/oracle/.bash_profile文件中添加以下内容:

 

bash

复制代码

export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH

然后执行以下命令使环境变量生效:

 

bash

复制代码

source ~/.bash_profile

4.2 配置监听器(Listener)

Oracle监听器负责管理客户端与数据库实例之间的通信。在安装完成后,可以通过以下步骤进行配置:

  1. 运行命令netca,启动Oracle网络配置助手。
  2. 选择“监听器配置”,创建新的监听器。
  3. 选择协议(默认使用TCP/IP协议),并指定监听端口(默认1521端口)。
4.3 创建数据库

如果在安装时选择了仅安装数据库软件,那么需要手动创建数据库:

 

bash

复制代码

dbca

  1. 选择“创建数据库”。
  2. 配置全局数据库名和SID。
  3. 配置字符集(推荐选择UTF-8字符集)。
  4. 选择数据库存储位置和存储类型。
4.4 数据库启动与关闭

在命令行中可以通过以下命令启动和关闭Oracle数据库:

  • 启动数据库

     

    bash

    复制代码

    sqlplus / as sysdba startup

  • 关闭数据库

     

    bash

    复制代码

    shutdown immediate;

4.5 配置自动启动

为了使Oracle数据库在系统启动时自动启动和关闭,可以在Linux中编辑/etc/oratab文件,修改如下:

 

bash

复制代码

orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y

然后在/etc/rc.local中添加启动脚本:

 

bash

复制代码

su - oracle -c "lsnrctl start" su - oracle -c "dbstart"

5. Oracle数据库的基本操作

Oracle安装并配置完成后,可以进行一些基本的数据库操作。

5.1 创建用户和表空间
  1. 创建表空间

     

    sql

    复制代码

    CREATE TABLESPACE mytablespace DATAFILE '/u01/app/oracle/oradata/orcl/mytablespace.dbf' SIZE 100M;

  2. 创建用户并分配表空间

     

    sql

    复制代码

    CREATE USER myuser IDENTIFIED BY mypassword DEFAULT TABLESPACE mytablespace; GRANT CONNECT, RESOURCE TO myuser;

5.2 导入和导出数据
  • 导出数据

     

    bash

    复制代码

    expdp myuser/mypassword@orcl schemas=myuser directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=expdp.log;

  • 导入数据

     

    bash

    复制代码

    impdp myuser/mypassword@orcl schemas=myuser directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=impdp.log;

5.3 SQL操作示例
  • 创建表

     

    sql

    复制代码

    CREATE TABLE employees ( employee_id NUMBER PRIMARY KEY, first_name VARCHAR2(50), last_name VARCHAR2(50), hire_date DATE );

  • 插入数据

     

    sql

    复制代码

    INSERT INTO employees (employee_id, first_name, last_name, hire_date) VALUES (1, 'John', 'Doe', SYSDATE);

  • 查询数据

     

    sql

    复制代码

    SELECT * FROM employees;

6. 总结

本文详细介绍了Oracle数据库的安装和配置过程。通过遵循这些步骤,您可以顺利地在Windows或Linux操作系统上安装Oracle,并进行基本的数据库配置和操作。Oracle数据库强大的功能和广泛的应用领域使其成为企业级数据库管理系统的首选之一。在安装配置完成后,您可以根据需要进行更深入的优化和高级设置。

4o

您说:

再写一篇 elasticsearch实战应用的文章,我觉得你能做的更好

ChatGPT

思考 几秒

Elasticsearch实战应用指南

1. 什么是Elasticsearch?

Elasticsearch是一款开源的、基于Lucene构建的分布式搜索和分析引擎。它提供了近实时的搜索能力,能够处理大量结构化和非结构化数据。Elasticsearch广泛应用于日志分析、全文搜索、数据可视化和大数据分析等领域,是构建高性能搜索和分析平台的理想选择。

2. Elasticsearch的核心特性
  • 分布式架构:Elasticsearch天然支持分布式部署,可以轻松扩展以处理大规模数据。
  • 全文搜索:基于Lucene,提供强大的全文搜索能力,支持复杂的查询和分析。
  • 实时性:近实时的数据索引和搜索,适用于需要快速响应的应用场景。
  • 多租户支持:通过索引和文档的概念,支持多租户数据管理。
  • RESTful API:基于HTTP的RESTful接口,易于集成和使用。
  • 丰富的生态系统:与Kibana、Logstash等工具无缝集成,构建完整的数据处理和可视化解决方案。
3. Elasticsearch的架构

Elasticsearch采用分布式架构,由以下几个核心组件组成:

组件描述
节点(Node)Elasticsearch集群中的单个服务器实例。每个节点可以存储数据并参与集群的索引和搜索操作。
集群(Cluster)由多个节点组成的集合,共同管理和存储数据。集群有一个唯一的名称,节点通过这个名称加入集群。
索引(Index)存储具有相似特征的文档的集合,相当于关系数据库中的数据库。
文档(Document)索引中的基本信息单位,使用JSON格式存储。类似于关系数据库中的记录。
分片(Shard)索引的水平分割,每个索引可以分为多个主分片和副本分片,提高性能和容错性。
副本(Replica)主分片的副本,用于高可用性和负载均衡。
4. Elasticsearch的安装与配置
4.1 安装前的准备
  • 系统要求
    • 操作系统:Linux、Windows、macOS等。
    • Java环境:Elasticsearch内置了OpenJDK,无需额外安装。
    • 硬件要求:至少2 GB内存,推荐4 GB及以上。
4.2 安装步骤

以Linux为例的安装步骤

  1. 下载Elasticsearch

     

    bash

    复制代码

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.0-linux-x86_64.tar.gz

  2. 解压安装包

     

    bash

    复制代码

    tar -xzf elasticsearch-8.5.0-linux-x86_64.tar.gz cd elasticsearch-8.5.0/

  3. 启动Elasticsearch

     

    bash

    复制代码

    ./bin/elasticsearch

  4. 验证安装: 打开浏览器或使用curl命令访问http://localhost:9200,应返回Elasticsearch的基本信息。

4.3 配置文件说明

Elasticsearch的主要配置文件是elasticsearch.yml,位于config目录下。以下是常用配置项:

配置项描述
cluster.name集群名称,用于区分不同的Elasticsearch集群。
node.name节点名称,每个节点应有唯一的名称。
path.data数据存储路径。
path.logs日志存储路径。
network.host网络绑定地址,默认绑定localhost。设置为0.0.0.0可允许外部访问。
http.portHTTP接口端口,默认9200
discovery.seed_hosts用于节点发现的初始主机列表。
cluster.initial_master_nodes集群的初始主节点列表。
5. 数据索引与管理
5.1 创建索引

索引是Elasticsearch中存储数据的基本单位。创建索引时,可以指定映射(Mapping)来定义字段的类型和属性。

 

bash

复制代码

PUT /my_index { "settings": { "number_of_shards": 3, "number_of_replicas": 2 }, "mappings": { "properties": { "title": { "type": "text" }, "date": { "type": "date" }, "price": { "type": "float" } } } }

5.2 添加文档

向索引中添加文档,可以通过索引API实现。

 

bash

复制代码

POST /my_index/_doc/1 { "title": "Elasticsearch实战", "date": "2024-04-27", "price": 39.99 }

5.3 更新与删除文档
  • 更新文档

     

    bash

    复制代码

    POST /my_index/_update/1 { "doc": { "price": 29.99 } }

  • 删除文档

     

    bash

    复制代码

    DELETE /my_index/_doc/1

5.4 管理索引
操作示例命令描述
查看索引GET /_cat/indices?v列出所有索引及其状态
删除索引DELETE /my_index删除指定索引
关闭索引POST /my_index/_close关闭指定索引,停止搜索和索引操作
打开索引POST /my_index/_open打开已关闭的索引
6. 搜索与查询

Elasticsearch提供了强大的查询DSL(Domain Specific Language),支持多种查询方式。

6.1 基本查询
  • Match Query:用于全文搜索,匹配指定字段中的文本。

     

    bash

    复制代码

    GET /my_index/_search { "query": { "match": { "title": "Elasticsearch" } } }

  • Term Query:用于精确匹配,适用于关键字或数值字段。

     

    bash

    复制代码

    GET /my_index/_search { "query": { "term": { "price": 29.99 } } }

6.2 组合查询
  • Bool Query:组合多个查询条件,支持mustshouldmust_not等逻辑。

     

    bash

    复制代码

    GET /my_index/_search { "query": { "bool": { "must": [ { "match": { "title": "Elasticsearch" } }, { "range": { "price": { "gte": 20 } } } ], "must_not": [ { "term": { "price": 10 } } ] } } }

6.3 分页与排序
  • 分页:通过fromsize参数实现分页。

     

    bash

    复制代码

    GET /my_index/_search { "from": 10, "size": 10, "query": { "match_all": {} } }

  • 排序:通过sort参数指定排序字段和顺序。

     

    bash

    复制代码

    GET /my_index/_search { "sort": [ { "price": { "order": "desc" } } ], "query": { "match_all": {} } }

7. 聚合与分析

Elasticsearch的聚合功能允许对数据进行分组、统计和分析。

7.1 基本聚合
  • Terms Aggregation:对指定字段进行分组统计。

     

    bash

    复制代码

    GET /my_index/_search { "size": 0, "aggs": { "group_by_title": { "terms": { "field": "title.keyword" } } } }

  • Date Histogram Aggregation:按时间间隔分组统计。

     

    bash

    复制代码

    GET /my_index/_search { "size": 0, "aggs": { "sales_over_time": { "date_histogram": { "field": "date", "calendar_interval": "month" } } } }

7.2 嵌套聚合
  • Nested Aggregation:用于嵌套文档结构的聚合。

     

    bash

    复制代码

    GET /my_index/_search { "size": 0, "aggs": { "nested_data": { "nested": { "path": "comments" }, "aggs": { "average_rating": { "avg": { "field": "comments.rating" } } } } } }

8. 实际案例
8.1 日志分析

Elasticsearch常用于集中存储和分析日志数据,通过与Logstash和Kibana(即ELK Stack)结合,实现实时日志收集、处理和可视化。

步骤

  1. 数据收集:使用Logstash或Beats将日志数据发送到Elasticsearch。
  2. 数据索引:在Elasticsearch中创建索引并定义映射。
  3. 数据查询:使用Kibana进行数据查询和可视化分析。
  4. 报警与监控:基于查询结果设置报警规则,监控系统运行状态。
8.2 电商网站搜索

在电商网站中,Elasticsearch用于实现产品搜索、推荐和个性化排序。

功能

  • 关键词搜索:支持模糊搜索、拼写纠正和同义词扩展。
  • 过滤与排序:根据价格、评分、销量等字段进行过滤和排序。
  • 推荐系统:基于用户行为数据,提供个性化推荐。
  • 实时更新:支持实时数据索引,确保搜索结果的及时性。
8.3 数据分析与可视化

通过Elasticsearch的聚合功能,结合Kibana的可视化能力,实现数据的深入分析和展示。

应用场景

  • 业务指标监控:实时监控关键业务指标,如用户活跃度、销售额等。
  • 市场分析:分析市场趋势、用户行为和产品性能。
  • 安全分析:检测异常行为,识别潜在的安全威胁。
9. 性能优化

为了提升Elasticsearch的性能,可以从以下几个方面进行优化:

9.1 索引优化
  • 合理设计映射:避免使用过多的字段类型,使用适当的数据类型和分词器。
  • 使用合适的分片数:根据数据规模和查询需求,合理设置分片数,避免过多或过少的分片。
  • 禁用不必要的索引:对不需要搜索的字段禁用索引,提高写入性能。
9.2 查询优化
  • 使用过滤器:尽量使用过滤器(filter)而非查询(query)进行精确匹配,提高缓存命中率。
  • 避免深分页:深分页会导致性能下降,建议使用search_afterscroll API进行大规模数据的遍历。
  • 限制返回字段:仅返回必要的字段,减少网络传输和序列化开销。
9.3 硬件优化
  • 内存优化:确保Elasticsearch节点有足够的内存,JVM堆内存设置不超过系统内存的50%,且不超过32 GB。
  • 磁盘优化:使用SSD存储,提高读写性能,确保磁盘空间充足。
  • 网络优化:优化网络带宽和延迟,确保节点间通信高效。
9.4 集群管理
  • 监控与报警:使用监控工具(如Kibana的监控功能、Elasticsearch自身的监控API)实时监控集群健康状态。
  • 节点扩展:根据数据增长和查询需求,动态增加节点以扩展集群容量和性能。
  • 索引生命周期管理(ILM):自动管理索引的生命周期,优化存储和性能。
10. 安全与监控
10.1 安全配置

Elasticsearch提供了多种安全机制,确保数据的安全性和访问控制。

安全机制描述
身份验证与授权使用X-Pack或第三方插件实现用户身份验证和权限控制。
传输加密使用TLS/SSL加密节点间和客户端与节点之间的通信。
审计日志记录用户操作和系统事件,便于安全审计和问题追踪。
防火墙与网络隔离配置防火墙规则和网络隔离,限制不必要的访问。
10.2 监控工具
  • Kibana Monitoring:提供集群健康状态、性能指标和日志分析功能。
  • Elasticsearch APIs:通过/_cat/_cluster等API获取详细的集群和节点信息。
  • 第三方监控系统:如Prometheus、Grafana,集成Elasticsearch的监控数据,构建自定义的监控仪表板。
10.3 常见安全配置示例

启用TLS/SSL加密

  1. 生成证书: 使用Elasticsearch自带的certutil工具生成证书。

     

    bash

    复制代码

    ./bin/elasticsearch-certutil cert --pem

  2. 配置Elasticsearch: 在elasticsearch.yml中添加以下配置:

     

    yaml

    复制代码

    xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.key: /path/to/elastic.key xpack.security.transport.ssl.certificate: /path/to/elastic.crt xpack.security.transport.ssl.certificate_authorities: /path/to/ca.crt

  3. 重启Elasticsearch: 使配置生效,重启Elasticsearch服务。

11. 总结

Elasticsearch作为一款强大的分布式搜索和分析引擎,凭借其高性能、可扩展性和丰富的功能,广泛应用于日志分析、全文搜索、电商推荐和数据可视化等多个领域。通过本文的介绍,您可以了解Elasticsearch的基本原理、安装与配置方法、数据索引与管理、搜索与查询、聚合分析以及性能优化和安全监控等实战应用。随着对Elasticsearch的深入掌握,您将能够构建高效、可靠的数据搜索和分析系统,满足各种复杂的业务需求。

相关文章:

Oracle 数据库安装和配置指南(新)

目录 1. 什么是Oracle数据库? 2. 安装前的准备工作 2.1 硬件要求 2.2 软件要求 2.3 下载Oracle安装包 3. Oracle数据库的安装步骤 3.1 Windows系统安装步骤 3.2 Linux系统安装步骤 4. 配置Oracle数据库 4.1 设置环境变量(Linux) 4.…...

JavaScript的注释与常见输出方式

注释 源码中注释是不被引擎所解释的,它的作用是对代码进行解释。Javascript 提供两种注释的写法:一种是单行注释,用//起头;另一种是多行注释,放在/*和*/之间。 单行注释: //这是单行注释 多行注释: /*这是 多行 注…...

深入探索Android开发之Java核心技术学习大全

Android作为全球最流行的移动操作系统之一,其开发技能的需求日益增长。本文将为您介绍一套专为Android开发者设计的Java核心技术学习资料,包括详细的学习大纲、PDF文档、源代码以及配套视频教程,帮助您从Java基础到高级特性,再到A…...

vue3 选择字体的颜色,使用vue3-colorpicker来选择颜色

1、有的时候我们会用到颜色的选择器,像element-plus提供了,但是ant-design-vue并没有: 这个暂时没有看到: 但是Ant Design 5的版本有,应该不是vue的。 2、使用第三方提供的vue3-colorpicker:storybook/cli…...

windows C++ 并行编程-使用消息块筛选器

本文档演示了如何使用筛选器函数,使异步消息块能够根据消息的有效负载接受或拒绝消息。 创建消息块对象(例如 concurrency::unbounded_buffer、concurrency::call 或 concurrency::transformer)时,可以提供筛选器函数,用于确定消息块是接受还…...

【mysql技术内幕】

MySQL之技术内幕 1.MVCC模式2. 实现mvcc模式的基础点3.MySQL锁的类型4. 说下MySQL的索引有哪些吧?5. 谈谈分库分表6. 分表后的id咋么保证唯一性呢?7. 分表后非sharding key的查询咋么处理的? 1.MVCC模式 MVCC, 是multi-version concurrency c…...

快递物流单号识别API接口DEMO下载

单号识别API为用户提供单号识别快递公司服务,依托于快递鸟大数据平台,用户提供快递单号,即可实时返回可能的一个或多个快递公司,存在多个快递公司结果的,大数据平台根据可能性、单号量,进行智能排序。 应用…...

Jetpack——Room

概述 Room是谷歌公司推出的数据库处理框架,该框架同样基于SQLite,但它通过注解技术极大简化了数据库操作,减少了原来相当一部分编码工作量。在使用Room之前,要先修改模块的build.gradle文件,往dependencies节点添加下…...

Dynamic Connected Networks for Chinese Spelling Check(ACL2021)

Dynamic Connected Networks for Chinese Spelling Check(ACL2021) 一.概述 文中认为基于bert的非自回归语言模型依赖于输出独立性假设。不适当的独立性假设阻碍了基于bert的模型学习目标token之间的依赖关系,从而导致了不连贯的问题。为些&#xff0c…...

前端vue-3种生命周期,只能在各自的领域使用

上面的表格可以简化为下面的两句话: setup是语法糖,下面的两个import导入是vue3和vue2的区别,现在的vue3直接导入,比之前vue2简单 还可以是导入两个生命周期函数...

el-upload如何自定展示上传的文件

Element UI 中,el-upload 组件支持通过插槽(slot)来自定义文件列表的展示方式。这通常是通过 file-list 插槽来实现的。下面是一个使用 el-upload 组件并通过 file-list 插槽来自定义文件列表展示的完整示例代码。 在这个示例中,…...

研1日记15

1. 文心一言生成: 在PyTorch中,nn.AdaptiveAvgPool1d(1)是一个一维自适应平均池化层。这个层的作用是将输入的特征图(或称为张量)在一维上进行自适应平均池化,使得输出特征图的大小在指定的维度上变为1。这意味着&…...

基于Nginx搭建点播直播服务器

实现直播和点播离不开服务器⽀持,可以使用开源的NGINX服务器搭建直播和点播服务。 当然,NGINX本身是不⽀持视频的,需要为NGINX增加相应的RTMP模块进行支持。 1、下载nginx和rtmp模块 # nginx wget ht tp://nginx.org/download/nginx-1.18.…...

QT LineEdit显示模式

QT LineEdit显示模式 QLineEdit 显示模式:   Normal 普通模式   NoEcho 不回写,即输入内容是有的,但是显示不出来,就是不在 QLineEdit 输入框中显示,但是触发例如 textChanged 信号会将所输入的文字写出来   Password 显示密码   Pa…...

IT技术在数字化转型中的关键作用

IT技术在数字化转型中的关键作用 在当今数字化浪潮中,IT技术无疑扮演着核心角色。无论是企业的数字化转型,还是政府公共服务的智能化提升,信息技术都在推动着整个社会向更高效、更智能的方向发展。本文将探讨IT技术在数字化转型中的关键作用…...

【C++指南】C++中nullptr的深入解析

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C指南》 期待您的关注 目录 引言 一、nullptr的引入背景 二、nullptr的特点 1.类型安全 2.明确的空指针表示 3.函数重载支…...

解决启动docker desktop报The network name cannot be found的问题

现象 deploying WSL2 distributions ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: getting main distro bootstrap version: open \wsl$\docker-desktop\etc\wsl_bootstrap_version: The network name…...

Guava: 探索 Google 的 Java 核心库

Guava 是 Google 开发的一套 Java 核心库,它提供了一系列新的集合类型(例如多映射 multimap 和多集合 multiset)、不可变集合、图形库以及用于并发、I/O、哈希、原始类型、字符串等的实用工具。Guava 在 Google 的大多数 Java 项目中得到了广…...

Qt-qmake概述

概述 qmake工具为您提供了一个面向项目的系统,用于管理应用程序、库和其他组件的构建过程。这种方法使您能够控制使用的源文件,并允许简洁地描述过程中的每个步骤,通常在单个文件中。qmake将每个项目文件中的信息扩展为一个Makefile&#xf…...

【protobuf】ProtoBuf的学习与使用⸺C++

W...Y的主页 😊 代码仓库分享💕 前言:之前我们学习了Linux与windows的protobuf安装,知道protobuf是做序列化操作的应用,今天我们来学习一下protobuf。 目录 ⼀、初识ProtoBuf 步骤1:创建.proto文件 步…...

【iOS】MVC架构模式

文章目录 前言MVC架构模式基本概念通信方式简单应用 总结 前言 “MVC”,即Model(模型),View(视图),Controller(控制器),MVC模式是架构模式的一种。 关于“架构模式”&a…...

ML 系列:机器学习和深度学习的深层次总结(08)—欠拟合、过拟合,正确拟合

ML 系列赛:第 9 天 — Under、Over 和 Good Fit 文章目录 一、说明二、了解欠拟合、过拟合和实现正确的平衡三、关于泛化四、欠拟合五、过拟合六、适度拟合七、结论 一、说明 在有监督学习过程中,对于指定数据集进行训练,训练结果存在欠拟合…...

Unity-物理系统-刚体加力

一 刚体自带添加力的方法 给刚体加力的目标就是 让其有一个速度 朝向某一个方向移动 1.首先应该获取刚体组件 rigidBody this.GetComponent<Rigidbody>(); 2.添加力 //相对世界坐标 //世界坐标系 Z轴正方向加了一个里 //加力过后 对象是否停止…...

深入探究PR:那些被忽视却超实用的视频剪辑工具

如果想要了解视频剪辑的工具&#xff0c;那一定听说过pr视频剪辑吧。如果你是新手其实我更推荐你从简单的视频剪辑工具入手&#xff0c;这次我就介绍一些简单好操作的视频剪辑工具来入门吧。 1.福晰视频剪辑 连接直达>>https://www.pdf365.cn/foxit-clip/ 这款工具操…...

Unity-麦克风输入相关

private AudioClip clip; 知识点一 获取设备麦克风信息 string[] strs Microphone.devices; for (int i 0; i < strs.Length; i) { print(strs[i]); } 知识点二 开始录制 参数一&#xff1a;设备名 传空使用默认设备 参数二&#xff1a;超过录…...

NLP--自然语言处理学习-day1

一.初步认识NLP 自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学和人工智能&#xff08;AI&#xff09;的一个交叉领域&#xff0c;旨在使计算机能够理解、分析、生成和处理人类语言的能力。它结合了计算语言学、人工智能、机器学习和语言…...

ER论文阅读-Incomplete Multimodality-Diffused Emotion Recognition

基本介绍&#xff1a;NeurIPS, 2024, CCF-A 原文链接&#xff1a;https://proceedings.neurips.cc/paper_files/paper/2023/file/372cb7805eaccb2b7eed641271a30eec-Paper-Conference.pdf Abstract 人类多模态情感识别&#xff08;MER&#xff09;旨在通过多种异质模态&#x…...

Matlab自学笔记36:日期时间型的概念、分类和创建方法

1.概念 日期时间型&#xff08;Dates and Time&#xff09;数据具有灵活的显示格式和高达毫微秒的精度&#xff0c;并且可以处理时区、夏令时和平闰年等特殊因素 2.日期时间型数据有以下三种表示方式 &#xff08;1&#xff09;Datetime型&#xff0c;表示日期时间点&#x…...

Spring Boot自定义配置项

Spring Boot自定义配置项 配置文件 在application.properties文件添加需要的配置 比如&#xff1a; file.pathD:\\flies\\springboot\\ConfigurationProperties 注解 使用注解ConfigurationProperties将配置项和实体Bean关联起来&#xff0c;实现配置项和实体类字段的关联&…...

【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略

文章目录 C类与对象前言读者须知RVO 与 NRVO 的启用条件如何确认优化是否启用&#xff1f; 1. 按值传递与拷贝省略1.1 按值传递的概念1.2 示例代码1.3 按值传递的性能影响1.3.1 完全不优化 1.4 不同编译器下的优化表现1.4.1 Visual Studio 2019普通优化1.4.2 Visual Studio 202…...