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

在线教育网站项目第四步:deepseek骗我, WSL2不能创建两个独立的Ubuntu,但我们能实现实例互访及外部访问

一、说明

上一章折腾了半天,搞出不少问题,今天我们在deepseek的帮助下,完成多个独立ubuntu24.04实例的安装,并完成固定ip,实践证明,deepseek不靠谱,浪费我2个小时时间,我们将在下面实现,其实网上有很多信息比较旧

计划安装实例已经端口IP分配表

服务器配置表
服务器顺序服务器名IP地址端口主机名说明
1mysql192.168.1.15

3306; ssh:2221

mysql关系型数据库
2redis6379; ssh:2222非关系型数据库
3kkfileview8012; ssh:2223kkfileview

在线文件预览

4elasticsearch9200; ssh:2224elasticsearch搜索和数据分析模型
4kibana5601; ssh:2224kibanaKibana 是为Elasticsearch设计的开源分析和可视化平台
5minio

服务端口:9000

控制台:9001

; ssh:2225

minio对象存储
6nacos

注册中心:8848

控制台:9848

; ssh:2226

nacos动态服务发现、配置管理和服务管理平台
7xxl-job-admin8080; ssh:2227xxl-job-admin分布式任务调平台
8

seata

; ssh:2228seata分布式事务
9roncoo-education-gateway7700; ssh:2229roncoo-education-gateway在线教育网关服务
9roncoo-education-system7710; ssh:2229roncoo-education-system在线教育系统服务
9roncoo-education-user7720; ssh:2229roncoo-education-user在线教育用户服务
9roncoo-education-course
7730; ssh:2229
roncoo-education-course在线教育课程服务
一共9台服务器

推荐使用WSLMan 管理工具

Release v0.1.1.0 · jet2jet/WSLMan

二、安装Ubuntu-24.04

1、建立配置文件.wslconfig

在宿主机win11的登录用户目录下,建立文件.wslconfig,添加内容:

