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

微服务MongoDB解析部署使用全流程

目录

1、什么是MongoDB

1、非关系型数据库

2、非关系型数据库分类

3、MongoDB?bson格式什么样?

2、MongoDB的优势

3、MongoDB应用场景

4、术语

5、操作

1、安装MongoDB

1、查询镜像文件【不操作】

2、拉取镜像文件

3、创建数据挂载目录

4、启动容器

2、验证安装成功

1、命令及说明

3、删除用户【不操作】

1、命令及说明

4、Navicat连接

5、insert

6、find

7、delete

8、update

9、其他操作【了解】

6、SpringBoot整合

1.添加依赖

2.添加配置

3.编写Entry

4.编写DAO

5.编写DAOImpl

6.编写测试类Test

7.编写启动类


1、什么是MongoDB

1、非关系型数据库

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。

2、非关系型数据库分类

键值(Key-Value)存储数据库

类似于HashMap的方式,例如redis

列存储数据库

以列为概念的,用于处理大数据量的数据,例如HBase

文档型数据库

是应用比较广泛的,以文档形式处理数据的,文档不是硬盘上直接对应的文件,是个概念,例如MongoDB

图形(Graph)数据库

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

3、MongoDB?bson格式什么样?

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

JSON的BSON格式‌是一种二进制表示的数据交换格式,它是“Binary JSON”的缩写。

2、MongoDB的优势

  • 简单性,应用起来比较容易,易上手

  • 扩展性,指的是mango本身的拓展,比如说可以做分片模式集群等等

  • 高性能,在Wiretiger存储引擎的加持下,数据的读写可以做到更大的吞吐量

  • 高可用,自身出现故障的情况很少,也可以通过集群的方式再提供高可用性,还支持故障转移

  • 存文件,mongo天然支持文件存储,以桶的形式,用的对象是GridFS,文件会被切割成多个16M大小存储

3、MongoDB应用场景

它的应用场景非常广泛,存储数据、读写网站数据、文件存储、日志存储、缓存等。

从数据角度说,mongo关注是未来数据量。

从需求角度说,mongo关注是未来的拓展和维护。

4、术语

mongo从5版本对事务的支持更好,以后工作用的一定是5版本及以上的。

我们学习用4版本,是因为很多电脑安装不了5版本,受硬件影响。4版本和5版本在操作上没有什么大区别,学习不影响。

5、操作

1、安装MongoDB

基于docker的安装,版本号4.4.18

1、查询镜像文件【不操作】

docker search mongo

2、拉取镜像文件

docker pull mongo:4.4.18

3、创建数据挂载目录

mkdir -p /usr/local/docker/mongodb/datacd /usr/local/docker/mongodbchmod 777 data

4、启动容器

docker run -d \--name mongodb \--privileged \-p 27017:27017 \-v /usr/local/docker/mongodb/data:/data/db \-e MONGO_INITDB_ROOT_USERNAME=root \-e MONGO_INITDB_ROOT_PASSWORD=123456 \mongo:4.4.18 mongod --auth

看到此基就启动成功了

--privileged:以真正的有权限方式启动

MONGO_INITDB_ROOT_USERNAME:设置账户

MONGO_INITDB_ROOT_PASSWORD:设置密码

2、验证安装成功

1、命令及说明

# 1.进入容器

docker exec -it mongodb /bin/bash

# 2.查看版本

mongo --version


# 3.以root用户登录mongo,-p是密码,--port是端口号,--authenticationDatabase是验证权限的数据库
 

mongo --port 27017 -u "root" -p "123456" --authenticationDatabase "admin"  


# 4.展示所有的数据库
 

show dbs


# 5.切换到dz14b数据库

use dz14b


# 6.创建一个用户,用户名是user01,密码是123456,角色是读写角色,作用在dz14b数据库上

db.createUser({user:"user01", pwd:"123456",roles: [{role:"readWrite", db:"dz14b"}]})


# 7.查看所有的用户数据

show users


# 8.退出mongodb数据库

