【MongoDB】分布式数据库入门级学习

https://blog.csdn.net/LikewaterwithLi?spm=1011.2266.3001.5343
SueWakeup

 个人主页:SueWakeup

系列专栏:为祖国的科技进步添砖Java

个性签名:保留赤子之心也许是种幸运吧

本文封面由 凯楠📸友情提供

凯楠📸 - 不夜长安


 目录

MongoDB 相关

数据库排行榜单

MongoDB 中文官网

 菜鸟教程 MongoDB

MongoDB 官方认证 

什么是 MongoDB

​编辑发展历程

​编辑分布式

​编辑NoSQL

什么是分布式

分布式文件存储概述

CAP 定理

CAP理论的核心

什么是 NoSQL

NoSQL概述

ACID vs BASE

BASE理论的核心思想

为什么使用 MongoDB

MongoDB 的特点

解决 MySQL 的 “三高” 问题

MongoDB 的应用场景

MongoDB 的实际应用

如何使用 MongoDB

安装 MongoDB

​编辑rpm 安装

1. 点击下方网址找到相应的系统安装 rpm 软件包。

2. 创建空目录/opt/mongodb用来存放安装包,使用 Xftp 或者 FinShell 将软件包上传。

3. 使用 rpm –ivh [软件包名] 依次下载 mongos、server、shell。 

​编辑

  ​编辑rpm 卸载

1. 使用 systemctl stop mongod 停止 MongoDB 服务。

2. 使用 rpm –qa |grep mongodb 查找安装的包。

3. 分别使用 rpm –e mongodb-org-shell(mongos、server)删除关于MongoDB 的包。

4. 使用 rm -r /var/lib/mongo 删除 MongoDB 的数据目录。(注:系统会多次提示是否删除,可使用 rm –f 命令强制删除,不会弹出多次询问,谨慎使用)

5. 使用 rm -r /var/log/mongodb 删除 MongoDB 的日志记录。

6. 使用 rm /etc/mongod.conf 删除 MongoDB 的配置文件,前两条命令会将文件移至 /etc 目录下,如下图所示。

7. 使用 systemctl status mongod 检验成果。

  ​编辑yum 安装

1. 使用 rpm --import https://www.mongodb.org/static/pgp/server-4.4.asc 导入 MongoDB 的 GPA 公钥,确保下载的安装包是官方的。

2. 使用 vi /etc/yum.repos.d/mongodb-org-4.4.repo 编辑MongoDB 4.4 版本的仓库配置。

3. 使用 yum install -y mongodb-org 安装 MongoDB。

​编辑4. 安装成功后使用 systemctl start mongod 启动服务并使用 systemctl status mongod 查看服务状态。

​编辑yum 卸载

1. 使用 systemctl stop mongod 停止服务。

2. 使用 yum remove mongodb-org* 卸载之前安装的包。

3. 分别使用 rm -r /var/lib/mongodb 和 rm -r /var/log/mongodb 删除 MongoDB 的数据目录和日志记录。

4. 卸载完成后使用 systemctl status mongod 检查成果。​编辑

​编辑docker 安装

1. 使用 systemctl start docker 启动 Docker。

2. 使用 docker pull mongo:4.4 或 latest 拉取 MongoDB 镜像。

3. 使用 docker run --name 【容器名】 -d mongo 运行 MongoDB 容器。

4. 使用 docker exec -it 【容器名】 mongo 进入 MongoDB 的 Shell。

​编辑docker 卸载

1. 使用 docker ps 查看当前正在运行的容器。

2. 使用 docker stop 【容器名】停止容器的运行。

3. 使用 docker rm 【容器名】删除容器。

4. 使用 docker ps –-all 查看所有容器。

配置 MongoDB

1. 使用 systemctl start mongod.service 启动服务。默认无认证登录方式。

2. 使用 systemctl status mongod.service 查看服务状态。 

3. 使用 mongo admin 进入 MongoDB 的 【admin】数据库。没有指定数据库,MongoDB 会使用一个名为【test】的默认数据库,该数据库存储在 data 目录中。

4. 进入成功后在最后一行使用 “>”表示命令行光标起始位置。