[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

[boot]
systemd=true

2、选择安装新的分发

3、选择ubuntu24.04 

4、安装

安装过程 

 安装完成

5、启动,添加用户密码

ip地址很有意思,192.168.1.15 是我主机的ip,也就是win11的地址,我们在上一篇文章中可不是这样的, 刚才我们建立的9台虚拟机ip地址都是一样,据说宿主机可以通过localhost访问所有的机器,这个就是添加了全局的.wslconfig有的效果,具体配置可以查资料,上面我们已经添加了

6、安装ssh

修改默认登录用户为x58win
sudo vi /etc/wsl.conf
添加内容
[user]
default=x58win
[boot]
systemd=true

 重启wsl

 

# 安装
sudo apt-get update
sudo apt-get install openssh-server##有错误,ssh.socket 是 systemd 的套接字单元,用于按需启动 SSH 服务(当有连接时启动)
Could not execute systemctl:  at /usr/bin/deb-systemd-invoke line 148.
dpkg: error processing package openssh-server (--configure):installed openssh-server package post-installation script subprocess returned error exit status 1##解决方案
sudo systemctl stop ssh.socket      # 停止套接字
sudo systemctl disable ssh.socket   # 禁用开机启动## 修改端口
sudo vi /etc/ssh/sshd_config
#Port 22 改为
Port 2220sudo systemctl start ssh
sudo systemctl status ssh
sudo systemctl enable ssh

x58win@x58:~$ sudo vi /etc/ssh/sshd_config
x58win@x58:~$
x58win@x58:~$ sudo systemctl start ssh
x58win@x58:~$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-03-19 18:19:16 CST; 10s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 409 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 411 (sshd)
      Tasks: 1 (limit: 9510)
     Memory: 1.2M (peak: 1.6M)
        CPU: 48ms
     CGroup: /system.slice/ssh.service
             └─411 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

Mar 19 18:19:16 x58 systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
Mar 19 18:19:16 x58 sshd[411]: Server listening on 0.0.0.0 port 2220.
Mar 19 18:19:16 x58 sshd[411]: Server listening on :: port 2220.
Mar 19 18:19:16 x58 systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
x58win@x58:~$ sudo systemctl enable ssh
Synchronizing state of ssh.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable ssh
x58win@x58:~$

x58win@x58:~$ sudo ss -tulpn | grep ':2220'
tcp   LISTEN 0      128           0.0.0.0:2220      0.0.0.0:*    users:(("sshd",pid=411,fd=3))
tcp   LISTEN 0      128              [::]:2220         [::]:*    users:(("sshd",pid=411,fd=4))

测试 

在win11 测试

ssh x58win@localhost -p 2220

PS C:\Windows\system32> ssh x58win@localhost -p 2220
The authenticity of host '[localhost]:2220 ([127.0.0.1]:2220)' can't be established.
ED25519 key fingerprint is SHA256:OvWuU6KZCq7AyIGzUwvNGsBwbnr3MlmnQ6knrTs9lwE.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:2220' (ED25519) to the list of known hosts.
x58win@localhost's password:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.6.75.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Wed Mar 19 18:23:50 CST 2025

  System load:  0.0                 Processes:             29
  Usage of /:   0.1% of 1006.85GB   Users logged in:       1
  Memory usage: 5%                  IPv4 address for eth0: 192.168.1.15
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge
x58win@x58:~$ ls

在其它局域网,非宿主机win11

ssh x58win@192.168.1.15 -p 2220
# 就这样是不能连接的,有防火墙打开2220转发
New-NetFirewallRule -DisplayName "WSL2 x58 ssh" -Direction Inbound -LocalPort 2220 -Action Allow -Protocol TCP
netsh interface portproxy show v4tov4

C:\Users\x230win10>ssh x58win@192.168.1.15 -p 2220
The authenticity of host '[192.168.1.15]:2220 ([192.168.1.15]:2220)' can't be established.
ED25519 key fingerprint is SHA256:OvWuU6KZCq7AyIGzUwvNGsBwbnr3MlmnQ6knrTs9lwE.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '[192.168.1.15]:2220' (ED25519) to the list of known hosts.
x58win@192.168.1.15's password:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.6.75.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Wed Mar 19 18:36:44 CST 2025

  System load:  0.03                Processes:             34
  Usage of /:   0.1% of 1006.85GB   Users logged in:       1
  Memory usage: 5%                  IPv4 address for eth0: 192.168.1.15
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge
Last login: Wed Mar 19 18:23:51 2025 from 127.0.0.1
x58win@x58:~$

 好,OK,搞了不少时间,那个ssh.socket的错误,在ubuntu 22上直接显示是这个错误,而ubuntu24上没有指名,ssh是必须安装的所以我们先装了

7、安装docker和docker-compose

按照前面的文章安装就行

在线教育网站项目第二步 :学习Vue3 + Nuxt3+springcloud,服务器为ubuntu24.04-CSDN博客https://blog.csdn.net/jiangkp/article/details/145995259

8、导出发行版

先expert出来,然后再import

选个目录,如果启动了,需要shutdown WSL 

点击ok开始expert ,abort是停止运行

 最后变为close,直接关闭即可

9、注销Ubuntu-24.04

注销掉就都没了,可以回去看看那个appdata目录下的东西都没有

原来安装的发行版没有了 

目录下了也没有东西了

二、安装9台的服务器

mysql
redis
kkfileview
elasticsearch
minio
nacos
xxl-job-admin
seata
roncoo-education

选择上面导出的虚拟机,分发名字自己要安装虚拟机名字,自己要安装的地址

 开始安装

 完成

  

 下面再建立8个,完全为了测试

三、配置各个实例

1、进入实例

先选下用户

比方说进入redis,看下面

2、查点想查的东西 

x58win@x58:~$ docker --version
Docker version 28.0.1, build 068a01e
x58win@x58:~$ docker-compose --version
Docker Compose version v2.33.1
x58win@x58:~$ sudo systemctl status ssh
[sudo] password for x58win:
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-03-19 19:16:44 CST; 49s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 198 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 214 (sshd)
      Tasks: 1 (limit: 9510)
     Memory: 2.1M (peak: 2.5M)
        CPU: 91ms
     CGroup: /system.slice/ssh.service
             └─214 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

Mar 19 19:16:44 x58 systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
Mar 19 19:16:44 x58 sshd[214]: Server listening on 0.0.0.0 port 2220.
Mar 19 19:16:44 x58 sshd[214]: Server listening on :: port 2220.
Mar 19 19:16:44 x58 systemd[1]: Started ssh.service - OpenBSD Secure Shell server.

3、修改主机名

sudo vi /etc/wsl.conf[network]
hostname = mysql  # 替换为你想要的主机名
generateHosts = false           # 阻止 WSL 自动生成 hosts 文件

更新 /etc/hosts 添加互相解析

sudo vi /etc/hosts

将x58 改为mysql

4、修改ssh端口


sudo sed -i 's/Port 2220/Port 2221/' /etc/ssh/sshd_config对应端口在这里,22开头的就是ssh地址
"mysql8" = 2221,3306
"redis" = 2222,6379
"kkfileview" = 2223,8012
"elasticsearch" = 2224,9200,5601
"minio" = 2225,9000,9001
"nacos" = 2226,8848,9848
"xxl-job-admin" = 2227,8080
"seata" = 2228,8091
"roncoo-education" = 2229,7700,7710,7720,7730

重启 

PS C:\Windows\system32> ssh x58win@192.168.1.15 -p 2221
The authenticity of host '[192.168.1.15]:2221 ([192.168.1.15]:2221)' can't be established.
ED25519 key fingerprint is SHA256:OvWuU6KZCq7AyIGzUwvNGsBwbnr3MlmnQ6knrTs9lwE.
This host key is known by the following other names/addresses:
    C:\Users\x230win10/.ssh/known_hosts:1: [192.168.1.15]:2220
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '[192.168.1.15]:2221' (ED25519) to the list of known hosts.
x58win@192.168.1.15's password:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.6.75.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Wed Mar 19 19:55:45 CST 2025

  System load:  0.23                Processes:             31
  Usage of /:   0.2% of 1006.85GB   Users logged in:       1
  Memory usage: 5%                  IPv4 address for eth0: 192.168.1.15
  Swap usage:   0%

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge
Last login: Wed Mar 19 18:51:19 2025 from 192.168.1.8
x58win@mysql:~$ hostname
mysql

5、每个ubuntu24.04实例都要来一遍 

四、配置Windows防火墙和端口转发

创建脚本 MakeWslPort.ps1

# powershell.exe -ExecutionPolicy Bypass -File "D:\wsl\Script\MakeWslPort.ps1"# 脚本功能:为WSL实例分配固定IP并配置端口转发
$wslInstances = @("mysql", "redis","kkfileview","elasticsearch","minio","nacos","xxl-job-admin","seata","roncoo-education")
$ports = 80,443,2221,2222,2223,2224,2225,2226,2227,2228,2229,3306,6379,8012,9200,5601,9000,9001,8848,9848,8080,7700,7710,7720,7730netsh interface portproxy reset # 清除所有端口转发规则# 这里不需要添加
#foreach ($port in $ports) {
#	echo $port
#	netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$port #connectaddress= 192.168.1.15 connectport=$port # netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=443 #connectaddress=192.168.1.100 connectport=443
}# 开放 TCP 端口 
New-NetFirewallRule -DisplayName "WebServer" -Direction Inbound -Protocol TCP -LocalPort 80,443,2221-2229,3306,6379,8012,9200,5601,9000,9001,8848,9848,8080,7700,7710,7720,7730 -Action Allownetsh interface portproxy show v4tov4

