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

离线部署kubernetes

麒麟Linux服务器 AMR架构

🧰 离线部署 Kubernetes v1.25.9(麒麟系统 + Docker)

一、验证Docker部署状态 ‌检查Docker服务运行状态‌

systemctl status docker 预期输出应显示 Active: active (running),表明服务已启动‌18。 ‌运行测试容器验证功能‌

docker run --rm hello-world 若输出包含 Hello from Docker!,表明Docker引擎及容器运行时正常‌8。 ‌查看Docker版本信息‌

docker version 确认 Client 和 Server 版本信息一致且无报错‌18。

✅ 你需要准备的资源(在联网的 Windows 上下载)

{ "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"], "exec-opts": ["native.cgroupdriver=cgroupfs"] }

  1. Kubernetes 安装包

    • 下载 Linux 版二进制工具: https://dl.k8s.io/release/v1.25.9/bin/linux/amd64/

      • kubeadm

      • kubelet

      • kubectl

    • 或通过离线 yum 源(我可以帮你整理)

  2. Kubernetes 必需镜像 使用以下命令获取 Kubernetes 所需镜像列表(版本 1.25.9):

    bash
    ​
    ​
    复制编辑
    kubeadm config images list --kubernetes-version=v1.25.9

    输出大概是:

    bash复制编辑registry.k8s.io/kube-apiserver:v1.25.9
    registry.k8s.io/kube-controller-manager:v1.25.9
    registry.k8s.io/kube-scheduler:v1.25.9
    registry.k8s.io/kube-proxy:v1.25.9
    registry.k8s.io/pause:3.8
    registry.k8s.io/etcd:3.5.4-0
    registry.k8s.io/coredns/coredns:v1.9.3

    然后:

    • 在 Windows 上用 WSL/Docker Desktop 拉取这些镜像;

    • docker save 保存成 tar 包:

      bash
      ​
      ​
      复制编辑
      docker save -o k8s-images.tar <镜像列表>
  3. 网络插件 Flannel(或 Calico)

    • 推荐下载 flannel yaml: https://github.com/flannel-io/flannel/releases

    • 或使用这个命令保存 YAML 文件:

      bash
      ​
      ​
      复制编辑
      curl -O https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

💾 将这些文件复制到麒麟系统中

推荐用以下方式之一:

  • U 盘或移动硬盘;

  • Windows → Linux 的 scp

  • WinSCP 工具图形化上传;


🏗️ 麒麟服务器离线安装步骤

前提:在麒麟服务器上新建一个目录存放所有离线资源:

mkdir -p /root/k8s-offline

cd /root/k8s-offline

1️⃣ 安装 kubelet/kubectl/kubeadm

将下载好的三大组件移动到 /usr/bin/ 目录,并赋予执行权限:

chmod +x kubeadm kubelet kubectl
mv kubeadm kubelet kubectl /usr/bin/

2️⃣ 配置 systemd 启动 kubelet

2.1 创建 systemd 配置目录

sudo mkdir -p /etc/systemd/system/kubelet.service.d

2.2 创建 kubelet 配置文件

编辑 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf,内容如下:

sudo vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

[Service] Environment="KUBELET_KUBEADM_ARGS=--container-runtime-endpoint=unix:///var/run/cri-dockerd.sock --cgroup-driver=cgroupfs/systemd" ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBEADM_ARGS

检查docker采取哪个驱动:docker info | grep -i "Cgroup Driver"

2.3 创建主服务文件

编辑 /etc/systemd/system/kubelet.service,内容如下:

[Unit] Description=kubelet: The Kubernetes Node Agent Documentation=Kubernetes Documentation | Kubernetes After=network.target

[Service] ExecStart=/usr/bin/kubelet Restart=always StartLimitInterval=0 RestartSec=10

[Install] WantedBy=multi-user.target

2.4 重载并启用服务

systemctl daemon-reexec systemctl daemon-reload systemctl enable kubelet

3️⃣ 加载镜像

