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

Centos7安装ZK-UI管理界面安装|Maven|Git|

 一: JDK1.8安装

参考:  Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端

二:Maven安装

2.1:下载maven安装包 

maven 下载地址:https://mirror.bit.edu.cn/apache/maven/maven-3/ 

[root@www ~]# mkdir -p /usr/local/maven
[root@www ~]# cd /usr/local/tools
[root@www tools]# wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
--2023-08-27 12:44:30--  https://mirror.bit.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
正在解析主机 mirror.bit.edu.cn (mirror.bit.edu.cn)... 2001:da8:204:1205::22
正在连接 mirror.bit.edu.cn (mirror.bit.edu.cn)|2001:da8:204:1205::22|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:8296049 (7.9M) [application/octet-stream]
正在保存至: “apache-maven-3.8.8-bin.tar.gz”

100%[===========================================================================================================================================================================================================>] 8,296,049   3.84MB/s 用时 2.1s   

2023-08-27 12:44:32 (3.84 MB/s) - 已保存 “apache-maven-3.8.8-bin.tar.gz” [8296049/8296049])
 



2.2: 解压maven安装包到/usr/local/maven目录 

[root@www tools]# ll
总用量 8972
-rw-r--r--  1 root root 8296049 3月   8 22:09 apache-maven-3.8.8-bin.tar.gz
-rw-r--r--. 1 root root  887908 12月  9 2015 nginx-1.9.9.tar.gz
[root@www tools]# tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/maven/
 

[root@www maven]# ll
总用量 0
drwxr-xr-x 6 root root 99 8月  27 12:45 apache-maven-3.8.8
[root@www maven]# cd apache-maven-3.8.8/
[root@www apache-maven-3.8.8]# clear
[root@www apache-maven-3.8.8]# pwd
/usr/local/maven/apache-maven-3.8.8
[root@www apache-maven-3.8.8]# echo 'export PATH=/usr/local/maven/apache-maven-3.8.8/bin:$PATH' >>/etc/profile
[root@www apache-maven-3.8.8]# source /etc/profile
 

 2.3: 配置阿里云仓库镜像

[root@www conf]# pwd
/usr/local/maven/apache-maven-3.8.8/conf

[root@www conf]# mkdir -p /usr/local/maven/repository

[root@www conf]#  vi settings.xml 

<!--找到</mirrors>节点添加即可-->

   <mirror>
       <id>alimaven</id>
         <name>aliyun maven</name>
         <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
         <mirrorOf>central</mirrorOf>
    </mirror>
 


三: 在线安装Git

[root@www conf]# yum install git -y
[root@www conf]# git --version
git version 1.8.3.1
 

四: 安装zookeeper服务 

参考:使用Xshell7控制多台服务同时安装ZK最新版集群服务 

 五: 安装zkui

下载地址: mirrors / DeemOpen / zkui · GitCode

[root@www conf]# mkdir -p /usr/local/zkui

[root@www zkui]# git clone https://gitcode.net/mirrors/DeemOpen/zkui.git

[root@www zkui]# cd zkui/
[root@www zkui]# mvn clean install -DskipTests

 看到如图所示,即打包成功了;

六: 准备配置文件并启动服务

[root@www zkui]# cat config.cfg 
#Server Port
serverPort=9999
#Comma seperated list of all the zookeeper servers
zkServer=192.168.1.100:2181,192.168.1.101:2181,192.168.1.102:2181




[root@www zkui]# pwd
/usr/local/zkui/zkui
[root@www zkui]# ll
总用量 108
-rw-r--r-- 1 root root  2385 8月  27 13:46 config.cfg
drwxr-xr-x 2 root root    61 8月  27 13:46 docker
drwxr-xr-x 2 root root   114 8月  27 13:46 images
-rw-r--r-- 1 root root 11358 8月  27 13:46 LICENSE-2.0.txt
-rw-r--r-- 1 root root   416 8月  27 13:46 Makefile
-rw-r--r-- 1 root root  1746 8月  27 13:46 nbactions.xml
-rw-r--r-- 1 root root  5374 8月  27 13:46 pom.xml
-rw-r--r-- 1 root root  6216 8月  27 13:46 README.md
-rwxr-xr-x 1 root root    43 8月  27 13:46 run.sh
drwxr-xr-x 4 root root    30 8月  27 13:46 src
drwxr-xr-x 7 root root   205 8月  27 14:07 target
-rw-r--r-- 1 root root 43008 8月  27 14:09 zkui.h2.db
-rw-r--r-- 1 root root   848 8月  27 14:07 zkui.out
-rw-r--r-- 1 root root 11065 8月  27 14:09 zkui-out.log
-rwxr-xr-x 1 root root  1252 8月  27 13:51 zkui.sh

