Nacos单点部署

news2024/11/24 6:50:43

文章目录

  • 一、Nacos概述
  • 二、部署Nacos
    • (1)容器部署
  • 三、注册服务
  • 四、整合外部的Mysql(单节点)

一、Nacos概述

  • Nacos是什么?

Nacos的全称是Dynamic Naming and Configuration Service,是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 是构建以服务为中心的现代应用架构,例如微服务范式、云原生范式的服务基础设施

Nacos 主要用于发现配置管理微服务。它提供了一组简单易用的特性集,可以快速实现动态服务发现服务配置服务元数据以及流量管理

使用Nacos可以更敏捷、更容易地构建、交付和管理微服务平台,说白了,Nacos就是注册中心+配置中心

  • Nacos的特性:
  1. 服务发现:支持DNS与RPC的服务发现,提供原生SDK、OpenAPI等多种服务注册方式以及DNS、HTTP与API等多种服务发现方式
  2. 服务健康监测:Nacos提供对服务的实时监控检查,阻止向不健康的主机或服务实例发送请求
  3. 动态配置服务:Nacos提供配置统一管理功能,使配置以中心化外部化动态化的方式管理所有环境的应用配置和服务配置
  4. 动态DNS服务:Nacos支持动态DNS服务权重路由,可以很容易的实现中间层负载均衡更灵活的路由策略流量控制数据中心内网的简单DNS解析服务
  5. 服务以及元数据的管理:Nacos支持从微服务平台建设的视角管理数据中心的所有服务和元数据,其中包括服务的描述、生命周期、动态依赖分析、监控状态、流量管理、路由以及安全策略、SLA以及使用Metrics统计数据
  • 下载地址:

Releases · alibaba/nacos · GitHub

二、部署Nacos

(1)容器部署

  • 容器的nacos目录在:/home/nacos/

  • 下载镜像

[root@node ~]# docker pull nacos/nacos-server:v2.0.4
[root@node ~]# docker images | grep nacos
nacos/nacos-server                                             v2.0.4    e6a65052d0b1   4 months ago    1.08GB
  • 启动容器
#注意,容器启动时需要配置环境变量 -e MODE=standalone ,否则默认启动占用内存为1G,这里也可以进行挂载,不过有可能会导致文件消失,所有这里还是不使用挂载
docker run --name nacos -d -p 8848:8848 --privileged=true --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname  e6a65052d0b1

[root@node ~]# docker ps -a  | grep nacos
4d6950a02546   e6a65052d0b1                                                   "bin/docker-startup.…"   7 minutes ago   Up 7 minutes             0.0.0.0:8848->8848/tcp   nacos


[root@node conf]# docker logs --since 10m 4d6950a02546  #查看日志
         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 2.0.4
,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 1
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://4d6950a02546:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

2022-07-25 15:48:35,681 INFO Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@6d6bc158' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

2022-07-25 15:48:35,690 INFO Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

2022-07-25 15:48:36,177 INFO Tomcat initialized with port(s): 8848 (http)

2022-07-25 15:48:37,016 INFO Root WebApplicationContext: initialization completed in 7991 ms

2022-07-25 15:48:47,214 INFO Initializing ExecutorService 'applicationTaskExecutor'

2022-07-25 15:48:47,464 INFO Adding welcome page: class path resource [static/index.html]

2022-07-25 15:48:48,533 INFO Creating filter chain: Ant [pattern='/**'], []

2022-07-25 15:48:48,583 INFO Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@58516c91, org.springframework.security.web.context.SecurityContextPersistenceFilter@756b58a7, org.springframework.security.web.header.HeaderWriterFilter@1460c81d, org.springframework.security.web.csrf.CsrfFilter@3e84111a, org.springframework.security.web.authentication.logout.LogoutFilter@548d5ed3, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@68b58644, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4417af13, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7c129ef6, org.springframework.security.web.session.SessionManagementFilter@327ed9f5, org.springframework.security.web.access.ExceptionTranslationFilter@6fa69af7]

2022-07-25 15:48:48,723 INFO Initializing ExecutorService 'taskScheduler'

2022-07-25 15:48:48,770 INFO Exposing 16 endpoint(s) beneath base path '/actuator'

2022-07-25 15:48:48,978 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'

2022-07-25 15:48:48,983 INFO Nacos started successfully in stand alone mode. use embedded storage  #有successfully表示启动成功
  • 访问测试,http://IP:8848/nacos,用户名和密码默认都是nacos