删除镜像 docker rmi <镜像名或镜像ID>  
​
docker load -i kube-apiserver-v1.25.9-arm64.tar
docker load -i kube-controller-manager-v1.25.9-arm64.tar
docker load -i kube-scheduler-v1.25.9-arm64.tar
docker load -i kube-proxy-v1.25.9-arm64.tar
docker load -i pause-3.8-arm64.tar
docker load -i etcd-3.5.6-0-arm64.tar
docker load -i coredns-v1.9.3-arm64.tar
​
​
加载完成后,你可以通过以下命令来确认镜像的架构:
docker inspect <镜像名> | grep Architecture
例如:docker inspect kube-apiserver:v1.25.9 | grep Architecture     --"Architecture": "arm64"

4️⃣ 关闭 swap、优化内核

swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
modprobe br_netfilter
sysctl -w net.bridge.bridge-nf-call-iptables=1
sysctl -p

5️⃣ 初始化 Kubernetes

kubeadm init --kubernetes-version=1.25.9 \--apiserver-advertise-address=192.168.1.210 \--pod-network-cidr=10.244.0.0/16kubeadm init --kubernetes-version=1.25.9 \--apiserver-advertise-address=172.20.10.9 \--pod-network-cidr=10.244.0.0/16如果有报错:!!    [ERROR CRI]: container runtime is not running: output: time="2025-04-18T00:03:22-07:00" level=fatal msg="unable to determine runtime API version: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory\""
​
一.安装 crictl
打开浏览器,访问 https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.25.0/crictl-v1.25.0-linux-amd64.tar.gz(已下载)
下载后解压,得到一个可执行文件 crictl
把 crictl 拷贝到你的 Kylin 服务器,比如你现在的 /k8s-offline 目录。
然后在服务器执行:
chmod +x crictl
mv crictl /usr/bin/
验证:
which crictl
crictl --version
​
​
二.安装cri-dockerd   Kubernetes v1.24 起,默认已移除对 Docker 的直接支持(即 Dockershim 被移除了)。
​
1. 你需要准备以下资源并从外网下载 ()cri-dockerd文件
2.创建 cri-dockerd.service
sudo tee /etc/systemd/system/cri-dockerd.service > /dev/null <<EOF
[Unit]
Description=CRI interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network.target docker.service
Requires=docker.service
​
[Service]
Type=notify
--ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint=unix:///var/run/cri-dockerd.sock
ExecReload=/bin/kill -s HUP \$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-999
​
[Install]
WantedBy=multi-user.target
EOF
3. 创建 cri-dockerd.socket
sudo tee /etc/systemd/system/cri-dockerd.socket > /dev/null <<EOF
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-dockerd.service
​
[Socket]
ListenStream=/var/run/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
​
[Install]
WantedBy=sockets.target
EOF
​
修改完重启:
sudo systemctl daemon-reload
sudo systemctl restart cri-docker.service
sudo systemctl restart kubelet
​
​
​
​
4.# 移动可执行文件
install -o root -g root -m 0755 cri-dockerd /usr/bin/cri-dockerd
5.# 安装 systemd 配置(如有)
cp cri-docker.service cri-docker.socket /etc/systemd/system/
​
三.安装 conntrack 的命令如下:
在联网的机器上执行: yum install --downloadonly --downloaddir=./conntrack conntrack
这将把 conntrack 的 RPM 包下载到当前目录。
安装:sudo rpm -ivh /root/rpms/conntrack-*.rpm  --修改自己的安装路劲
​
​
sudo rpm -ivh libnetfilter_cthelper-1.0.0-15.el8.aarch64.rpm \libnetfilter_cttimeout-1.0.0-11.el8.aarch64.rpm \libnetfilter_queue-1.0.4-3.el8.aarch64.rpm \conntrack-tools-1.4.4-11.el8.aarch64.rpm
​
​
四:部署 socat
先从联网机器下载 RPM 包 : yum install --downloadonly --downloaddir=./socat socat
安装: sudo rpm -ivh /root/rpms/socat-*.rpm    --修改自己的安装路劲验证:
conntrack --version
socat -V
​
在联网的机器上执行:
​
​
6.# 重新加载 systemd 配置并启动
# 重新加载 systemd
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
​
# 启用服务开机自启
sudo systemctl enable cri-dockerd.socket
sudo systemctl enable cri-dockerd.service
​
# 启动服务
sudo systemctl start cri-dockerd.socket
sudo systemctl start cri-dockerd.service
​
# 查看状态(贴这个输出)验证
sudo systemctl status cri-dockerd.service
sudo systemctl status kubelet
systemctl status kubelet -l
journalctl -u kubelet -xe --no-pager
​
验证 kube-apiserver 容器是否运行
crictl ps | grep kube-apiserver
​
​
7.执行
kubeadm init \--kubernetes-version=1.25.9 \--apiserver-advertise-address=192.168.1.210 \--pod-network-cidr=10.244.0.0/16 \--cri-socket=unix:///var/run/cri-dockerd.sock kubeadm init \--kubernetes-version=1.25.9 \--apiserver-advertise-address=172.20.10.9 \--pod-network-cidr=10.244.0.0/16 \--cri-socket=unix:///var/run/cri-dockerd.sock如果需要重新初始化:-------
kubeadm reset -f
rm -rf /etc/cni/net.d /var/lib/etcd /etc/kubernetes
systemctl restart kubelet
​
​