七: 脚本启动:

[root@www zkui]# cat zkui.sh
#!/usr/bin/env bash

PIDFILE=~/zkui.pid
ZKUIBINDIR=$(cd `dirname $0`; pwd)
ZKUICLASSNAME="target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar"
ZKUI_DAEMON_OUT=$ZKUIBINDIR/zkui.out

start(){
    echo  "Starting zkui ... $ZKUIBINDIR"
    if [ -f "$PIDFILE" ]; then
        if kill -0 `cat "$PIDFILE"` > /dev/null 2>&1; then
            echo zkui already running as process `cat "$PIDFILE"`. 
            exit 0
        fi
    fi
    cp config.cfg target
    nohup java -jar "$ZKUIBINDIR/$ZKUICLASSNAME" > "$ZKUI_DAEMON_OUT" 2>&1 < /dev/null &
    if [ $? -eq 0 ];
    then
        echo $!>$PIDFILE
        if [ $? -eq 0 ];
        then
            sleep 1
            echo STARTED
        else
            echo FAILED TO WRITE PID
            exit 1
        fi
    else
        echo SERVER DID NOT START
        exit 1
    fi
}

stop(){
    echo -n "Stopping zkui ... "
    if [ ! -f "$PIDFILE" ]
    then
        echo "no zkui to stop (could not find file $PIDFILE)"
    else
        kill -9 $(cat "$PIDFILE")
        rm "$PIDFILE"
        echo STOPPED
    fi
    exit 0
}

case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    shift
    "$0" stop
    sleep 3
    "$0" start
    ;;
*)
    echo "Usage: $0 {start|stop|restart}" >&2
esac
 

 执行命令启动服务

[root@www zkui]# ll
总用量 108
-rw-r--r-- 1 root root  2385 8月  27 13:46 config.cfg
drwxr-xr-x 2 root root    61 8月  27 13:46 docker
drwxr-xr-x 2 root root   114 8月  27 13:46 images
-rw-r--r-- 1 root root 11358 8月  27 13:46 LICENSE-2.0.txt
-rw-r--r-- 1 root root   416 8月  27 13:46 Makefile
-rw-r--r-- 1 root root  1746 8月  27 13:46 nbactions.xml
-rw-r--r-- 1 root root  5374 8月  27 13:46 pom.xml
-rw-r--r-- 1 root root  6216 8月  27 13:46 README.md
-rwxr-xr-x 1 root root    43 8月  27 13:46 run.sh
drwxr-xr-x 4 root root    30 8月  27 13:46 src
drwxr-xr-x 7 root root   205 8月  27 14:07 target
-rw-r--r-- 1 root root 43008 8月  27 14:09 zkui.h2.db
-rw-r--r-- 1 root root   848 8月  27 14:07 zkui.out
-rw-r--r-- 1 root root 11065 8月  27 14:09 zkui-out.log
-rwxr-xr-x 1 root root  1252 8月  27 13:51 zkui.sh
[root@www zkui]# ./zkui.sh stop 
Stopping zkui ... STOPPED
[root@www zkui]# ./zkui.sh start
Starting zkui ... /usr/local/zkui/zkui
STARTED

查看启动端口:

[root@www zkui]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8877            0.0.0.0:*               LISTEN      1174/nginx: master  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      654/rpcbind         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1136/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1411/master         
tcp6       0      0 :::9999                 :::*                    LISTEN      3642/java           
tcp6       0      0 :::111                  :::*                    LISTEN      654/rpcbind         
tcp6       0      0 :::22                   :::*                    LISTEN      1136/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1411/master         
 


[root@www zkui]# cd target/
[root@www target]# ll
总用量 13556
drwxr-xr-x 2 root root        6 8月  27 13:47 archive-tmp
drwxr-xr-x 5 root root      101 8月  27 13:47 classes
-rw-r--r-- 1 root root     2385 8月  27 14:13 config.cfg
drwxr-xr-x 4 root root       49 8月  27 13:47 generated-sources
drwxr-xr-x 2 root root       28 8月  27 13:47 maven-archiver
drwxr-xr-x 3 root root       17 8月  27 13:47 test-classes
-rw-r--r-- 1 root root   277078 8月  27 13:47 zkui-2.0-SNAPSHOT.jar
-rw-r--r-- 1 root root 13595676 8月  27 13:47 zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
[root@www target]# ps -ef |grep zkui
root       5176      1  1 14:13 pts/0    00:00:24 java -jar /usr/local/zkui/zkui/target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
root       5448   1737  0 14:36 pts/0    00:00:00 grep --color=auto zkui
 

八:浏览器访问:

http://192.168.1.111:9999/login

输入: admin/manager  登录

