傳統方式部署(RuoYi-Cloud)微服務

實驗環境

192.168.10.43和192.168.10.44內存不能小于4G

一、安裝MySQL(192.168.10.46)

1、安裝MySQL依賴庫

dnf -y install ncurses-compat-libs

2、上傳mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二進制包到/root目錄,解壓并移動到指定目錄

tar xf mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xzmv mysql-8.0.42-linux-glibc2.17-x86_64-minimal /usr/local/mysql

3、設置環境變量

echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profileecho 'export PATH=$MYSQL_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

4、創建MySQL用戶和數據目錄

useradd -r -s /bin/false -M mysqlmkdir -p /usr/local/mysql/datachown -R mysql:mysql /usr/local/mysql/

5、創建MySQL配置文件

cat > /etc/my.cnf << EOF[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/datapid-file=/usr/local/mysql/data/mysqld.pidlog-error=/usr/local/mysql/data/mysql.errsocket=/tmp/mysql.sockEOF

6、初始化MySQL數據庫

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7、創建systemctl管理文件

cat > /usr/lib/systemd/system/mysqld.service << EOF[Unit]Description=MySQL ServerAfter=network.target[Service]Type=forkingUser=mysqlGroup=mysqlExecStart=/usr/local/mysql/bin/mysqld --daemonizeExecStop=/usr/local/mysql/bin/mysqladmin shutdownRestart=on-failure[Install]WantedBy=multi-user.targetEOF

8、啟動MySQL服務

systemctl daemon-reloadsystemctl enable --now mysqld

9、修改MySQL的root用戶密碼

grep password /usr/local/mysql/data/mysql.err

mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';

二、安裝redis(192.168.10.45)

下載地址:https://download.redis.io/releases/

1、下載源碼包

wget https://download.redis.io/releases/redis-6.0.20.tar.gz

2、編譯安裝到指定目錄

tar xf redis-6.0.20.tar.gzcd redis-6.0.20/make PREFIX=/usr/local/redis -j$(nproc)sudo make PREFIX=/usr/local/redis install

3、設置環境變量

echo 'export REDIS_HOME=/usr/local/redis' >> /etc/profileecho 'export PATH=$REDIS_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

4、創建redis用戶和專用目錄

useradd -r -s /bin/false -M redismkdir -p /usr/local/redis/{conf,data,log}cp /root/redis-6.0.20/redis.conf /usr/local/redis/conf/chown -R redis:redis /usr/local/redis

5、修改配置文件

vim /usr/local/redis/conf/redis.conf

修改:

6、創建systemctl管理文件

cat > /usr/lib/systemd/system/redis.service << EOF[Unit]Description=Redis In-Memory Data StoreAfter=network.target[Service]Type=forkingUser=redisGroup=redisExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.confExecStop=/usr/local/redis/bin/redis-cli shutdownRestart=on-failurePrivateTmp=true[Install]WantedBy=multi-user.targetEOF

7、啟動redis服務

systemctl daemon-reloadsystemctl enable --now redis

三、安裝WEB(192.168.10.42)

1、下載nginx源碼包

wget https://nginx.org/download/nginx-1.28.0.tar.gz

2、創建nginx用戶

useradd -r -s /bin/false -M nginx

3、編譯安裝nginx

安裝依賴

dnf -y install openssl-devel zlib-devel pcre-develtar xf nginx-1.28.0.tar.gzcd nginx-1.28.0/./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_modulemake -j$(nproc) && make install

4、創建systemctl管理文件

cat > /usr/lib/systemd/system/nginx.service << EOF[Unit]Description=Nginx server daemonAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecStop=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s stopExecReload=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s reloadRestart=on-failure[Install]WantedBy=multi-user.targetEOF

5、啟動nginx服務

systemctl daemon-reloadsystemctl enable --now nginx

四、準備ruoyi源代碼編譯環境(192.168.10.47)

1、安裝Java1.8

rocky9.5自帶Java1.8

編譯源代碼需要安裝java-1.8-devel

dnf -y install java-1.8.0-openjdk-develjava -version

2、安裝maven3.8

(1)下載maven二進制包,解壓并移動到指定目錄

wget https://mirrors.aliyun.com/apache/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gztar xf apache-maven-3.8.9-bin.tar.gzmv apache-maven-3.8.9 /usr/local/maven

(2)設置環境變量

echo 'export MAVEN_HOME=/usr/local/maven' >> /etc/profileecho 'export PATH=$MAVEN_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

(3)查看maven版本

mvn -version

(4)配置maven

vim /usr/local/maven/conf/settings.xml

添加修改:

????? <id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central</url>

??? <profile><id>java8</id><activation><activeByDefault>true</activeByDefault></activation><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><maven.compiler.release>8</maven.compiler.release></properties></profile>

(5)查看系統環境信息和 Java 系統屬性

mvn help:system

顯示下載地址為阿里源即為正確

3、安裝nodejs

下載地址:https://nodejs.org/download/release/v22.15.1/

(1)下載nodejs二進制包,解壓并移動到指定目錄

wget https://nodejs.org/download/release/v22.15.1/node-v22.15.1-linux-x64.tar.xztar xf node-v22.15.1-linux-x64.tar.xzmv node-v22.15.1-linux-x64 /usr/local/nodejs

(2)設置環境變量

vim /etc/profile

添加修改:

export NODEJS_HOME=/usr/local/nodejsexport PATH=$MAVEN_HOME/bin:$NODEJS_HOME/bin:$PATH

source /etc/profile

(3)查看nodejs版本

node -v

npm -v

(4)修改npm鏡像源

查看當前 npm 的鏡像源

npm get config registry

修改為淘寶鏡像源

npm config set registry https://registry.npmmirror.com/npm get config registry

五、部署治理層

1、安裝jdk1.8(192.168.10.43)

rocky9.5自帶java1.8

需要安裝java1.8的開發

dnf -y install java-1.8.0-openjdk-develjava -version

2、部署單機nacos(服務注冊中心/配置管理中心)

Nacos(Dynamic Naming and Configuration Service)是阿里巴巴開源的一款集 服務發現配置管理服務治理 于一體的平臺,適用于云原生和微服務架構。

下載地址:https://nacos.io/docs/latest/overview/

(1)上傳nacos-server-2.5.1.zip包到/root目錄,解壓并移動到指定目錄(192.168.10.43)

unzip nacos-server-2.5.1.zipmv nacos /usr/local/

(2)拷貝nacos數據庫文件到MySQL服務器(192.168.10.43)

scp /usr/local/nacos/conf/mysql-schema.sql root@192.168.10.46:/root

(3)創建用戶和數據庫并導入nacos數據庫文件(192.168.10.46)

登錄MySQL

create user nacos@'192.168.10.%' identified by '123456';grant all on nacos.* to nacos@'192.168.10.%';create database nacos charset utf8mb4;
mysql -unacos -p123456 -h 192.168.10.46 nacos < /root/mysql-schema.sql

驗證

mysql -unacos -p123456 -h 192.168.10.46
show databases;use nacos;show tables;

(4)修改nacos配置文件(192.168.10.43)

vim /usr/local/nacos/conf/application.properties

修改:

(5)啟動nacos服務(192.168.10.43)

單機啟動nacos

sh /usr/local/nacos/bin/startup.sh -m standalone

監控日志

tail -f /usr/local/nacos/logs/start.out

(6)訪問nacos

使用瀏覽器訪問192.168.10.43:8848/nacos

登錄需要輸入用戶和密碼時,均為nacos

3、安裝sentinel(熔斷服務)(192.168.10.43)

Sentinel(哨兵)是阿里巴巴開源的 流量控制熔斷降級系統保護 的輕量級組件,專門用于解決微服務架構中的 高可用性穩定性 問題。

下載地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.8

(1)上傳sentinel-dashboard-1.8.8.jar jar包到/root目錄

(2)啟動sentinel服務

nohup java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port.port=8719 -jar sentinel-dashboard-1.8.8.jar &> /var/log/sentinel.log &ss -anplt | grep 8718

(3)訪問sentinel

使用瀏覽器訪問192.168.10.43:8718

登錄用戶和密碼均為sentinel

4、部署skywalking(鏈路監控服務)(192.168.10.43)

Apache SkyWalking 是一款開源的 應用性能監控(APM)和分布式追蹤系統,專為微服務、云原生和容器化架構設計,幫助開發者快速定位性能瓶頸和故障根因。

官方下載地址:https://archive.apache.org/dist/skywalking/

第三方下載地址(下載速度更快):https://linux.oldxu.net/apache-skywalking-apm-8.8.1.tar.gz

(1)上傳apache-skywalking-apm-8.8.1.tar.gz包到/root目錄,解壓并移動到指定目錄

tar xf apache-skywalking-apm-8.8.1.tar.gzmv apache-skywalking-apm-bin/ /usr/local/

(2)啟動skywalking服務

sh /usr/local/apache-skywalking-apm-bin/bin/startup.sh

ss -anplt | grep java

(3)訪問skywalking

使用瀏覽器訪問192.168.10.43:8080

六、部署微服務

1、克隆ruoyi-cloud源代碼(192.168.10.47)

git clone https://gitee.com/y_project/RuoYi-Cloud.git

2、導入ruoyi相關庫和表

(1)拷貝源代碼中庫文件到mysql服務器(192.168.10.47)

scp -r /root/RuoYi-Cloud/sql/ root@192.168.10.46:/root/

(2)創建數據庫和用戶并導入數據(192.168.10.46)

登錄MySQL

create database `ry-cloud` charset utf8;create database `ry-config` charset utf8;create user root@'192.168.10.%' identified by '123456';grant all on *.* to root@'192.168.10.%';
mysql -uroot -p123456 -h 192.168.10.46 ry-cloud < /root/sql/quartz.sqlmysql -uroot -p123456 -h 192.168.10.46 ry-cloud < /root/sql/ry_20250523.sqlmysql -uroot -p123456 -h 192.168.10.46 ry-config < /root/sql/ry_config_20250224.sql

3、配置nacos(192.168.10.43)

(1)修改配置文件

vim /usr/local/nacos/conf/application.properties

修改:

(2)重啟nacos服務

sh /usr/local/nacos/bin/shutdown.shsh /usr/local/nacos/bin/startup.sh -m standalone

監控日志

tail -f /usr/local/nacos/logs/start.out

(3)訪問nacos

使用瀏覽器訪問192.168.10.43:8848/nacos

4、修改ruoyi源代碼(192.168.10.47)

vim /root/RuoYi-Cloud/ruoyi-auth/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-gateway/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml

修改:

5、編譯ruoyi源代碼

cd /root/RuoYi-Cloud/mvn clean package

6、拷貝所有jar包到service(192.168.10.44)服務器

(1)創建jar包存放目錄(192.168.10.44)

mkdir /ruoyi-service

(2)拷貝jar包(192.168.10.47)

find /root/RuoYi-Cloud/ -name *.jar -exec scp {} 192.168.10.44:/ruoyi-service/ \;

7、使用nacos修改相應服務的yaml文件

(1)修改ruoyi-system-dev.yml

刪除添加:

# spring配置

spring:

? redis:

??? host: 192.168.10.45

??? port: 6379

??? password:

? cloud:

??? sentinel:

????? eager: true

????? transport:

??????? dashboard: 192.168.10.43:8718

? datasource:

??? druid:

????? stat-view-servlet:

??????? enabled: true

??????? loginUsername: admin

??????? loginPassword: 123456

??? dynamic:

????? druid:

??????? initial-size: 5

??????? min-idle: 5

??????? maxActive: 20

??????? maxWait: 60000

??????? timeBetweenEvictionRunsMillis: 60000

??????? minEvictableIdleTimeMillis: 300000

??????? validationQuery: SELECT 1 FROM DUAL

??????? testWhileIdle: true

??????? testOnBorrow: false

??????? testOnReturn: false

??????? poolPreparedStatements: true

??????? maxPoolPreparedStatementPerConnectionSize: 20

??????? filters: stat,slf4j

??????? connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000

????? datasource:

??????? # 主庫數據源

??????? master:

????????? driver-class-name: com.mysql.cj.jdbc.Driver

????????? url: jdbc:mysql://192.168.10.46:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

????????? username: root

????????? password: 123456

??????? # 從庫數據源

??????? # slave:

??????? #?? username:

??????? #?? password:

??????? #?? url:

??????? #?? driver-class-name:

????? # seata: true?? # 開啟seata代理,開啟后默認每個數據源都代理,如果某個不需要代理可單獨關閉

# seata配置

seata:

? # 默認關閉,如需啟用spring.datasource.dynami.seata需要同時開啟

? enabled: false

? # Seata 應用編號,默認為 ${spring.application.name}

? application-id: ${spring.application.name}

? # Seata 事務組編號,用于 TC 集群名

? tx-service-group: ${spring.application.name}-group

? # 關閉自動代理

? enable-auto-data-source-proxy: false

? # 服務配置項

? service:

??? # 虛擬組和分組的映射

??? vgroup-mapping:

????? ruoyi-system-group: default

? config:

??? type: nacos

??? nacos:

????? serverAddr: 127.0.0.1:8848

????? group: SEATA_GROUP

????? namespace:

? registry:

??? type: nacos

??? nacos:

????? application: seata-server

????? server-addr: 127.0.0.1:8848

????? namespace:

# mybatis配置

mybatis:

? # 搜索指定包別名

? typeAliasesPackage: com.ruoyi.system

? # 配置mapper的掃描,找到所有的mapper.xml映射文件

? mapperLocations: classpath:mapper/**/*.xml

# swagger配置

swagger:

? title: 系統模塊接口文檔

? license: Powered By ruoyi

? licenseUrl: https://ruoyi.vip

(2)修改ruoyi-auth-dev.yml

修改添加:

spring:

? redis:

??? host: 192.168.10.45

??? port: 6379

??? password:

? cloud:

??? sentinel:

????? eager: true

????? transport:

??????? dashboard: 192.168.10.43:8718

(3)修改ruoyi-gateway-dev.yml

修改:

(4)修改ruoyi-monitor-dev.yml

8、部署skywalking代理(192.168.10.44)

Apache SkyWalking Java Agent 是 SkyWalking APM(應用性能監控)系統的 Java 探針(Agent),用于 無侵入式 采集 Java 應用的性能數據(如調用鏈路、JVM 指標、SQL 執行情況等),并將數據上報至 SkyWalking OAP 服務器進行分析和可視化展示。

官方下載地址:https://archive.apache.org/dist/skywalking/java-agent/

第三方下載地址(下載速度更快):https://linux.oldxu.net/apache-skywalking-java-agent-8.8.0.tgz

上傳apache-skywalking-java-agent-8.8.0.tgz包到/root目錄,解壓并移動到指定目錄

tar xf apache-skywalking-java-agent-8.8.0.tgzmv skywalking-agent/ /usr/local/

9、啟動服務(192.168.10.44)

(1)啟動ruoyi-system(ruoyi系統模塊)服務

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-system -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-modules-system.jar &>/var/log/system.log &

字段解析:

  • 核心命令

nohup

忽略掛斷信號,確保終端關閉后進程仍運行

&>/var/log/system.log

將標準輸出和錯誤輸出重定向到 /var/log/system.log 文件

&

在后臺運行進程

-jar /ruoyi-service/ruoyi-modules-system.jar

指定啟動的可執行 JAR 文件

  • Java Agent 參數(SkyWalking 監控)

參數

說明

-javaagent:/usr/local/skywalking-agent/skywalking-agent.jar

掛載 SkyWalking Agent,實現無侵入式監控

-Dskywalking.agent.service_name=ruoyi-system

指定服務名(在 SkyWalking UI 中顯示)

-Dskywalking.collector.backend_service=192.168.10.43:11800

SkyWalking OAP 服務器地址,用于接收監控數據

  • 應用配置參數

參數

說明

-Dspring.profiles.active=dev

激活?dev?環境配置(如?application-dev.yml)

-Dspring.cloud.nacos.config.file-extension=yml

指定 Nacos 配置中心的文件格式為 YAML

-Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848

Nacos?注冊中心地址,用于服務注冊與發現

-Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848

Nacos?配置中心地址,用于動態獲取配置(如數據庫連接信息)

監控日志

tail -f /var/log/system.log

查看nacos服務列表

(2)啟動ruoyi-auth(ruoyi認證服務)服務

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-auth -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-auth.jar &>/var/log/auth.log &

監控日志

tail -f /var/log/auth.log

查看nacos服務列表

(3)啟動ruoyi-gateway(ruoyi網關服務)服務

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-gateway -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-gateway.jar &>/var/log/gateway.log &

監控日志

tail -f /var/log/gateway.log

查看nacos服務列表

(4)啟動ruoyi-monitor(ruoyi監控服務)服務

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-monitor -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-visual-monitor.jar &>/var/log/monitor.log &

監控日志

tail -f /var/log/monitor.log

查看nacos服務列表

10、配置ruoyi前端源代碼(192.168.10.47)

(1)修改前端源代碼

指定后端接口IP

vim /root/RuoYi-Cloud/ruoyi-ui/vue.config.js

修改:

(2)使用nodejs構建前端代碼

安裝依賴

cd /root/RuoYi-Cloud/ruoyi-ui/npm install

構建

npm run build:prod

查看構建后生成的文件

ls dist/

11、修改nginx配置文件(192.168.10.42)

vim /usr/local/nginx/conf/nginx.conf

修改添加:

??????????? try_files $uri $uri/ /index.html;location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.10.44:8080/;}