6️⃣ 设置 kubectl 配置

mkdir -p $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

7️⃣ 安装 Flannel 网络插件

kubectl apply -f kube-flannel.yml

8️⃣ 去除 master 污点,让其也能跑 Pod:

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

相关文章:

离线部署kubernetes

麒麟Linux服务器 AMR架构 &#x1f9f0; 离线部署 Kubernetes v1.25.9&#xff08;麒麟系统 Docker&#xff09; 一、验证Docker部署状态 ‌检查Docker服务运行状态‌ systemctl status docker 预期输出应显示 Active: active (running)&#xff0c;表明服务已启动‌18。 ‌…...

2024武汉邀请赛B.Countless Me

题目链接 #include<bits/stdc.h> using namespace std; using lllong long;int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll n; cin>>n;vector<ll>a(n1);ll res0;for(int i1;i<n;i) cin>>a[i],resa[i];ll ans0;for(int i32;i>…...

第53讲 农学科研中的AI伦理与可解释性——探索SHAP值、LIME等可解释工具与科研可信性建设之道

目录 一、为什么农学科研中需要“可解释AI”? ✅ 场景示例: 二、常见可解释AI工具介绍 1. SHAP(SHapley Additive exPlanations) 2. LIME(Local Interpretable Model-agnostic Explanations) 三、AI伦理问题在农学中的体现 🧭 公平性与偏见 🔐 数据隐私 🤖…...

《Python3网络爬虫开发实战(第二版)》配套案例 spa6

Scrape | Moviehttps://spa6.scrape.center/ 请求影片列表api时&#xff0c;不仅有分页参数&#xff0c;还多了一个token&#xff0c;通过重发请求发现token有时间限制&#xff0c;所以得逆向token的生成代码。 通过xhr断点定位到接口请求位置 刷新页面或者点翻页按钮&#x…...

面试题:Java程序CPU 100%问题排查指南

Java程序CPU 100%问题排查指南 当Java程序出现CPU使用率达到100%的情况时,通常意味着程序存在性能瓶颈或无限循环等问题。以下是系统化的排查方法和解决方案: 1. 快速定位问题线程 使用top命令初步定位 top -H -p <java_pid> # 查看Java进程的所有线程CPU占用线程…...

YOLOv12的注意力机制革新与实时检测性能分析——基于架构优化与历史版本对比

目录 一、摘要 二、引言 三、YOLO架构的技术演变 四、YOLOv12的架构设计 主干网特征提取 头部特征融合和目标检测 五、YOLOv12的架构创新 区域注意力模块 残差高效层聚合网络&#xff08;R-ELAN&#xff09; 其他改进和效率提升 六、YOLOv12 的基准评估 延迟与精度…...

Ollama工具调用(Tool Calls)业务应用案例

场景&#xff1a;电商客服自动处理退货请求 业务需求&#xff1a;用户通过聊天界面申请退货&#xff0c;模型需调用外部工具验证订单状态、触发退货流程&#xff0c;并返回处理结果。 1. 定义工具列表 在请求中声明模型可调用的工具&#xff08;函数&#xff09;及其参数格式…...

输入捕获模式测频率