5. 输入db.createUser({user:'mongoAdmin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},'readWriteAnyDatabase']})创建用户

6. “user”是新用户的名称,“pwd”是密码。

7. “role”是权限,“db”是数据库名。如“role”:“readWrite”,“db”:“myDatabase”是对“myDatabase”数据库具有读写权限。

8. 常见的 db:admin(管理用户和角色)、local(存储本地集合)、config(存储分片集群的配置信息)。

9. 使用 db.getUsers() 查看当前系统上的所有用户信息。

10. 使用 db.auth(‘用户名’,‘密码’)进行认证,成功返回“1”。注:开启登录认证后,需要使用 mongo admin 进入【admin】数据库才可以使用 db.auth 命令进行登录。

11. 使用 ctrl + c 退出 MongoDB 进程。

12. 删除用户命令:db.dropUser(‘用户名’)

开启登录认证与远程登录

1. 在 Linux 命令行输入 vi /etc/mongod.conf 进入 MongoDB 的配置文件。

2. 找到 network 配置与 security 配置,配置效果如下图所示。

3. 保存后,使用 systemctl restart mongod.service、systemctl status mongod.service 重启 mongoDB服务

4. 开启登录认证后的成功案例,认证后使用 db.getUsers() 验证是否登录。

5. 失败案例,提示权限不足。

​编辑docker 配置 MongoDB

使用环境变量配置

使用配置文件 mongod.conf

GUI 可视化界面

 远程登录说明

1. 使用上方网址下载图形界面化软件。

2. 在 Linux 系统中已经配置好 MongoDB 的网络接口和登录认证。

 3. Linux 的网卡配置中有仅主机模式。

MongoDB 的 CURD

MongoDB 概念解析

Create 创建

Update 更新

Read 读取

Delete 删除

Java 连接 MongoDB

1. 添加 Maven 仓库依赖坐标

2. 创建 MondoDBConn.java 工具类

手机端浏览本文章可能会出现 “目录”无法有效展示的情况,还请谅解! 


MongoDB 相关


数据库排行榜单

网址:https://db-engines.com/en/ranking
数据库排行表单

===》》》数据库排行榜单《《《===icon-default.png?t=N7T8https://db-engines.com/en/ranking


MongoDB 中文官网

网址:https://mongodb.net.cn/manual/tutorial/insert-documents/
MongoDB 中文官网

===》》》MongoDB 中文官网《《《===icon-default.png?t=N7T8https://mongodb.net.cn/manual/tutorial/insert-documents/


 菜鸟教程 MongoDB

网址:https://www.runoob.com/mongodb/mongodb-intro.html
菜鸟教程 MongoDB

===》》》菜鸟教程 MongoDB《《《===icon-default.png?t=N7T8https://www.runoob.com/mongodb/mongodb-intro.html


MongoDB 官方认证 

MongoDB 官方认证

===》》》官方认证《《《===

===》》》关于认证的那些事《《《===


什么是 MongoDB

百度百科 - mongodb

发展历程

  • 2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。
  • 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
  • 截至2024年4月23日,MongoDB 社区版的最新版本为 7.0.8 。

分布式

  • 由C++语言编写,基于分布式文件存储的数据库。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

NoSQL

  • MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

什么是分布式


分布式文件存储概述

  • 分布式系统是由多个独立计算机(通常是网络上的计算机)组成的系统,这些计算机通过网络进行通信和协作,以共同完成某个任务或提供某种服务。
  • 分布式文件存储是分布式系统的一种应用,与传统的集中式文件系统相比,分布式文件存储具有更高的可扩展性容错性

一文读懂分布式架构知识体系(内含超全核心知识大图)icon-default.png?t=N7T8https://developer.aliyun.com/article/721007#slide-1

SueWakeup - 神马是分布式?


CAP 定理

图片来源: w3resource

CAP 定理又称布鲁尔定理,对于一个分布式系统而言,不可能同时满足以下三点:

  • 一致性(Consistency):所有节点在同一时间具有相同的数据。
  • 可用性(Availability):保证每个请求不管成功或者失败都有响应。
  • 分区容错性(Partition tolerance):系统中任意信息的丢失或失败不会影响系统的继续运作。

CAP理论的核心
  • 一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

w3resource - NoSQLicon-default.png?t=N7T8https://www.w3resource.com/mongodb/nosql.php


什么是 NoSQL

数据库的分类

NoSQL概述

  • NoSQL,指的是非关系型的数据库。也可认作是 Not Only SQL 的缩写,意为不仅限于 SQL。
  • 2009年在亚特兰大举行的"no:sql(east)"讨论会是一个里程碑,其口号是" select fun, profit from real_world where relational=false; "。因此,对NoSQL最普遍的解释是"非关联型的",强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS

ACID vs BASE

ACID

BASE

原子性(Atomicity)

基本可用(Basically Available)

一致性(Consistency)

软状态/柔性事务(Soft state)

隔离性(Isolation)

最终一致性 (Eventual consistency)

持久性 (Durable)

  • 原子性:事务是数据库的最小执行单元,事务的原子性确保数据库操作过程中的所有步骤全部成功或者全部失败
  • 一致性:数据修改前和修改后的状态保持一致
  • 隔离性:一个事务的执行不会被其他事务干扰,一个事务内部的操作和使用的数据,在并发中对其他事务是隔离的
  • 持久性:事务一旦被提交,将对数据库中的数据的改变是永久性的

BASE理论的核心思想

        在分布式系统中,由于网络延迟、节点故障等因素,数据的一致性可能无法实时保证,但是可以保证数据的最终一致性。


为什么使用 MongoDB


MongoDB 的特点

  • 业务并发访问量大
  • 存储的数据格式灵活,不固定,或属于半结构化数据
  • TB级以上的海量数据存储,且数据量不断增加
  • 无需要跨文档或跨表的事务及复杂的join查询支持

解决 MySQL 的 “三高” 问题

  1. 对数据库高并发写入需求
  2. 对海量数据高效率存储访问需求
  3. 对数据库高扩展和高可用的需求

MongoDB 的应用场景

  1. 社交场景,比如朋友圈,附近的人的地点的存储
  2. 游戏场景,比如用户当前装备,得分等
  3. 物流场景,比如快递的位置,状态,途径
  4. 视频场景,比如直播中的点赞数和互动留言等

MongoDB 的实际应用

  • 纽约时报,领先的在线新闻门户网站之一
  • CERN,著名的粒子物理研究所,欧洲核子研究中心大型强子对撞机的数据使用 MongoDB。
  • spike.com,一个音乐电视网络的联营公司, spike.com使用的 MongoDB。

如何使用 MongoDB


安装 MongoDB

  • Linux CentOS 7 操作系统下的三种安装方式

rpm 安装

  • 预先编译好的二进制软件包,不会自动处理软件包之间的依赖关系,会报错,提示缺少依赖需手动安装依赖项,过程繁琐。
1. 点击下方网址找到相应的系统安装 rpm 软件包。

MongoDB官方下载icon-default.png?t=N7T8https://www.mongodb.com/try/download/community

2. 创建空目录/opt/mongodb用来存放安装包,使用 Xftp 或者 FinShell 将软件包上传。

3. 使用 rpm –ivh [软件包名] 依次下载 mongos、server、shell。 

  rpm 卸载

1. 使用 systemctl stop mongod 停止 MongoDB 服务。
2. 使用 rpm –qa |grep mongodb 查找安装的包。
3. 分别使用 rpm –e mongodb-org-shell(mongos、server)删除关于MongoDB 的包。
4. 使用 rm -r /var/lib/mongo 删除 MongoDB 的数据目录。(注:系统会多次提示是否删除,可使用 rm –f 命令强制删除,不会弹出多次询问,谨慎使用)

5. 使用 rm -r /var/log/mongodb 删除 MongoDB 的日志记录。

6. 使用 rm /etc/mongod.conf 删除 MongoDB 的配置文件,前两条命令会将文件移至 /etc 目录下,如下图所示。

7. 使用 systemctl status mongod 检验成果。


  yum 安装

  • 自动化软件的安装、更新、配置和移除,无需担心依赖关系或手动下载和安装软件包。yum 保存的是 rpm 包。

1. 使用 rpm --import https://www.mongodb.org/static/pgp/server-4.4.asc 导入 MongoDB 的 GPA 公钥,确保下载的安装包是官方的。
2. 使用 vi /etc/yum.repos.d/mongodb-org-4.4.repo 编辑MongoDB 4.4 版本的仓库配置。

3. 使用 yum install -y mongodb-org 安装 MongoDB。
4. 安装成功后使用 systemctl start mongod 启动服务并使用 systemctl status mongod 查看服务状态。


yum 卸载

1. 使用 systemctl stop mongod 停止服务。
2. 使用 yum remove mongodb-org* 卸载之前安装的包。
3. 分别使用 rm -r /var/lib/mongodb 和 rm -r /var/log/mongodb 删除 MongoDB 的数据目录和日志记录。
4. 卸载完成后使用 systemctl status mongod 检查成果。

docker 安装

  • 侧重于整个应用环境的管理,以容器的形式封装、部署应用程序。docker 镜像仓库保存的是 docker 镜像。

1. 使用 systemctl start docker 启动 Docker。
2. 使用 docker pull mongo:4.4 或 latest 拉取 MongoDB 镜像。

3. 使用 docker run --name 【容器名】 -d mongo 运行 MongoDB 容器。
4. 使用 docker exec -it 【容器名】 mongo 进入 MongoDB 的 Shell。


docker 卸载

1. 使用 docker ps 查看当前正在运行的容器。
2. 使用 docker stop 【容器名】停止容器的运行。
3. 使用 docker rm 【容器名】删除容器。
4. 使用 docker ps –-all 查看所有容器。


配置 MongoDB

  • 不同的配方,同样的味道~

1. 使用 systemctl start mongod.service 启动服务。默认无认证登录方式。
2. 使用 systemctl status mongod.service 查看服务状态。 

3. 使用 mongo admin 进入 MongoDB 的 【admin】数据库。没有指定数据库,MongoDB 会使用一个名为【test】的默认数据库,该数据库存储在 data 目录中。
4. 进入成功后在最后一行使用 “>”表示命令行光标起始位置。
5. 输入db.createUser({user:'mongoAdmin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},'readWriteAnyDatabase']})
创建用户

6. “user”是新用户的名称,“pwd”是密码。
7. “role”是权限,“db”是数据库名。如“role”:“readWrite”,“db”:“myDatabase”是对“myDatabase”数据库具有读写权限。
8. 常见的 db:admin(管理用户和角色)、local(存储本地集合)、config(存储分片集群的配置信息)。

9. 使用 db.getUsers() 查看当前系统上的所有用户信息。
10. 使用 db.auth(‘用户名’,‘密码’)进行认证,成功返回“1”。注:开启登录认证后,需要使用
 mongo admin 进入【admin】数据库才可以使用 db.auth 命令进行登录。
11. 使用 ctrl + c 退出 MongoDB 进程。

12. 删除用户命令:db.dropUser(‘用户名’)

开启登录认证与远程登录

1. 在 Linux 命令行输入 vi /etc/mongod.conf 进入 MongoDB 的配置文件。

2. 找到 network 配置与 security 配置,配置效果如下图所示。

3. 保存后,使用 systemctl restart mongod.service、systemctl status mongod.service 重启 mongoDB服务
4. 开启登录认证后的成功案例,认证后使用 db.getUsers() 验证是否登录。

5. 失败案例,提示权限不足。


docker 配置 MongoDB

使用环境变量配置
  • 设置初始的 root 用户、密码、数据库
docker run --name some-mongo -d \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=password \
  -e MONGO_INITDB_DATABASE=mydatabase \
  mongo
使用配置文件 mongod.conf
  • 挂载自定义的 mongod.conf 到容器中实现配置
docker run --name some-mongo -d \
  -v /etc/mongo/mongod.conf:/etc/mongo/mongod.conf \
  -v /data/db:/data/db \
  mongo --config /etc/mongo/mongod.conf

GUI 可视化界面

  • 充分展现与 SQL 的不同

 远程登录说明

studio3t官方下载icon-default.png?t=N7T8https://studio3t.com/

1. 使用上方网址下载图形界面化软件。
2. 在 Linux 系统中已经配置好 MongoDB 的网络接口和登录认证。

 3. Linux 的网卡配置中有仅主机模式。

MongoDB 的 CURD

  • 常用语法

MongoDB 概念解析

MongoDB 与 MySQL 比较

图片来源于:菜鸟教程
表格来源于:菜鸟教程
图片来源于:菜鸟教程
  • 文档的数据结构和 JSON 基本一样。
  • 所有存储在集合中的数据都是 BSON 格式。
  • BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

Create 创建

创建数据库:use dbname
如果数据库不存在,则创建数据库,否则切换到指定数据库。
在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档
(记录),集合才会真正创建。
通过 db 来查看当前使用的数据库
创建集合:db.createCollection(“集合名”)
插入文档:db.集合名.insert(document) || db.集合名.save(document)

Update 更新

更新文档:db.集合名.update({查询条件},{$set:{更新内容}},
  {
   upsert: <boolean>,
   multi: <boolean>,
  }
)
upsert: 默认为false ,如果查询不到数据,则把跟新输入插入
multi:默认为false,默认只改一条,true,更改多条

Read 读取

查看所有数据库:show dbs
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
查看集合:show collections / show tables
删除文档:db.集合名称.remove( , { justOne: } ) 
非结构化显示所有文档:db.collection.find(query) 
格式化显示所有文档:db.col.find().pretty()

Delete 删除

删除当前数据库:db.dropDatabase()
删除集合:db.集合名.drop()
删除文档:db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。


Java 连接 MongoDB

1. 添加 Maven 仓库依赖坐标
 <!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
		<dependency>
		    <groupId>org.mongodb</groupId>
		    <artifactId>mongo-java-driver</artifactId>
		    <version>3.4.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.mongodb/bson -->
		<dependency>
		    <groupId>org.mongodb</groupId>
		    <artifactId>bson</artifactId>
		    <version>4.2.3</version>
		</dependency>
	<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
		<dependency>
		    <groupId>com.google.code.gson</groupId>
		    <artifactId>gson</artifactId>
		    <version>2.8.9</version>
		</dependency>
2. 创建 MondoDBConn.java 工具类
  • 类似于 JDBC 连接 MySQL 数据库
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;

public class MongoConn {

	public static MongoClient mc =null;
	public static MongoDatabase db = null;

	//测试用例
	public static void main(String[] args) {
		GetConn();
		//获取库中集合
		MongoIterable<String> collist = db.listCollectionNames();
				
		for(String s:collist) {
			System.out.println("mongo数据库中的集合:"+s);
		}
		ConnClose();
	}

	//连接数据库
	public static void GetConn() {
		mc =new MongoClient("localhost",27017);
		db = mc.getDatabase("Device");
		
		
	}

	//关闭连接
	public static void ConnClose() {
		mc.close();
	}
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Open-source tool]Uptime-kuma的簡介和安裝於Ubuntu 22.04系統

[Uptime Kuma]How to Monitor Mqtt Broker and Send Status to Line Notify Uptime-kuma 是一個基於Node.js的開軟軟體&#xff0c;同時也是一套應用於網路監控的開源軟體&#xff0c;其利用瀏覽器呈現直觀的使用者介面&#xff0c;如圖一所示&#xff0c;其讓使用者可監控各種…

【探索Linux】P.35(传输层 —— UDP协议)

阅读导航 引言一、UDP协议端格式二、UDP的特点三、UDP的缓冲区四、基于UDP的应用层协议温馨提示 引言 在上一篇文章中&#xff0c;我们深入探讨了网络协议的应用层&#xff0c;揭示了各种协议如何协同工作以确保信息在网络中正确、高效地传递。从HTTP到FTP&#xff0c;每一层协…

【分布式计算框架 MapReduce】MapReduce 初级编程

目录 一、MapReduce 示例程序的导入并运行测试 二、准备 4 个小文件&#xff08;文件大小分别为 1.7M&#xff0c;5.1M&#xff0c;3.4M&#xff0c;6.8M&#xff09; 1. 第一种情况&#xff0c;默认分片&#xff1a;不修改程序代码&#xff0c;直接使用 WordCount 源程序 2…

火了10年的电脑监控软件有哪些?盘点8款热门的电脑监控软件

电脑监控软件领域经历了多年的发展&#xff0c;一些软件因为其稳定的功能、良好的用户体验和不断更新的技术支持&#xff0c;得以在市场上保持长期的热度和用户基础。以下是几款在过去十年里广受好评且持续流行的内网监控软件&#xff1a; 1.安企神&#xff1a;由河北安企神网络…

c++ 子类继承父类

这个是子类继承父类 是否重写从父类那里继承来的函数 这个例子的路径 E盘 demo文件夹 fatherChildfunc

【C++ | 委托构造函数】委托构造函数 详解 及 例子源码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

周边美食小程序系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;美食店铺管理&#xff0c;菜品分类管理&#xff0c;标签管理&#xff0c;菜品信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;美食店铺&#…

Python 面试【★★★】

欢迎莅临我的博客 &#x1f49d;&#x1f49d;&#x1f49d;&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

springboot实习管理系统的设计与实现 LW +PPT+源码+讲解

第三章系统分析与设计 3.1 可行性分析 一个完整的系统&#xff0c;可行性分析是必须要有的&#xff0c;因为他关系到系统生存问题&#xff0c;对开发的意义进行分析&#xff0c;能否通过本系统来补充线下实习管理模式中的缺陷&#xff0c;去解决其中的不足等&#xff0c;通过对…

Java基础(五)——ArrayList

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…

蓝卓出席“2024C?O大会”,探讨智能工厂建设新路径

6月29日&#xff0c;“2024C?O大会”在金华成功举办。此次大会由浙江省企业信息化促进会主办&#xff0c;与以往CIO峰会不同&#xff0c;“C?O”代表了企业数字化中的核心决策者群体&#xff0c;包括传统的CIO、CEO、CDO等。 本次大会围绕C?O、AIGC与制造业、数据价值、未来…

[NSSCTF]-Reverse:[SWPUCTF 2021 新生赛]easyapp(安卓逆向,异或)

无壳 把后缀名改为zip&#xff0c;找到apk 查看jadx 这里调用了MainActivity的lambda$onCreate$0$MainActivity&#xff0c;然后又调用了Encoder进行异或。 exp&#xff1a; result棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌 key987654321 flag for i in range(len(result)):flagchr(…

算法:链表题目练习

目录 链表的技巧和操作总结 常用技巧&#xff1a; 链表中的常用操作 题目一&#xff1a;反转一个单链表 题目二&#xff1a;链表的中间结点 题目三&#xff1a;返回倒数第k个结点 题目四&#xff1a;合并两个有序链表 题目五&#xff1a;移除链表元素 题目六&#xff…

Flutter TIM 项目实现

目录 1. 服务端API 1.1 生成签名 1.1.1 步骤 第一步:获取签名算法 第二步:查看函数输入输出 第三步:nodejs 实现功能 1.1.2 验证签名 小结 1.2 Rest API 调用 1.2.1 签名介绍 1.2.2 腾讯接口 生成管理员 administrator 签名 包装一个 post 请求函数 查询账号 …

ATL新能源科技薪资待遇及Verify测评语言理解数字推理题型简介

一、走进ATL新能源科技 ATL新能源公司&#xff0c;即东莞新能源科技有限公司&#xff0c;是全球领先的可充式锂离子电池研发、生产和营销企业。成立于2004年&#xff0c;总部位于香港&#xff0c;产品广泛应用于消费电子产品和电动汽车领域。ATL以其技术创新和与苹果等大客户的…

websocket基础使用学习

websocket基础使用学习 一、websocket是什么&#xff1f;二、使用步骤1.websocket服务的安装与启动安装服务连接与发消息 总结 一、websocket是什么&#xff1f; 以前&#xff0c;很多网站为了实现推送技术&#xff0c;所用的技术都是Ajax 轮询。轮询是在特定的的时间间隔&…

RocketMQ源码学习笔记:Broker接受消息和发送消息

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview2、技术亮点2.1、消息写入时的自旋锁和可重入锁2.2、堆外内存机制2.2.1、Overview2.2.2、源码2.2.2.1、开启堆外内存的条件2.2.2.2、堆外内存的初始化2.2.2.3、写消息到堆外内存2…

医院消防设施设备管理系统

医院为人员密集场所&#xff0c;且多为各类病患及其陪护人员&#xff0c;一旦发生火灾&#xff0c;人员疏散逃生困难&#xff0c;容易造成较严重的生命与财产损失。为规范医院的消防设施设备管理&#xff0c;通过凡尔码系统对医院消防设施设备进行信息化管理&#xff0c;提高医…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-21多输入多输出通道

21多输入多输出通道 import torch from d2l import torch as d2ldef corr2d(X, K):"""计算二维互相关运算"""h, w K.shapeY torch.zeros((X.shape[0] - h 1, X.shape[1] - w 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):Y[i,…

大创项目推荐 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

文章目录 1 简介2 传统机器视觉的手势检测2.1 轮廓检测法2.2 算法结果2.3 整体代码实现2.3.1 算法流程 3 深度学习方法做手势识别3.1 经典的卷积神经网络3.2 YOLO系列3.3 SSD3.4 实现步骤3.4.1 数据集3.4.2 图像预处理3.4.3 构建卷积神经网络结构3.4.4 实验训练过程及结果 3.5 …