exit

# 9.退出mongodb容器

exit


# 10.再次进入容器,以mongo命令进入,进入到dz14b数据库中

docker exec -it mongodb mongo dz14b


# 11.查看当前在那个数据库

db

# 12.查看数据库,发现没有其他数据库,我们已经再dz14b了,所以查询不到其他数据库

show dbs


# 13.授权

db.auth("user01", "123456")

# 14.查看数据库,发现没有,授权影响不到用户的作用范围

show dbs

# 15.因为没有权限报错了

show users


# 16.向dz(dz自定义的名字)集合插入了一个文档,数据是inser方法的参数。对照sql理解:向dz表插入一条记录

db.dz.insert({name:"zhangsan"})

# 17.查询dz集合下所有的数据

db.dz.find()

【第1,2,3步骤】

【第4-9步骤】

【第10-17步骤】

3、删除用户【不操作】

1、命令及说明

# 进入docker容器
docker exec -it mongodb /bin/bash
# 以root用户登录mongo,-p是密码,--port是端口号,--authenticationDatabase是验证权限的数据库
mongo --port 27017 -u "root" -p "123456" --authenticationDatabase "admin"  
# 切换到dz12b数据库
use dz12b
# 查看所有的用户数据
show users
# 切换到admin数据库
user admin
# 授权
db.auth("root", "123456")
# 删除用户,用户信息再system.users下,remove是一个命令
db.system.users.remove({user:"user01"})
# 重新进入mongo,验证删除成功
exit
mongo --port 27017 -u "root" -p "123456" --authenticationDatabase "admin"  
use dz7b
show users

4、Navicat连接

5、insert

db.dz.insert({name:"菲菲", age:20,sex:"女"});
db.dz.insert({name:"张三",sex:"男"});
db.dz.insert({name:"王五",sex:"男",hiredate:"2024-12-14"});

db.dz.save({name:"菲菲", age:20,sex:"女"});
db.dz.save({name:"张三",sex:"男"});
db.dz.save({name:"王五",sex:"男",hiredate:"2024-12-14"});

insert和save的区别:

如果设置了id字段,id不重复二者没有区别,都是新增一条数据,如果id重复,insert会报错,save执行修改操作。

【执行insert语句同时 创建集合“表”】

db.dz.insert({_id:ObjectId("66f4b95c904baf343400254d"),name:"高波",age:20})
db.dz.save({_id:ObjectId("66f4b95c904baf343400254d"),name:"高波",age:20})

6、find

db.dz.find({age : 20} )
db.dz.find({age : {$gt : 21}})
db.dz.find({age:{$gt : 21},name:'张三'})

7、delete

db.dz.deleteOne({age:20})
db.dz.deleteMany({age:20})

deleteOne是删除按照条件查询到的第一条数据

deleteMany是删除所有符合条件的记录

8、update

db.dz.updateOne({age:25},{$set:{age:20}}
)db.dz.updateMany({age:25},{$set:{age:20}}
)

updateOne是修改按照条件查询到的第一条数据

updateMany是修改所有符合条件的记录

9、其他操作【了解】

# 查看所有数据库
show dbs
# 应用到指定数据库
use databasename
# 查看数据库下的集合
show collections
# 创建集合
db.createCollection("test_collection")
# 删除集合,test_collection是集合的名字
db.test_collection.drop()

6、SpringBoot整合

1.添加依赖

  <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.13</version></parent><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version><jwt.version>0.7.0</jwt.version><fastjson.version>1.2.60</fastjson.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>compile</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--json--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version><scope>compile</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins></build>

2.添加配置

#username: user01 虚拟机数据库名
#database: 自己数据库的名字
#port: 27017  虚拟机中自己定义的
#host: 192.168.146.128  虚拟机ip
spring:data:mongodb:username: user01password: '123456'port: 27017host: 192.168.146.128database: dz14b

mongodb配置有两种方式,如果第一种不生效,可以用第二种尝试一下