前提工作&#xff1a; PA6、PA0通过跳线相连&#xff0c;PA6测试PA0的输出频率 本来只有下列函数&#xff0c;改变占空比 但是我们需要测试频率&#xff0c;需要动态改变频率。 void PWM_SetCompare1(uint16_t Compare) {TIM_SetCompare1(TIM2, Compare); //设置CCR1的值 }…...

【Vue3 实战】插槽封装与懒加载

一、为什么需要插槽&#xff1f;从一个面板组件说起 在电商首页开发中&#xff0c;经常遇到这样的场景&#xff1a; 「新鲜好物」「人气推荐」同样类型模块都需要相同的标题栏&#xff0c;但内容区布局不同 这时候&#xff0c;插槽&#xff08;Slot&#xff09;就像一个「内容…...

Matlab 复合多层结构的隔声研究

应用转移矩阵的方法,就平面声波垂直入射的情况,对具有周期结构的无限大多层板的隔声特性进行了理论分析,并对结构不同的多层板的隔声特性进行了数值模拟.理论分析和数值模拟表明:与通常隔声用的单层或双层板相比,在保持面密度不变的条件下&#xff0c;采用多层板结构能够在某些…...

vulkanscenegraph显示倾斜模型(6)-帧循环

前言 上一部分&#xff0c;通过十个章节的内容&#xff0c;对视景器的初始化与准备工作进行了系统性的剖析。本章将在该基础上&#xff0c;探讨vsg中的帧循环机制&#xff0c;主要包含前进到下一帧、事件处理、更新、记录与提交、呈现五个部分&#xff0c;同时整个过程包含了复…...

k8s 1.26版部署

环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 容器运行时本次使用containerd。 主机规划: 一、初始化系统(所有节点) 1. 主机名定义以及解析 2. 关闭防火墙 3. 关闭selinux 4. 时间同…...

Android之AI自动化测试--Midscene

文章目录 前言一、准备工作1.安装2.准备 API Key3.安装 adb4.连接设备 二、yaml格式自动化脚本1. 脚本案例2.执行结果 三、文件结构变化android 部分 前言 字节 Web Infra团队官宣Midscene 从 v0.15 开始支持 Android 自动化测试&#xff0c;本篇文章介绍yaml方式的Android自动…...

Cadence 建立复合原理图封装时怎么切换页面

1.在当前页面A绘制完成&#xff0c;若要切换到下一页面B。怎么操作呢&#xff1f; 见下面&#xff1a; CTRLN,切换到下一部分(CTRLB,切换到前一部分)继续放线以及管脚 即&#xff1a;此时在原理图库的A部分 此时按 CTRLN,切换到下一B部分...

Sharding-JDBC 系列专题 - 第八篇:数据治理与高级功能

Sharding-JDBC 系列专题 - 第八篇:数据治理与高级功能 本系列专题旨在帮助开发者全面掌握 Sharding-JDBC,一个轻量级的分布式数据库中间件。本篇作为系列的第八篇文章,将重点探讨 数据治理(Data Governance) 和 高级功能,包括数据加密、影子表、SQL 审计以及 ShardingSp…...

今日行情明日机会——20250424

指数依然是震荡走势&#xff0c;接下来两天调整的概率较大 2025年4月24日涨停主要行业方向分析 一、主要方向 化工&#xff08;新能源材料&#xff09; • 涨停家数&#xff1a;8家&#xff08;最强方向&#xff09;。 • 代表标的&#xff1a; ◦ 中欣氟材&#xff08;3连板…...

Kubernetes 常用运维命令整理

目录 Kubernetes 常用运维命令整理一、集群管理二、Pod 和容器管理三、Deployment 和应用管理四、Service 和网络管理五、存储管理六、ConfigMap 和 Secret 管理七、资源使用与监控八、调度和容错九、Role 和权限管理十、清理资源 总结 Kubernetes 常用运维命令整理 Kubernete…...

【Python爬虫基础篇】--4.Selenium入门详细教程

先解释&#xff1a;Selenium&#xff1a;n.硒&#xff1b;硒元素 目录 1.Selenium--简介 2.Selenium--原理 3.Selenium--环境搭建 4.Selenium--简单案例 5.Selenium--定位方式 6.Selenium--常用方法 6.1.控制操作 6.2.鼠标操作 6.3.键盘操作 6.4.获取断言信息 6.5.…...