創建網頁目錄

mkdir /ruoyi

重啟nginx服務

systemctl restart nginx

12、拷貝前端代碼到web服務器(192.168.10.47)

scp -r /root/RuoYi-Cloud/ruoyi-ui/dist/ root@192.168.10.42:/ruoyi/

13、訪問前端驗證

使用瀏覽器訪問192.168.10.42

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93762.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93762.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93762.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux網絡服務(一)——計算機網絡參考模型與子網劃分

文章目錄前言一、分層思想1.1 分層的基本概念1.2 點到點與端到端通信的區別二、OSI參考模型2.1 OSI七層模型的結構2.2 各層功能示例&#xff08;以QQ為例&#xff09;2.3 單工&#xff0c;半雙工和全雙工2.4 OSI七層模型總結三、TCP/IP模型3.1 TCP/IP四層與五層模型3.2 TCP/IP協…

Elasticsearch全文檢索中文分詞:IK分詞器詳解與Docker環境集成

目錄一、IK分詞器介紹與選擇1. IK分詞器詳細介紹1.1 基本概念1.2 核心功能1.3 適用場景2. 如果不使用IK分詞器&#xff0c;有哪些替代方案&#xff1f;2.1 默認分詞器的局限性2.2 替代方案及對比2.3 示例&#xff1a;Ngram Tokenizer配置3. 如何選擇分詞器&#xff1f;3.1 決策…