spring:data:mongodb:uri: mongodb://user01:123456@192.168.1.101:27017/dz12b

3.编写Entry

package com.jr.entry;import lombok.Data;
import org.springframework.data.annotation.Id;@Data
public class User {@Idprivate String id;private String name;private String password;
}

4.编写DAO

package com.jr.dao;import com.jr.entry.User;import java.util.List;public interface UserDao {/*** 新增** @param user 目标对象*/void insert(User user);/*** 删除** @param id 对象主键*/void delete(String id);/*** 修改** @param user 目标对象*/void update(User user);/*** 通过主键查询** @param id 主键* @return user对象*/User findById(String id);/*** 查询** @param user 条件对象* @return user集合*/List<User> query(User user);}

5.编写DAOImpl

MongoTemplate常用方法:

 mongoTemplate.insert(user);  //添加user对象
 mongoTemplate.findById(id, User.class);  //根据主键id,查询单个user对象。
 mongoTemplate.remove(user);  //删除指定user对象
 mongoTemplate.remove(条件对象Query, User.class);   // 删除符合条件的user对象
 mongoTemplate.updateMulti(条件对象query, 修改对象update, User.class);  //修改符合条件的user对象
 mongoTemplate.find(条件对象query, User.class);  //查询符合条件的user对象

条件对象Query常用方法:

#将构建好的查询条件添加到查询对象中
query.addCriteria(Criteria.where("_id").is(id));

Criteria常用方法:

#用于定义查询条件的接口,它提供了一系列的方法来构建复杂的查询条件。
Criteria.where("_id").is(id);

修改对象Update常用方法:

update.set("password", user.getPassword());

测试代码:

package com.jr.dao.impl;
import com.jr.dao.UserDao;
import com.jr.entry.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;
import java.util.List;@Repository
public class UserDaoImpl implements UserDao {@Autowiredprivate MongoTemplate mongoTemplate;@Overridepublic void insert(User user) {mongoTemplate.insert(user);}@Overridepublic User findById(String id) {return mongoTemplate.findById(id, User.class);}//    @Overridepublic void delete1(String id) {User user = findById(id);if (user != null) {mongoTemplate.remove(user);} else {System.out.println("没有找到要删除的数据!");}}@Overridepublic void delete(String id) {Query query = new Query();query.addCriteria(Criteria.where("_id").is(id));mongoTemplate.remove(query, User.class);}@Overridepublic void update(User user) {Query query = new Query();query.addCriteria(Criteria.where("_id").is(user.getId()));Update update = new Update();update.set("name", user.getName());update.set("password", user.getPassword());mongoTemplate.updateMulti(query, update, User.class);}@Overridepublic List<User> query(User user) {Query query = new Query();if(user.getId() != null){query.addCriteria(Criteria.where("_id").is(user.getId()));}if(user.getName() != null){query.addCriteria(Criteria.where("name").is(user.getName()));}if(user.getPassword() != null){query.addCriteria(Criteria.where("password").is(user.getPassword()));}return mongoTemplate.find(query, User.class);}
}

6.编写测试类Test