基于Vulkan Specialization Constants的材质变体系统

材质变体 所谓材质变体&#xff0c;指的是一份材质代码文件&#xff0c;最终对应的是多份运行时gpu程序。比如&#xff0c;shader代码里面有开关或者选项&#xff0c;不同的组合对应不同的最终gpu program。那么&#xff0c;所有的这些组合对应的gpu program&#xff0c;可以统…...

Langchain+RAG+向量数据库

加载数据 import osimport lancedb from langchain_community.document_loaders import TextLoader from langchain_community.embeddings import BaichuanTextEmbeddings from langchain_community.vectorstores import LanceDB from langchain_core.output_parsers import St…...

Stack和Queue和deque的讲解(底层实现 手撕版)

一.底层的基本思路 我们cpp中实现的栈和队列不同于我们数据结构c语言实现的栈和队列&#xff0c;c语言中实现的栈和队列都是通过一个数组指针的形式来完成&#xff0c;每个函数都需要写大量的代码&#xff0c;但是我们的cpp&#xff0c;就是通过函数模板 适配器来完成的。 我们…...

《Pinia 从入门到精通》Vue 3 官方状态管理 -- 插件扩展篇

使用插件扩展功能 可以同时使用多个插件&#xff08;插件“中间件式”机制&#xff09;一、使用多个插件的方式二、插件机制简图三、插件互不冲突的关键点四、实战示例&#xff1a;多插件组合使用五、组合使用注意事项推荐插件组合搭配方案&#xff08;实战模板&#xff09; 根…...

JavaScript 中的 Reflect 对象:深入理解与应用

JavaScript 中的 Reflect 对象&#xff1a;深入理解与应用 一、引言 在 JavaScript 不断发展的过程中&#xff0c;ES6 引入了许多新的特性和对象&#xff0c;其中 Reflect 对象是一个强大且实用的工具。Reflect 对象提供了一系列静态方法&#xff0c;这些方法与 Proxy 对象的…...

dirsearch 使用教程:详细指南与配置解析

dirsearch 是一款强大的开源命令行工具&#xff0c;用于对 Web 服务器进行目录和文件暴力破解。它通过扫描目标网站&#xff0c;尝试发现隐藏的目录、文件或潜在的敏感资源&#xff0c;广泛应用于渗透测试和安全审计。dirsearch 提供丰富的选项和灵活的配置文件支持&#xff0c…...

【C++基础知识】C++类型特征组合:`disjunction_v` 和 `conjunction_v` 深度解析

这两个模板是C17引入的类型特征组合工具&#xff0c;用于构建更复杂的类型判断逻辑。下面我将从技术实现到实际应用进行全面剖析&#xff1a; 一、基本概念与C引入版本 1. std::disjunction_v (逻辑OR) 引入版本&#xff1a;C17功能&#xff1a;对多个类型特征进行逻辑或运算…...

ctfhow——web入门214~218(时间盲注开始)

web入门214 #another:uwvwko import requestsurlhttp://b0c11589-31c9-4bf9-8b66-6b5a1fc08726.challenge.ctf.show/api/index.php flag str{-_1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM}for i in range(1,50):for j in str:# 查数据库# payload "…...

shell练习(2)

1.给脚本service.sh进行修改,当执行的时候要求输入(1、2、3、4、5)时安装对应的httpd、vim、wget、更换aliyum等功能&#xff0c;当输入错误 时提示应该输入正确的值但是不会退出。 [rootbogon yy]# cat service.sh #!/bin/bash while : do cat <<-EOF --------------…...

【GO语言小案例手记】基于GIN的简易代理网关

基于GIN的简易代理网关 背景目标开工依赖主体代码配置文件 后记 背景 正好最近对GO也有点兴趣&#xff0c;搞个小项目练练手。 目标 网关需要能够根据路由自动映射到服务支持轮询、加权轮询、随机轮询三种算法简单好理解好使用&#xff0c;最好一个配置文件就能跑起来网关本…...

Qt 入门 6 之布局管理