九: “stat is not executed because it is not in the whitelist.” 异常解决 

原因
zookeeper.4lw.commands.whitelist:3.4.10中的新增功能:此属性包含以逗号分隔的四个字母单词命令的列表。引入它是为了对ZooKeeper可执行的命令集提供精细的控制,因此用户可以在必要时关闭某些命令。默认情况下,如果未指定该属性,则它包含所有受支持的四个字母单词命令,但“ wchp”和“ wchc”除外。如果指定了属性,则仅启用白名单中列出的命令。
 

解决方案:  在zoo.cfg文件中添加

zookeeper配置中新增

4lw.commands.whitelist=*


点击Monitor:  

十: 修改后重启,再次查看 


Server: 192.168.1.100:2181



Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/192.168.1.111:50992[1](queued=0,recved=9,sent=9)
/192.168.1.111:50994[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/2.8889/10
Received: 11
Sent: 10
Connections: 2
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
Environment:
zookeeper.version=3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
host.name=docker0
java.version=1.8.0_371



Server: 192.168.1.101:2181



Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/192.168.1.111:54260[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
Environment:
zookeeper.version=3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
host.name=docker1
java.version=1.8.0_371



Server: 192.168.1.102:2181



Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
/192.168.1.111:40514[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: leader
Node count: 7
Proposal sizes last/min/max: 48/48/48
Environment:
zookeeper.version=3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
host.name=docker2
java.version=1.8.0_371

可以看到Zookeeper集群已经纳入监控 

[root@www ~]# echo stat |nc localhost 2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
 /0:0:0:0:0:0:0:1:49704[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: leader
Node count: 7
Proposal sizes last/min/max: 48/48/48
 


[root@www conf]# echo stat |nc localhost 2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
 /0:0:0:0:0:0:0:1:33244[0](queued=0,recved=1,sent=0)
 /192.168.1.111:50992[1](queued=0,recved=58,sent=58)

Latency min/avg/max: 0/1.1207/10
Received: 62
Sent: 61
Connections: 2
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
 


[root@www ~]# echo stat |nc localhost 2181
Zookeeper version: 3.9.0-1674a5e97f43bc38e9bf56b04f83a7ae34d68249, built on 2023-07-19 09:09 UTC
Clients:
 /0:0:0:0:0:0:0:1:33320[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x400000002
Mode: follower
Node count: 7
 

相关文章:

Centos7安装ZK-UI管理界面安装|Maven|Git|

一: JDK1.8安装 参考: Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端 二&#xff1a;Maven安装 2.1&#xff1a;下载maven安装包 maven 下载地址&#xff1a;https://mirror.bit.edu.cn/apache/maven/maven-3/ [rootwww ~]# mkdir -p /usr/local/maven [rootwww ~]# …...

C语言日常刷题7

文章目录 题目答案与解析1234567 题目 1、如下程序的运行结果是&#xff08; &#xff09; char c[5]{a, b, \0, c, \0}; printf("%s", c)A: ‘a’ ‘b’ B: ab\0c\0 C: ab c D: ab 2、若有定义&#xff1a; int a[2][3]; &#xff0c;以下选项中对 a 数组元素正确…...

037 - 有关时间和日期的函数方法

文档&#xff1a;MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions​​​​​​ 以下为案例&#xff0c;更多内容可查看文档 返回当前日期&#xff1a; CURDATE() 返回当前时间&#xff1a; CURTIME() 返回当前日期和时间&#xff1a; NOW() 返回年份&a…...

(JAVA)树——tree

...

js判断对象是否为空对象的方法总结

js判断对象是否为空对象的方法总结 方法1&#xff1a;JSON.stringify()方法方法2&#xff1a;for in方法方法3&#xff1a;Object.keys()方法方法4&#xff1a;Object.getOwnPropertyNames()方法方法5&#xff1a;jquery 的 isEmptyObject()方法 在面试或者开发过程中&#xff…...

LeetCode1049. 最后一块石头的重量 II

1049. 最后一块石头的重量 II 文章目录 [1049. 最后一块石头的重量 II](https://leetcode.cn/problems/last-stone-weight-ii/)一、题目二、题解方法一&#xff1a;01背包二维数组算法思路具体实现 方法二&#xff1a;01背包一维数组 一、题目 有一堆石头&#xff0c;用整数数…...

universal robot 机械臂 官方基本教程

https://academy.universal-robots.cn/modules/e-Series-core-track/Chinese/module3/story_html5.html?courseId2166&languageChinese 教程1 控制箱内部 包含&#xff1a; 主机板&#xff0c;SD卡&#xff0c;和安全控制板 安全控制板负责所有控制信息&#xff0c;包括…...

网络常见安全漏洞

引言 随着互联网的迅猛发展&#xff0c;网络安全问题日益严重。在网络世界中&#xff0c;各种常见的安全漏洞给人们的通信和数据安全带来了巨大的威胁。本文将介绍一些常见的网络安全漏洞&#xff0c;并提供一些防范措施。 1. XSS&#xff08;跨站脚本攻击&#xff09; 跨站…...

【JS案例】JS实现图片放大镜功能

JS案例图片放大镜 &#x1f31f;效果展示 &#x1f31f;HTML结构 &#x1f31f;CSS样式 &#x1f31f;实现思路 &#x1f31f;具体实现 1.初始化数据图片 2.获取所需DOM元素 3.初始化页面 初始化缩略图 绑定事件 &#x1f31f;完整代码 &#x1f31f;写在最后 &…...

linux centos7 bash中字符串反向输出

给定一个字符串&#xff0c;如何反向(倒序)输出&#xff1f; 字符串反转的方法&#xff1a;a.对各个字符位置进行循环调换&#xff08;从原字符串左边取出放在新字符串的右边&#xff1b;从原字符串右边取出放在新字符串的左边&#xff09;。b.对各个字符由水平排列转为垂直排…...

c++:QT day1 认识与学习

...

git rebase和merge区别

一、概述 merge和rebase 标题上的两个命令&#xff1a;merge和rebase都是用来合并分支的。 这里不解释rebase命令&#xff0c;以及两个命令的原理&#xff0c;详细解释参考这里。 下面的内容主要说的是两者在实际操作中的区别。 1.1 什么是分支 分支就是便于多人在同一项目…...

Vue插槽实现商品列表-编辑渲染

商品列表 文章目录 商品列表核心步骤创建组件 1. MyTag组件详细步骤双击显示&#xff0c;自动聚焦失去焦点&#xff0c;隐藏输入框回显标签信息回车修修改内容&#xff0c;同时隐藏输入框 MyTable组件详细步骤1-动态的设置整个表格的数据 &#xff1a; props2-实现自定义结构-插…...

Vue开发之父子组件

创建父子组建&#xff0c;分三步。一是创建文件&#xff0c;二是引入组建&#xff0c;三是组件间通信。在components目录下新建sub文件夹&#xff0c;用于存放一下可以复用的子组件。比如新建一个SubCon.vue组件 <template><div class"first-app">{{ ms…...

fastadmin think-queue supervisor配置

起因是微信支付回调需要同时做发货处理&#xff0c;但是发货接口不能影响,需要队列进行异步处理1. 1.fastadmin 后台购买queue插件(基于think-queue消息队列) 2.代码 2.1 添加文件&#xff1a;application---->extra--->queue.php 内容&#xff1a;我这里用的数据库做…...

STM32 进不了main 函数

1. 我用的是STM32L151C8T6 的芯片&#xff0c;在github 上找了个别人的例程&#xff0c;拿来当模板改&#xff0c;由于他用的是HSE 外部晶振&#xff0c;我用的是内部晶振HSI&#xff0c;所以需要改系统时钟&#xff0c;改完后debug&#xff0c; 一直进不了main 函数&#xff0…...

不用循环数组,js+html实现贪吃蛇

功能描述&#xff1a;每走10步随机改变一个方方向&#xff0c;当键盘按下方向键 w,s,a,d时&#xff0c;使用键盘方向控制蛇的移动&#xff0c;蛇头每撞到一次自身时改变屏幕颜色&#xff0c;蛇头碰到边界时从另一边回来。 实现思路&#xff1a;用个30大小的数组存放每个结点&a…...

什么是线程安全和线程不安全?

线程安全(Thread Safety)和线程不安全(Thread Unsafety)是与并发编程相关的概念,特别是在多线程环境中使用共享资源时会涉及到这些概念。 线程安全: 当多个线程同时访问共享资源时,如果在没有额外的同步措施的情况下,这些线程仍然能够正确地执行并保持数据的一致性,那…...

VUE笔记(十)Echarts

一、Echarts简介 1、什么是echarts ECharts是一款基个基于 JavaScript 的开源可视化图表库 官网地址&#xff1a;Apache ECharts 国内镜像&#xff1a;ISQQW.COM x ECharts 文档&#xff08;国内同步镜像&#xff09; - 配置项 示例&#xff1a;echarts图表集 2、第一个E…...

FPGA原理与结构——时钟IP核原理学习

一、前言 在之前的文章中&#xff0c;我们介绍了FPGA的时钟结构 FPGA原理与结构——时钟资源https://blog.csdn.net/apple_53311083/article/details/132307564?spm1001.2014.3001.5502 在本文中我们将学习xilinx系列的FPGA所提供的时钟IP核&#xff0c;来帮助我们进一…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...