在这里插入图片描述

  • 输入密码登录

在这里插入图片描述

到此,nacos部署完成

三、注册服务

这个需要修改jar包的配置以及yml文件

  • 在jar包的配置上引入nacos模块,修改配置文件指定nacos的ip:port,最后可以在nacos上看见注册的服务

四、整合外部的Mysql(单节点)

  • mysql的数据会直接由容器中/home/nacos/conf/schema.sql导入数据

  • 现在来部署mysql (略,如果使用容器部署的话,部署完nacos发现nacos连接不上,可以重启mysql尝试)

  • 修改配置文件

[root@4d6950a02546 conf]# vim application.properties  #进入/home/nacos/conf,修改配置文件
#修改数据库为mysql
  5 spring.datasource.platform=mysql

#修改数据库数量为1
 10 db.num=1

#修改url为MySQL的IP和Port
 11 db.url.0=jdbc:mysql://10.10.11.203:3306/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding    =utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}

#修改mysql的用户名和密码
 13 db.user=root
 14 db.password=123456
 
 #保存退出
  • 最后重启服务(容器)即可
  • 也可以在创建容器时,直接传入变量
docker run --name nacos -d -p 8848:8848 --privileged=true --restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=10.10.11.218 \
-e  MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-v /home/fosafer/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /home/fosafer/nacos/logs:/home/nacos/logs \
7942818ce6f4
  • mysql需要导入nacos表结构,容器启动可以指定mysql的信息以及库,下面是创建表结构的sql
[root@localhost ~]# cat nacos_config.sql 
/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(64) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  `src_user` text,
  `src_ip` varchar(20) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE users (
        username varchar(50) NOT NULL PRIMARY KEY,
        password varchar(500) NOT NULL,
        enabled boolean NOT NULL
);

CREATE TABLE roles (
        username varchar(50) NOT NULL,
        role varchar(50) NOT NULL,
        constraint uk_username_role UNIQUE (username,role)
);