Qt 入门 6 之布局管理 对于一个完整的软件&#xff0c;布局管理时必不可少的。其会让界面中嗯嗯部件呈现一个整齐的排列&#xff0c;也可令其大小随着窗口界面的大小变换而变化Qt 主要提供了QLayout 类及其子类作为布局管理器&#xff0c;他们可以实现常用的布局管理功能&…...

Java技术体系的主要产品线详解

Java技术体系的主要产品线详解 Java Card&#xff1a;支持Java小程序&#xff08;Applets&#xff09;运行在小内存设备&#xff08;如智能卡&#xff09;上的平台。 Java ME&#xff08;Micro Edition&#xff09;&#xff1a;支持Java程序运行在移动终端&#xff08;手机、P…...

第四章: 服务集成抽象

Chapter 4: 服务集成抽象 &#x1f31f; 从上一章到本章 在第三章&#xff1a;传输机制中&#xff0c;我们学习了如何通过STDIO和SSE协议让LLM与不同服务器通信。现在想象这样的场景&#xff1a;你的AI助手需要同时操作本地文件和云端数据库。这时问题来了——如何让LLM像操作…...

高精度并行2D圆弧拟合(C++)

依赖库 Eigen3 GLM Ceres-2.1.0 glog-0.6.0 gflag-2.2.2 基本思路 Step 1&#xff1a; RANSAC找到圆弧&#xff0c;保留inliers点&#xff1b; Step 2&#xff1a;使用ceres非线性优化的方法&#xff0c;拟合inliers点&#xff0c;得到圆心和半径&#xff1b; -------…...

【防火墙 pfsense】1简介

&#xff08;1&#xff09; pfSense 有以下可能的用途&#xff1a; 边界防火墙 路由器 交换机 无线路由器 / 无线接入点 从OSI7层模型了解设备在典型网络结构中所处的位置。 &#xff08;2&#xff09;边界防火墙 ->要充当边界防火墙&#xff0c;pfSense 系统至少需要两个接…...

GPT-4o最新图像生成完全指南:10大应用场景与提示词模板

引言 OpenAI于近期推出的全新GPT-4o图像生成功能&#xff0c;代表了AI图像创作领域的重大突破。作为一个原生多模态系统&#xff0c;GPT-4o将文本理解和图像生成无缝整合&#xff0c;为创作者、教育工作者和专业人士提供了前所未有的视觉创作灵活性。本文将分享10个GPT-4o图像…...

32单片机——外部中断

STM32F103ZET6的系统中断有10个&#xff0c;外部中断有60个 1、中断的概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的&#xff0c;中断功能的存在&#xff0c;很大程度上提高了单片机处理外部或内部事件的能力 eg&#xff1a;&#xff1a;你打开火&…...

《Pinia 从入门到精通》Vue 3 官方状态管理 -- 进阶使用篇

《Pinia 从入门到精通》Vue 3 官方状态管理 – 基础入门篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 进阶使用篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 插件扩展篇 目录 Store 的模块化设计4.1 多模块结构设计✅ 推荐目录结构&#xff08;中大型项目&#xff09; …...

HarmonyOs @hadss/hmrouter路由接入

参考文档&#xff1a;官方文档 在根目录oh-package.json5配置 {"dependencies": {"hadss/hmrouter": "^1.0.0-rc.11"} }加入路由编译插件 hvigor/hvigor-config.json文件 {"dependencies": {"hadss/hmrouter-plugin": &…...

第九节:性能优化高频题-首屏加载优化策略

路由懒加载&#xff1a;component: () > import(‘…’) CDN加速第三方库、Tree-Shaking移除未使用代码 前端首屏加载优化核心策略解析 一、路由懒加载&#xff1a;按需拆分代码块 实现原理 通过动态导入语法 import() 将路由组件拆分为独立代码块&#xff0c;仅在用户访问…...

ESP32_IDF_VScode安装多版本共存

ESP32_IDF_VScode安装多版本共存 一、安装离线版本idf 详情见文章&#xff1a;ESP32_IDF_基于win11的开发环境搭建 二、windows的VScode安装乐鑫插件 三、导入已经安装好的idf&#xff08;将VScode插件和本地安装的IDF绑定的一个关系&#xff09; 1、选择“配置ESP-IDF扩展”…...

JavaScript 的“积木”:函数入门与实践