package com.jr;
import com.SpringBootMain;
import com.jr.dao.UserDao;
import com.jr.entry.User;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@Slf4j
@SpringBootTest(classes = SpringBootMain.class)
@SuppressWarnings("all")
public class MongoDbTest {@Autowiredprivate UserDao userDao;@Testpublic void testInsert() {User user = new User();user.setPassword("123");user.setName("zhangsan");userDao.insert(user);}@Testpublic void testFindById() {User byId = userDao.findById("661794efd775ee4bd7a6d069");System.out.println(byId);}@Testpublic void testDelete() {userDao.delete("6617970547fbc57ef66a962f");}@Testpublic void testUpdate() {User user = new User();user.setId("661797ee479a0c02f0dd9212");user.setPassword("123456");user.setName("lisi");userDao.update(user);}@Testpublic void testQuery() {User user = new User();
//        user.setId("661797ee479a0c02f0dd9212");user.setPassword("123");
//        user.setName("lisi");System.out.println(userDao.query(user));}}

7.编写启动类

package com;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootMain {public static void main(String[] args) {SpringApplication.run(SpringBootMain.class);}
}

相关文章:

微服务MongoDB解析部署使用全流程

目录 1、什么是MongoDB 1、非关系型数据库 2、非关系型数据库分类 3、MongoDB&#xff1f;bson格式什么样&#xff1f; 2、MongoDB的优势 3、MongoDB应用场景 4、术语 5、操作 1、安装MongoDB 1、查询镜像文件【不操作】 2、拉取镜像文件 3、创建数据挂载目录 4、启…...

string为什么存储在堆里

在 Java 中&#xff0c;字符串对象存储在堆内存中而不是栈内存中&#xff0c;这是由于 Java 的内存管理和对象生命周期的特性决定的。以下是详细解释&#xff1a; 1. Java 内存模型 Java 的内存模型主要分为以下几个部分&#xff1a; 堆&#xff08;Heap&#xff09;&#x…...

Python和C++及MATLAB距离相关性生物医学样本统计量算法及数据科学

&#x1f3af;要点 统计观测值之间距离计算代谢组学和脂质组学分析相关距离矩阵计算卡方检验偏差校正快速计算距离协方差算法大规模生物系统分析距离矩阵相关性测试石油勘探统计学关系 Python距离矩阵 在数学、计算机科学&#xff0c;尤其是图论中&#xff0c;距离矩阵是一…...

【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧

文章目录 C模板进阶编程前言第一章: 非类型模板参数1.1 什么是非类型模板参数&#xff1f;1.1.1 非类型模板参数的定义 1.2 非类型模板参数的注意事项1.3 非类型模板参数的使用场景示例&#xff1a;静态数组的实现 第二章: 模板的特化2.1 什么是模板特化&#xff1f;2.1.1 模板…...

golang学习笔记20-面向对象(二):方法与结构体【重要】

本节内容是面向对象的核心与基础&#xff0c;很重要。 注意&#xff1a;由于导包语句已经在19讲&#xff08;笔记19&#xff1a;面向对象的引入&#xff09;展示过了&#xff0c;所以这里就不展示了。 一、方法的定义与细节 方法是与特定类型&#xff08;通常是结构体&#x…...

广州C++信奥老师解一本通题 1919:【02NOIP普及组】选数

【题目描述】 已知nn个整数x1,x2,……xn 以及一个整数K(K&#xff1c;n)。从n个整数中任选K个整数相加,可分别 得到一系列的和。例如当n4, k3 4个整数分别为3,7,12,19 3, 7,12,19时,可得全部的组合与它们的和为: 371222   371929   7121938  3121934 现在,要求你计算出和为…...

cas5.3统一登录前后端分离改造方案(源码)

cas5.3 为什么选择cas5.3 版本 5.3 版本是最新的支持jdk8 的版本&#xff0c;并且项目架构基于maven &#xff0c;商业项目中jdk8 仍是主流&#xff0c;在考虑商业收益的情况下&#xff0c;如果客户不要求&#xff0c;不会升级jdk, 基于Maven的项目比gradle 简单&#xff0c;…...

【ComfyUI】控制光照节点——ComfyUI-IC-Light-Native

原始代码&#xff08;非comfyui&#xff09;&#xff1a;https://github.com/lllyasviel/IC-Light comfyui实现1&#xff08;600星&#xff09;&#xff1a;https://github.com/kijai/ComfyUI-IC-Light comfyui实现2&#xff08;500星&#xff09;&#xff1a;https://github.c…...

LVS+keepalived整合负载均衡配置

准备三台服务器&#xff1b;负载均衡服务器192.168.45.136&#xff0c;后端机器1&#xff0c;92.168.45.135&#xff0c;后端机器2&#xff0c;192.168.45.138 在两台后端机器上安装nginx服务&#xff0c;yum install -y nginx,并且启动nginx服务&#xff0c;systemctl start …...

Goland无法使用debug的修复

现象goland在debug的时候&#xff0c;一直卡在打的断点处&#xff0c;释放断点程序就执行结束。 查看其他博客说是当使用老版本的goland&#xff0c;golang版本为高版本时就会出现debug问题&#xff0c;需要手动更换dlv。 接下来以window为例子&#xff1a; 第一步&#xff1…...

MySQL和Doris开窗函数LAG执行时的区别

目标表的表结构 CREATE TABLE point_value_status_color_tmp ( id bigint NOT NULL, org_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, device_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, origin_ti…...

都是小憨憨!

周五晚上约了俩哥们儿吃饭&#xff0c;天南海北地聊着。其中一个哥们儿 L 讲&#xff0c;他在外面如何辛苦跑业务&#xff0c;维系客户&#xff0c;拿单子……但却被合伙人说是合伙人拉了 L 一把&#xff0c;而且可以分分钟灭了 L。所以 L 感觉到很委屈。然后我们俩就劝说趁早决…...

高级java每日一道面试题-2024年9月30日-服务器篇[Redis篇]-Redis持久化有几种方式?

如果有遗漏,评论区告诉我进行补充 面试官: Redis持久化有几种方式? 我回答: Redis 是一个高性能的键值存储系统&#xff0c;常用于缓存、消息队列和实时数据分析等场景。为了保证数据的持久性&#xff0c;Redis 提供了两种主要的持久化方式&#xff1a;RDB&#xff08;Redi…...

ICML 2024 论文分享┆一个简单且通用的交通预测提示调优框架

论文简介 本推文介绍了2024 ICML的优秀论文之一《FlashST: A Simple and Universal Prompt-Tuning Framework for Traffic Prediction》。论文的核心目标是通过整合空间和时间因素&#xff0c;精准地预测和分析交通流量的动态变化。然而&#xff0c;在交通预测领域&#xff0c…...

【C++打怪之路Lv4】-- 类和对象(中)

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;C打怪之路&#xff0c;python从入门到精通&#xff0c;数据结构&#xff0c;C语言&#xff0c;C语言题集&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文(平均质量分82)&#…...

滚雪球学MySQL[1.1讲]:MySQL简介与环境配置

全文目录&#xff1a; 前言1. MySQL简介与环境配置1.1 MySQL简介什么是MySQLMySQL的历史和版本MySQL的应用场景 1.2 安装与配置安装MySQL&#xff08;Windows、Linux、macOS&#xff09;配置文件解析&#xff08;my.cnf&#xff09;启动与停止MySQL服务 1.3 MySQL客户端工具MyS…...

Llama微调以及Ollama部署

1 Llama微调 在基础模型的基础上&#xff0c;通过一些特定的数据集&#xff0c;将具有特定功能加在原有的模型上。 1.1 效果对比 特定数据集 未使用微调的基础模型的回答 使用微调后的回答 1.2 基础模型 基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored&#x…...

中关村环球时尚产业联盟 东晟时尚产业创新中心成立

2024年9月6日&#xff0c;中关村环球时尚产业联盟与东晟时尚创新科技&#xff08;北京&#xff09;有限公司于中关村科技园东城园举行了隆重的战略合作签约仪式。 中关村科技园东城园领导发表了致辞&#xff0c;并表示东城区作为首都北京的核心区域&#xff0c;拥有深厚的历史…...

基于SSM的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的宠物领养管理系统2拥有两种角色 管理员&#xff1a;宠物分类管理、领养管理、宠物商品管理、用户管理、寄存管理、丢失信息管理、订单管理等 用户&#xff1a;登录注册、收藏评…...

为什么要配置环境变量?

在 Windows 操作系统中配置环境变量有多个重要的原因&#xff0c;这些原因与软件开发、系统管理和日常使用密切相关。以下是一些主要的原因&#xff1a; 1. 系统路径&#xff08;PATH&#xff09; 可执行文件的位置&#xff1a;PATH 环境变量用于指定操作系统在何处查找可执行…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...