CREATE TABLE permissions (
    role varchar(50) NOT NULL,
    resource varchar(512) NOT NULL,
    action varchar(8) NOT NULL,
    constraint uk_role_permission UNIQUE (role,resource,action)
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/841724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统函数和状态方程的转换

1.问题介绍 之前碰到这样一个问题:给定一个正弦信号以及系统传递函数,利用该系统传递函数进行卡尔曼滤波。 利用卡尔曼进行滤波首先要知道系统的状态方程,那么题目只给了系统传递函数,如何能够得到状态方程呢? 首先…

C++ 多线程:std::future

std::future std::future 简介示例1博客引用来源 std::future 简介 我们前面介绍的std::thread 是C11中提供异步创建多线程的工具,只能是异步运行任务,却无法获取任务执行的结果,一般都是依靠全局对象,全局对象在多线程下是及其不…

Python连接Hive实例教程

一 Python连接hive环境实例 经在网络查询相关的教程,发现有好多的例子,发现连接底层用的的驱动基本都是pyhive和pyhs2两种第三方库的来连接的 hive,下面将简介windows 10 python 3.10 连接hive的驱动程序方式,开发工具:pycharm …

API接口统一管理

API接口统一管理 在开发项目的时候,接口可能很多需要统一管理。在src目录下去创建api文件夹去统一管理项目的接口;这样便于后期维护和团队开发。 axios二次封装 对于axios不熟悉的话,建议先学习这篇文章:Axios的基本使用 在开发项目的时候避免不了与后…

日销千单!TikTok Shop正成为部分东南亚卖家的首选平台...

TikTok Shop 正在成为一些东南亚卖家首选的电商平台,凭借娱乐购物模式获得年轻消费者青睐,他们已经可以通过该平台实现日销 5000 单。 作为字节跳动旗下全球短视频平台,TikTok 的电商功能可能会撼动这个拥有 6.7 亿人口、目前由 Shopee、Laz…

[Docker实现测试部署CI/CD----构建成功后钉钉告警(7)]

目录 15、钉钉告警创建项目群,然后添加机器人添加机器人Jenkins 系统配置项目配置修改Jenkinsfile文件,添加钉钉提示信息测试 不修改Jenkinsfile文件,添加钉钉提示信息测试 15、钉钉告警 创建项目群,然后添加机器人 首先需要在钉…

探索Python数据容器之乐趣:列表与元组的奇妙旅程!

文章目录 零 数据容器入门一 数据容器:list(列表)1.1 列表的定义1.2 列表的下表索引1.3 列表的常用操作1.3.1 列表的查询功能1.3.2 列表的修改功能1.3.3 列表常用方法总结 1.4 补充:append与extend对比1.5 list(列表)的遍历1.6 补…

浏览器同源策略

浏览器同源策略 同源策略:是一个重要的浏览器的安全策略,用于限制一个源的文档或者它加载的脚本如何能与另一个源的资源进行交互 它能帮助阻隔恶意文档,减少可能被攻击的媒介 例如:被钓鱼网站收集信息,使用ajax发起…

MongoDB 入门

1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据? 数据(英语:data),是指未经过处理的原始记录。 一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意…

基于IMU和超声的3D手势识别笔

随着科技的发展,人机交互在商业中有了越来越多的应用。面对日益复杂的交互场景,手势识别逐渐成为虚拟现实等相关应用的主要交互手段。 3D手势识别是一个具有挑战性的问题,常用的手势传感器有三种基本类型:多点触摸屏传感器、基于视…

深度学习常用的激活函数

深度学习的核心思想是通过多层次的神经网络结构,逐步抽取和表示数据中的高级特征,从而实现对复杂数据模式的学习和识别。 神经网络结构: 深度学习使用多层次的神经网络,包括输入层、隐藏层和输出层。这些网络结构允许模型自动学习…

FineBI 人力资源 专题

此处使用FineBI处理人力资源数据,数据来源于HR_database数据文件,将此文件拷贝到安装目录下 然后配置数据库连接 在【公共数据】中新建一个文件夹,并将之前数据库中需要用到的表放入此处,更新数据。显示如下。 这时候首先要建立…

汽配企业如何利用MES管理系统解决生产防错难题

汽车配件制造业是一个高效率、低成本、高质量的生产领域,但同时也面临着一系列的挑战。其中最为突出的挑战之一是如何在生产过程中避免错误,提高产品的合格率。本文将介绍汽车配件的制造特点以及如何通过MES管理系统解决方案实现生产防错,从而…

企业如何实现自己的AI垂直大模型

文章目录 为什么要训练垂直大模型训练垂直大模型有许多潜在的好处训练垂直大模型也存在一些挑战 企业如何实现自己的AI垂直大模型1.确定需求2.收集数据3.准备数据4.训练模型5.评估模型6.部署模型 如何高效实现垂直大模型 ✍创作者:全栈弄潮儿 🏡 个人主页…

【C++11】右值引用 | 移动语义

文章目录 一.基本概念1.左值 && 右值2.左值引用 && 右值引用 二.右值引用使用场景和意义1.左值引用的使用场景2.左值引用的短板3.右值引用和移动语义4.右值引用引用左值5.右值引用的其他使用场景 三.完美转发1.万能引用2.完美转发保持值的属性3.完美转发的使用…

LeetCode 热题 100 JavaScript--141. 环形链表

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(…

Linux知识点 -- 进程间通信(二)

Linux知识点 – 进程间通信(二) 文章目录 Linux知识点 -- 进程间通信(二)一、System V共享内存1.原理2.申请共享内存3.System V共享内存的使用4.为共享内存添加访问控制 二、信号量(概念理解)1.概念2.信号量…

GG修改美食大战老鼠宝石等级以及修改其他资料的方法

这期主要是讲一些,大家修改遇到的问题以及修改其他参数。 宝石、武器如何修改以及软件的安装与配置,请看我gg分栏的前两章 第一点:先讲一下自己武器上宝石等级的问题 宝石的代码: 0级升星宝石的代码1480e010 0级火力宝石的代码1…

概率论与数理统计:第一章:随机事件及其概率

文章目录 概率论Ch1. 随机事件及其概率1.基本概念(1)随机试验、随机事件、样本空间(2)事件的关系和运算①定义:互斥(互不相容)、对立②运算法则:德摩根率 (3)概率的定义(4)概率的性质(5)概率计算排列组合 2.等可能概型1.古典概型 (离散)2.几何概型 (连续…

Python-OpenCV 图像的基础操作

图像的基础操作 获取图像的像素值并修改获取图像的属性信息图像的ROI区域图像通道的拆分及合并图像扩边填充图像上的算术运算图像的加法图像的混合图像的位运算 获取图像的像素值并修改 首先读入一副图像: import numpy as np import cv2# 1.获取并修改像素值 # 读…