引言&#xff1a;告别重复&#xff0c;拥抱模块化 想象一下&#xff0c;你在写代码时发现&#xff0c;有几段逻辑几乎一模一样&#xff0c;需要在不同的地方反复使用。你是选择每次都复制粘贴&#xff0c;还是希望能像搭积木一样&#xff0c;把这段逻辑封装起来&#xff0c;需…...

代码注释标记的含义

在代码中&#xff0c;TODO 是一种常用的注释标记&#xff0c;用于标识需要后续处理或完善的任务。它是开发者之间的常见约定&#xff0c;帮助团队协作和任务管理。以下是详细解释&#xff1a; 1. TODO 的核心含义 待办事项&#xff1a;标记代码中需要完成但尚未实现的功能、需…...

深度学习:迁移学习

迁移学习 标题1.什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法&#xff0c;就是把为任务 A 开发 的模型作为初始点&#xff0c;重新使用在为任务 B 开发模型的过程中。迁移学习是通过 从已学习的相关任务中转移知识来改进学习的新任务&#xff0c;虽然大多数…...

Nest集成健康检查

文章目录 前言✅ NestJS 健康检查集成思路&#xff08;标准实践&#xff09;&#x1f4e6; 推荐使用官方包&#xff1a; &#x1f9f1; 结构设计✅ 1. 创建健康模块✅ 2. 集成 nestjs/terminushealth.module.tshealth.controller.ts ✅ 3. 在 AppModule 注册模块 &#x1f50d;…...

第十五届蓝桥杯 2024 C/C++组 拼正方形

目录 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 思路&#xff1a; 思路详解&#xff1a; 易错点&#xff1a; 代码&#xff1a; 代码详解&#xff1a; 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; P10898 [蓝桥杯 2024 省 C] 拼正…...

前端出现的一些新技术或者升级的技术汇总

以下是截至2024年第三季度前端领域的最新技术动态与论坛热议焦点&#xff0c;涵盖框架、工具链、性能优化等方向&#xff0c;结合社区讨论和实际案例展开分析&#xff1a; 一、框架演进与争议热点 1. React 19「Actions」引发范式转变 核心变化&#xff1a; 服务端Actions&…...

SQL数据类型

数字类型 1. 整型&#xff08;Integer&#xff09; 整型数据类型用于存储整数值&#xff0c;不包含小数部分。通常用于表示没有小数部分的数字&#xff0c;如年龄、数量、ID 等。 常见的整型数据类型&#xff1a; INT&#xff1a;用于存储常规整数值&#xff0c;通常占用 4 字…...

手机访问电脑端Nginx服务器配置方式

修改当前站点Nginx的配置如下。其中端口号必须是一个比较独特的端口号&#xff0c;比如8001。这样可以跟别的项目区分开来。域名使用0.0.0.0。 server {listen 80;listen 8001;server_name zfmap.cc 0.0.0.0;假设你电脑端的ip地址是192.168.1.101,那么你的手机与你的电脑连在同…...

PyQt6基础_QTabWidget

目录 代码 运行 官方文档 PySide6.QtWidgets.QTabWidget - Qt for Python 代码 class TempWidget(QWidget):def __init__(self):super().__init__()self.tabs QTabWidget()self.tabs.tabBarClicked.connect(self.tabs_tabBarClicked)widget_tab1 QWidget()widget_tab2…...

海思ISP调试记录

1、proc_param 功能&#xff1a;在海思中&#xff0c;proc_param参数用来控制每个多少帧更新一次ISP&#xff0c;默认是30帧。 过短的更新间隔会导致图像参数不稳定&#xff0c;产生闪烁或色彩跳跃4过长的间隔会使3A调整滞后&#xff0c;影响动态场景适应性1海思建议在1080p3…...

以运营为核心的智能劳动力管理系统,破解连锁零售、制造业排班难题

在连锁零售、制造业、物流等劳动力密集型行业中&#xff0c;排班与考勤管理不仅是人力资源管理的核心环节&#xff0c;更是直接影响企业运营效率、成本控制与合规风险的关键场景。尤其在当前经济环境下&#xff0c;企业面临用工成本攀升、政策合规趋严、业务波动频繁等多重挑战…...