實用軟件推薦

作者給大家推薦兩個軟件&#xff1a;typedown,typora typedown在microsoft上即可下載&#xff0c;免費 如果有更多的需求建議下載typora,typora為付費軟件 typora官網&#xff1a;typora官網 typedown下載&#xff1a;typedown下載 作者曾經發布的一些以"md"為后…

地圖導航怎么測?

地圖導航的測試需要結合功能驗證、性能評估和場景模擬等多維度方法,以下是基于行業標準和實踐的系統化測試方案: 一、核心測試維度與方法 (一)功能測試:覆蓋導航全流程 1、基礎功能驗證 路線規劃:輸入起點 / 終點后,驗證系統是否能生成最短、最快或避開擁堵的路線,并…

力扣70:爬樓梯

力扣70:爬樓梯題目思路代碼題目 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢&#xff1f; 思路 首先我們先列出來前幾個臺階的答案從第一個開始&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;5。…

CoRL 2025|隱空間擴散世界模型LaDi-WM大幅提升機器人操作策略的成功率和跨場景泛化能力

內容源自計算機科研圈在機器人操作任務中&#xff0c;預測性策略近年來在具身人工智能領域引起了廣泛關注&#xff0c;因為它能夠利用預測狀態來提升機器人的操作性能。然而&#xff0c;讓世界模型預測機器人與物體交互的精確未來狀態仍然是一個公認的挑戰&#xff0c;尤其是生…