# 在win11 管理员ps命令行下 

powershell.exe -ExecutionPolicy Bypass -File "D:\wsl\Script\MakeWslPort.ps1"

    相关文章:

    在线教育网站项目第四步:deepseek骗我, WSL2不能创建两个独立的Ubuntu,但我们能实现实例互访及外部访问

    一、说明 上一章折腾了半天,搞出不少问题,今天我们在deepseek的帮助下,完成多个独立ubuntu24.04实例的安装,并完成固定ip,实践证明,deepseek不靠谱,浪费我2个小时时间,我们将在下面实…...

    AI安全、大模型安全研究(DeepSeek)

    DeepSeek 点燃AI应用革命之火,但安全 “灰犀牛” 正在逼近 DeepSeek-R1国产大模型的发布,以技术创新惊艳了全球,更是极致的性价比推动国内千行百业接入 AI,政府、企业竞速开发智能业务处理、智能客服、代码生成、营销文案等应用,“落地效率” 成为第一关键词。然而与此相…...

    (hash表+vector 数位和相等数对的最大和)leetcode 2342

    一定要断点调试看看数据对不对的上!!!不然很容易弄不清楚值和下标 这个题意思是在nums中找出相同数位和的值 如 数位和为7 nums中符合要求的有 43,7 在这些数中选两个相加取最大值,再与其他数位和取得的相加最大值比…...

    正则表达式引擎深入探讨

    正则表达式引擎(Regular Expression Engine)是正则表达式得以“活起来”的核心。它是一个精密的软件组件,负责接收正则表达式和输入文本,解析模式并执行匹配或替换操作,最终输出结果——可能是简单的“是否匹配”&…...

    [蓝桥杯 2023 省 B] 飞机降落(不会dfs的看过来)

    [蓝桥杯 2023 省 B] 飞机降落 题目描述 N N N 架飞机准备降落到某个只有一条跑道的机场。其中第 i i i 架飞机在 T i T_{i} Ti​ 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 D i D_{i} Di​ 个单位时间,即它最早可以于 T i T_{i} Ti​ 时刻…...

    DockerTLS加密/不加密传输

    前言: 在Docker容器的网络通信中,安全性是至关重要的。DockerTLS作为一种加密传输协议,通过为Docker守护进程与客户端之间的通信提供加密层,有效防止数据在传输过程中被窃取或篡改。然而,在某些特定场景下,…...

    基于微信小程序的充电桩管理系统

    一、开发背景 在开发充电汽车管理系统之前,深入的需求分析至关重要。我们要充分了解不同用户群体的需求,比如私家车主希望充电过程便捷、高效、安全,能够实时查看充电状态和费用明细;出租车、网约车司机则更注重充电速度和充电桩…...

    Excel导出工具类--复杂的excel功能导出(使用自定义注解导出)

    Excel导出工具类 前言: 简单的excel导出,可以用easy-excel, fast-excel, auto-poi,在导出实体类上加上对应的注解,用封装好的工具类直接导出,但对于复杂的场景, 封装的工具类解决不了,要用原生的excel导出(easy-excel, fast-excel, auto-poi都支持原生的) 业务场景: 根据…...

    创新实训项目初始化——gitee的使用

    创新实训项目管理采用gitee,写下这篇博客熟悉gitee进行项目创建和版本同步 一、gitee概述 Gitee 是一个基于 Git 的代码托管平台,与 GitHub 类似,Gitee 提供了丰富的功能,比如代码仓库的创建、分支管理、代码审查等。 二、gite…...

    【原创】使用ElasticSearch存储向量实现大模型RAG

    一、概述 检索增强生成(Retrieval-Augmented Generation,RAG)已成为大型语言模型(LLM)应用的重要架构,通过结合外部知识库来增强模型的回答能力,特别是在处理专业领域知识、最新信息或企业私有数…...

    Gymnasium Cart Pole 环境与 REINFORCE 算法 —— 强化学习入门 2

    Title: Gymnasium Cart Pole 环境与 REINFORCE 算法 —— 强化学习入门 2 文章目录 I. Gymnasium Cart Pole 环境II. REINFORCE 算法1. 原理说明2. REINFORCE 算法实现 I. Gymnasium Cart Pole 环境 Gymnasium Cart Pole 环境是一个倒立摆的动力学仿真环境. 状态空间: 0: Ca…...

    响应式数据 和 Pinia 状态

    响应式数据 和 Pinia 状态 是 Vue.js 应用中用于管理数据的两种重要机制,它们之间有密切的关系。以下是它们的定义、特点以及关系: 1. 响应式数据 定义 响应式数据 是 Vue.js 的核心特性之一,指的是当数据发生变化时,视图会自动…...

    在大数据开发中hive是指什么?

    hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在大数据技术的浩瀚星空中,Apache Hive犹如一座桥梁,连接着传统数据仓库理念…...

    LeRobot源码剖析——对机器人各个动作策略的统一封装:包含ALOHA ACT、Diffusion Policy、VLA模型π0

    前言 过去2年多的深入超过此前7年,全靠夜以继日的勤奋,一天当两天用,抠论文 抠代码 和大模型及具身同事讨论,是目前日常 而具身库里,idp3、π0、lerobot值得反复研究,故,近期我一直在抠π0及l…...

    Python生成requirements.txt的两种方法

    Python生成requirements.txt的两种方法 方法一:导出当前环境的依赖包 使用pipreqs --encodingutf8为使用utf8编码,避免编码报错 --force 强制执行覆盖生成目录下的requirements.txt # 安装 python3 -m pip install pipreqs # 在当前目录生成 pipreqs . …...

    如何判断 MSF 的 Payload 是 Staged 还是 Stageless(含 Meterpreter 与普通 Shell 对比)

    在渗透测试领域,Metasploit Framework(MSF)的 msfvenom 工具是生成 Payload(载荷)的核心利器。然而,当我们选择 Payload 时,经常会遇到一个问题:这个 Payload 是 Staged(…...

    HTML5与CSS3新特性详解

    一、HTML5新特性 1.概述 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特…...

    Redis常用进阶 存储原理和主从思路

    Redis常用进阶 存储原理和主从思路 简介 此篇用于需要时随时查阅的知识. 由于不断的学习总是会忘记一些 所以用于记录 笔记对应视频为黑马redis https://www.bilibili.com/video/BV1Pu411Y7bq 单点redis的问题 : 数据丢失问题 持久化并发能力弱 主从集群存储能力问题 ES故…...

    本地部署DeepSeek-R1(Dify升级最新版本、新增插件功能、过滤推理思考过程)

    下载最新版本Dify Dify1.0版本之前不支持插件功能,先升级DIfy 下载最新版本,目前1.0.1 Git地址:https://github.com/langgenius/dify/releases/tag/1.0.1 我这里下载到老版本同一个目录并解压 拷贝老数据 需先停用老版本Dify PS D:\D…...

    分治-快速排序系列一>快速排序

    目录 题目方法:优化方法:代码: 题目方法: 忘记快速排序看这里:链接: link 优化方法: 代码: public int[] sortArray(int[] nums) {qsort(nums,0,nums.length-1);return nums;}private void qso…...

    【spring对bean Singleton和Prototype的管理流程】

    在 Spring 框架中,Bean 的作用域决定了 Bean 的生命周期和创建方式。Spring 支持多种作用域,其中最常用的是 单例(Singleton) 和 原型(Prototype)。以下是 Spring 对单例和原型 Bean 的管理流程详解&#x…...

    【Java】grpc-java在IDEA中build不成功的相关问题,Android,codegen C++语言排除

    一、解决Android依赖问题 在当前grpc-java项目根目录下创建gradle.properties文件,输入以下内容: skipAndroid=true或者 android.useAndroidX=true二、com.google.cloud.tools.appengine插件找不到的问题 Plugin [id: ‘com.google.cloud.tools.appengine’, version: ‘…...

    十七、实战开发 uni-app x 项目(仿京东)- 后端指南

    前面我们已经用uniappx进行了前端实战学习 一、实战 开发uni-app x项目(仿京东)-规划-CSDN博客 二、实战 开发uni-app x项目(仿京东)-项目搭建-CSDN博客 三、实战开发 uni-app x 项目(仿京东)- 技术选型-CSDN博客 四、实战开发 uni-app x 项目(仿京东)- 页面设计-C…...

    SpringSecurity——基于角色权限控制和资源权限控制

    目录 基于角色权限控制 1.1 自定义 UserDetailsService 1.2 加载用户角色 1.3. 给角色配置能访问的资源(使用切面拦截,使用注解) 总结 资源权限控制 2.2. 需要有一个用户;(从数据库查询用户) 2.2 基…...

    经历过的IDEA+Maven+JDK一些困惑

    注意事项:由于使用过程中是IDEA绑定好另外2个工具,所以报错统一都显示在控制台,但要思考和分辨到底是IDEA本身问题导致的报错,还是maven导致的 标准配置 maven Java Compiler Structure 编辑期 定义:指的是从open pr…...

    基于Arduino控制的温室蔬菜园环境监控系统(论文+源码)

    2.1系统总体方案设计 本课题为基于Arduino控制的温室蔬菜园环境监控系统,在硬件上结合Arduino 控制器,土壤湿度传感器,ESP8266模块,环境温湿度传感器,光敏电阻,液晶等来构成整个系统,其可以实现…...

    关于HAL库的知识1----MSP函数

    在 HAL 库中,大部分外设在初始化时都会调用一个对应的 MSP 初始化函数,这个函数的主要作用就是配置与外设相关的底层硬件资源,比如时钟、GPIO、中断、DMA 等。常见的外设及其对应的 MSP 函数包括: UART/USART:对应 HA…...

    QT 磁盘文件 教程04-创建目录、删除目录、遍历目录

    【1】新建目录 bool CreateDir(QString name){QString fileName name ;QDir dir(fileName);if (dir.isEmpty()) {dir.mkdir(fileName);return true;}else{qDebug()<<"文件夹已存在";return false;} } 【2】删除目录 bool DeleteDir(QString fileName){if (…...

    高级java每日一道面试题-2025年3月06日-微服务篇[Eureka篇]-Eureka Server和Eureka Client关系?

    如果有遗漏,评论区告诉我进行补充 面试官: Eureka Server和Eureka Client关系? 我回答: 在微服务架构中&#xff0c;Eureka作为Netflix开源的服务发现组件&#xff0c;由Eureka Server&#xff08;服务端&#xff09;和Eureka Client&#xff08;客户端&#xff09;两大部分…...

    MAC-在使用@Async注解的方法时,分布式锁管理和释放

    在使用 @Async 注解的异步方法中管理分布式锁时,需要特别注意 ​锁的获取、释放与异步执行的生命周期匹配。以下是结合 Spring Boot 和 Redis 分布式锁的实践方案: 1. 为什么需要分布式锁? 异步方法可能被多个线程/服务实例并发执行,若访问共享资源(如数据库、缓存),需…...

    Kafka 八股文

    一、基础概念 1. Kafka 是什么&#xff1f;它的核心组件有哪些&#xff1f; Kafka 的定义 Kafka 是一个 分布式流处理平台&#xff0c;最初由 LinkedIn 开发&#xff0c;后成为 Apache 顶级项目。它主要用于 高吞吐量的实时数据流处理&#xff0c;支持发布-订阅模式的消息传递…...

    现代前端开发框架对比:React、Vue 和 Svelte 的选择指南

    引言 在当今快速发展的 Web 开发领域&#xff0c;前端框架的选择往往直接影响项目的开发效率、维护成本和用户体验。React、Vue 和 Svelte 作为当前最受关注的三大框架&#xff0c;各自拥有独特的设计哲学与技术实现。本文将通过 5000 字的深度解析&#xff0c;从架构设计、开…...

    ffmpeg(库编译) 01 搭建环境和安装依赖

    创建目录在home目录下创建 ffmpeg_sources:用于下载源文件 ffmpeg_build: 存储编译后的库文件 bin:存储二进制文件(ffmpeg,ffplay,ffprobe,X264,X265等) mkdir ffmpeg_sources ffmpeg_build bin安装依赖 先执行sudo apt-get update进行更新,再往下走sudo apt-get -…...

    Java后端开发技术详解

    Java作为一门成熟的编程语言&#xff0c;已广泛应用于后端开发领域。其强大的生态系统和广泛的支持库使得Java成为许多企业和开发者的首选后端开发语言。随着云计算、微服务架构和大数据技术的兴起&#xff0c;Java后端开发的技术栈也不断演进。本文将详细介绍Java后端开发的核…...

    Python高级:GIL、C扩展与分布式系统深度解析

    文章目录 &#x1f4cc; **前言**&#x1f527; **第一章&#xff1a;Python语言的本质与生态**1.1 **Python的实现与版本演进**1.2 **开发环境与工具链** &#x1f527; **第二章&#xff1a;元编程与动态特性**2.1 **描述符协议&#xff08;Descriptor Protocol&#xff09;*…...

    数学之握手问题

    问题描述 小蓝组织了一场算法交流会议&#xff0c;总共有 50人参加了本次会议。在会议上&#xff0c;大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 7 个人&#xff0c;这 7 人彼此之间没有进行握手 (但这 7 人与除这 …...

    【Nodejs】2024 汇总现状

    之前已经调研了容器、nexus-public&#xff0c;实现了本地构建应用镜像和基础设施的镜像。为实现分布式一体化协作开发的目标&#xff0c;还需要配套的线上协作开发环境。故而重回前端调研现状&#xff0c;比较 5 年前的 nodejs 快好的啊。 以下是针对 Node.js 工具链的深度解析…...

    人工智能之数学基础:矩阵的降维

    本文重点 在现实世界中,我们经常会遇到高维数据。例如,图像数据通常具有很高的维度,每个像素点都可以看作是一个维度。高维数据不仅会带来计算和存储上的困难,还可能会导致 “维数灾难”,即随着维度的增加,数据的稀疏性和噪声也会增加,从而影响数据分析的效果。因此,我…...

    数仓开发那些事(10)

    某神州优秀员工&#xff1a;&#xff08;没错&#xff0c;这个diao毛被评为了优秀员工&#xff09;一闪&#xff0c;听说你跑路了&#xff0c;不做零售行业了 一闪&#xff1a;没错&#xff0c;老东家的新it总监上任后大家都开始躺平&#xff0c;失去了当年的动力&#xff0c;所…...

    【手工】早教游戏:下楼的猴子

    一、效果 二、准备材料 吸管: 10.4 c m 10.4cm 10.4cm&#xff1b;棉签&#xff1a; 6 6 6 根双头棉签&#xff1b;硬币&#xff1a;1角&#xff1b;纸皮人: 2.0 c m 4.0 c m 2.0cm4.0cm 2.0cm4.0cm&#xff1b;纸板&#xff1a; 12.0 c m 30.0 c m 12.0cm30.0cm 12.0cm30…...

    力扣刷题46. 全排列

    46. 全排列 - 力扣&#xff08;LeetCode&#xff09; 使用dfs搜索&#xff0c;查找所有的情况&#xff0c;首先定义所有的链表集合list&#xff0c;在定义每一种情况的链表res&#xff0c;在主函数中遍历所有的初始元素&#xff0c;首先初始化res&#xff0c;并且添加到res中&…...

    【工作记录】pytest使用总结

    1、 fixture夹具 可参考&#xff1a; python3.x中 pytest之fixture - 漂泊的小虎 - 博客园 fixture是指夹具&#xff08;把用例夹在中间&#xff09;&#xff0c;它包括前置工作和后置工作&#xff0c;前置是用例代码的准备阶段&#xff0c;后置是用例执行之后的清理阶段,用…...

    linux 命令 mkdir

    以下是 Linux mkdir 命令的简明总结&#xff0c;适合快速查阅和实际场景应用&#xff1a; 基础语法 mkdir [选项] 目录名... 常用选项速查 选项作用-p自动创建父目录&#xff08;解决多级目录问题&#xff09; mkdir -p a/b/c-m直接设置权限&#xff08;替代chmod&#xff0…...

    浏览器对一个资源设置了缓存,如何清除缓存,且后续请求不命中缓存

    方式1、浏览器端强制刷新 方式2、修改资源url eg&#xff1a;如下图&#xff0c;添加了查询参数 <link rel"stylesheet" href"style.css?v1.2.1"> <script src"app.js?t20231010"></script> 原理&#xff1a;1、在资源的…...

    k8s的存储

    一 configmap 1.1 configmap的功能 configMap用于保存配置数据&#xff0c;以键值对形式存储。 configMap 资源提供了向 Pod 注入配置数据的方法。 镜像和配置文件解耦&#xff0c;以便实现镜像的可移植性和可复用性。 etcd限制了文件大小不能超过1M 1.2 configmap的使用…...

    [JavaScript]如何利用作用域块避免闭包内存泄漏?

    出自《你不知道的JavaScript》上卷 以下是本书给出的反例: function process (data) {...} var bigdata{...} process(bigdata); var btn document.getElementById(x); btn.addEventListener(click, function click{...});click会被回调在其他位置, 在addEventListener函数内…...

    Pytorch使用手册—扩展 TorchScript 使用自定义 C++ 操作符(专题五十三)

    提示 本教程自 PyTorch 2.4 起已弃用。有关 PyTorch 自定义操作符的最新指南,请参阅 PyTorch 自定义操作符。 PyTorch 1.0 版本引入了一种名为 TorchScript 的新编程模型。TorchScript 是 Python 编程语言的一个子集,可以被 TorchScript 编译器解析、编译和优化。此外,编译后…...

    CellOracle|基因扰动研究基因功能|基因调控网络+虚拟干预

    在gzh“生信小鹏”同步文章 论文来源: 发表期刊:Nature发表时间:2023年2月23日论文题目:Dissecting cell identity via network inference and in silico gene perturbation研究团队:Kenji Kamimoto 等,华盛顿大学医学院1. 研究背景与问题提出 细胞身份(Cell Identit…...

    深入探索JVM字节码增强技术与调优实践

    引言 Java虚拟机(JVM)是Java程序运行的基石,而字节码增强技术则是JVM生态中一项强大的工具。通过字节码增强,开发者可以在不修改源代码的情况下,动态地修改或增强类的行为。本文将深入探讨字节码增强技术的原理、常用工具,并结合JVM调优和排错实践,帮助开发者更好地理解…...

    vue 中常用操作数组的方法

    操作数组方法 记录一下自己常用到的操作数组的方法 1.forEach() 遍历数组 在回调函数中对原数组的每个成员进行修改&#xff08;不用 return&#xff09; 方法接收一个回调函数 回调函数接收两个参数 第一个是遍历的当前元素 第二个是元素的索引 const arr [{name: 张三},…...