Rust 入門 生命周期-next2 (十九)

生命周期消除實際上&#xff0c;對于編譯器來說&#xff0c;每一個引用類型都有一個生命周期&#xff0c;那么為什么我們在使用過程中&#xff0c;很多時候無需標注生命周期&#xff1f;例如&#xff1a;fn first_word(s: &str) -> &str {let bytes s.as_bytes();f…

Three.js 動畫循環學習記錄

在上一篇文章中&#xff0c;我們學習了Three.js 坐標系系統與單位理解教程&#xff1a; Three.js 坐標系系統與單位理解教程 接下來我們要學習的是Three.js 的動畫循環 一、動畫循環基礎原理 1. 什么是動畫循環&#xff1f; 動畫循環是連續更新場景狀態并重新渲染的過程&am…

ktg-mes 改造成 Saas 系統

ktg-mes 改造成 Saas 系統 快速檢驗市場&#xff0c;采用最簡單的方案&#xff0c;即添加表字段 截止2025年8月16日上傳的ktg-mes搭建存在一些問題&#xff0c;搭建可看文章&#xff1a; 搭建ktg-mes 改造 1. 添加租戶表 create table sys_tenant (tenant_id bigint au…

【新手易混】find 命令中 -perm 選項的知識點

find 命令是 Linux/Unix 系統中強大的文件查找工具&#xff0c;廣泛用于根據文件名、類型、時間、權限等條件搜索文件。其中&#xff0c;-perm 選項用于按文件權限查找文件&#xff0c;而在 -perm /mode 中出現的斜杠 / 是一種特殊的語法&#xff0c;表示“按位或&#xff08;O…

gdb的load命令和傳給opeocd的monitor flash write_image erase命令的區別

問&#xff1a; "monitor flash write_image erase ${workspaceFolder}/obj/ylad_led_blink.elf", 和 "load", "executable" : "${workspaceFolder}/obj/ylad_led_blink.elf", 的區別&#xff1f;答&#xff1a; 你提到的 "monit…

1. Docker的介紹和安裝

文章目錄1. Docker介紹核心概念核心優勢與虛擬機的區別一句話總結2. Docker的安裝Windows 10/11 安裝 Docker Desktop&#xff08;推薦 WSL2 方式&#xff09;Linux&#xff08;以 Ubuntu / Debian 系為例&#xff09;Docker 是一個開源的容器化平臺&#xff0c;它允許開發者將…

fastdds.ignore_local_endpoints 屬性

Fast DDS 的 fastdds.ignore_local_endpoints 屬性用于控制同一 DomainParticipant 下的本地端點&#xff08;即 DataWriter 和 DataReader&#xff09;是否自動匹配。以下是對該功能的詳細解釋&#xff0c;并翻譯為中文&#xff0c;結合其上下文、實現原理和使用場景&#xff…

華清遠見25072班C語言學習day11

重點內容:函數&#xff1a;定義&#xff1a;返回值類型 函數名(參數列表) { //函數體 }函數的參數列表中可以有多個數據返回值&#xff1a;如果函數沒有返回值可以寫成void 返回值的作用&#xff0c;函數的結果用來返回給主調函數的&#xff0c;如果主調函數處不需要函數的結果…

視覺語言導航(7)——VLN的數據集和評估方法 3.2

這是課上做的筆記&#xff0c;因此很多記得比較急&#xff0c;之后會逐步完善&#xff0c;每節課的邏輯流程寫在大綱部分。成功率(SR)導航誤差(NE)成功加權路徑長度&#xff08;SucceedPLength&#xff09;軌跡長度&#xff08;TL&#xff09;先知成功率&#xff08;OS&#xf…

ElasticSearch不同環境同步索引數據

目的&#xff1a;在生產環境把一個索引的數據同步到測試環境中1、在生產環境導出json數據curl -u "adims_user:xkR%cHwR5I9g" -X GET "http://172.18.251.132:9200/unify_info_mb_sp_aggregatetb_0004/_search?scroll1m" -H Content-Type: applicatio…

咨詢進階——解讀咨詢顧問技能模型

適應人群為咨詢行業從業者、咨詢團隊管理者、想提升咨詢技能的職場人士及咨詢公司培訓人員。主要內容圍繞咨詢顧問技能模型展開,核心包括五大核心能力(解決問題能力,涵蓋洞察力、分析技巧、問題構建等,從識別問題實質到構建新分析方法分層次闡述;管理能力,涉及管理他人與…

2025年- H98-Lc206--51.N皇后(回溯)--Java版

1.題目描述2.思路 二維數組集合 (1&#xff09;N皇后規則 1&#xff09;不能同行&#xff08;同一行不能出現2個皇后&#xff09; 2&#xff09;不能同列&#xff08;同一列不能出現2個皇后&#xff09; 3&#xff09;不能說45度或135度&#xff08;斜對角線不能出現2個皇后&am…

5G + AI + 云:電信技術重塑游戲生態與未來體驗

在數字娛樂蓬勃發展的今天&#xff0c;游戲產業已然成為科技創新的前沿陣地。電信網絡也經歷了一場深刻的蛻變&#xff0c;從最初僅僅是 “內容傳輸管道”&#xff0c;搖身一變成為與游戲深度綁定的技術共生體。5G 不斷刷新著體驗的邊界&#xff0c;AI 徹底顛覆傳統的創作模式&…

【React Hooks】封裝的藝術:如何編寫高質量的 React 自-定義 Hooks

【React Hooks】封裝的藝術&#xff1a;如何編寫高質量的 React 自-定義 Hooks 所屬專欄&#xff1a; 《前端小技巧集合&#xff1a;讓你的代碼更優雅高效》 上一篇&#xff1a; 【React State】告別 useState 濫用&#xff1a;何時應該選擇 useReducer 作者&#xff1a; 碼力…