最新字节跳动运维云原生面经分享
继续分享最新的go面经。
今天分享的是组织内部的朋友在字节的go运维工程师岗位的云原生方向的面经,涉及Prometheus、Kubernetes、CI/CD、网络代理、MySQL主从、Redis哨兵、系统调优及基础命令行工具
等知识点,问题我都整理在下面了
面经详解
Prometheus 的信息采集原理?
回答思路:
- 数据模型:Prometheus 采用时间序列数据模型,每个数据点由以下部分组成:
- 度量名称(Metric Name):标识数据的类型(如
http_requests_total
)。 - 标签(Labels):键值对形式的元数据,用于唯一标识数据的来源和维度(如
job="api-server", instance="192.168.1.100:9090"
)。 - 时间戳(Timestamp):记录数据采集的时间。
- 数值(Value):具体指标值(如 CPU 使用率 75%)。
- 度量名称(Metric Name):标识数据的类型(如
- 数据采集:
- 拉取模式(Pull Model):Prometheus 定期主动从目标(Targets)拉取指标数据,默认周期为 1 分钟。
- 推送模式(Push Model):通过中间件(如 Pushgateway)将数据推送到 Prometheus,适用于短生命周期任务(如批处理作业)。
- Service Discovery:支持自动发现目标节点(如 Kubernetes 服务、Consul 注册中心),减少手动配置。
- 存储与查询:
- 数据存储为时间序列,按度量名称和标签分组,支持高效查询。
- PromQL:提供丰富的查询语言,支持聚合运算(如
avg()
,sum()
)、范围查询([5m]
)、条件判断(如> 90
)等。
- 优势与局限性:
- 优势:高可用、分布式、灵活的标签系统。
- 局限性:拉取模式可能因网络问题漏数据,存储成本较高。
Prometheus 采集K8S是哪个接口?
回答思路:
- Kubernetes API Server:
- Prometheus 通过 Kubernetes API 监控集群资源状态(如 Pod、Deployment、Node 等),需配置
kubernetes_sd_config
进行服务发现。 - 示例配置:
- Prometheus 通过 Kubernetes API 监控集群资源状态(如 Pod、Deployment、Node 等),需配置
scrape_configs: - job_name: 'kubernetes-apiservers' kubernetes_sd_configs: - role: endpoints relabel_configs: - action: keep regex: default source_labels: [__meta_kubernetes_namespace]
- Metrics Server:
- 提供 Pod、Node 的资源使用指标(如 CPU/内存使用率),需通过
kube-state-metrics
或cAdvisor
采集。 - 示例:
- 提供 Pod、Node 的资源使用指标(如 CPU/内存使用率),需通过
curl http://localhost:8080/api/v1/nodes/{node-name}/metrics
- 自定义接口:
- 应用需暴露
/metrics
端点,格式符合 Prometheus 文本格式(如通过prometheus-client-go
库实现)。
- 应用需暴露
- 注意事项:
- 需配置 RBAC 权限,确保 Prometheus 有权限访问 K8S API。
- 使用
kube-prometheus-stack
Helm Chart 可一键部署完整监控链。
Prometheus 的告警是怎么配置的?
回答思路:
- 告警规则(Alert Rules):
- 在
prometheus.yml
或独立的.rules
文件中定义规则,例如:
- 在
groups: - name: example rules: - alert: HighCPUUsage expr: instance:node_cpu_usage:rate1m > 0.8 for: 5m labels: severity: warning annotations: summary: "Instance {{ $labels.instance }} CPU usage is high"
expr
:PromQL 表达式,定义触发条件。for
:告警持续时间(避免短暂波动触发)。labels
和annotations
:补充告警元数据和描述。- Alertmanager 配置:
- 路由(Routes):根据标签(如
severity
)将告警分发到不同接收者。
- 路由(Routes):根据标签(如
route: group_by: ['alertname'] group_wait: 30s group_interval: 5m receiver: 'team-alerts' routes: - match_re: severity: critical receiver: 'oncall-team'
- 抑制(Inhibit):高优先级告警(如
InstanceDown
)可抑制低优先级告警(如HighCPUUsage
)。 - 接收器(Receivers):支持多种通知方式(如 Slack、PagerDuty、Email)。
- 实践建议:
- 避免“告警疲劳”:合理设置阈值和
for
参数。 - 验证告警:通过
fire-and-forget
模式测试配置。
- 避免“告警疲劳”:合理设置阈值和
Prometheus 的告警是基于哪个组件配置的?
回答思路:
- 核心组件:Alertmanager
- 功能:
- 接收 Prometheus 发送的告警事件。
- 根据配置路由规则将告警分发给接收者(如团队 Slack 频道)。
- 聚合相似告警,减少重复通知(如
group_by
)。 - 抑制冗余告警(如主节点宕机时抑制其下所有服务的告警)。
- 配置文件示例:
- 功能:
global: resolve_timeout: 5m route: receiver: 'team-email' group_wait: 30s receivers: - name: 'team-email' email_configs: - to: 'team@example.com'
- Prometheus 集成:
- 在
prometheus.yml
中指定 Alertmanager 地址:
- 在
alerting: alertmanagers: - static_configs: - targets: ['alertmanager:9093']
- 扩展能力:
- 支持与 Grafana、PagerDuty 等工具集成,实现更复杂的告警管理。
CI 流水线发现问题是怎么排查解决的?
回答思路:
- 分层排查法:
- 环境层:
- 检查流水线运行的环境(如 Docker 镜像、依赖版本、网络配置)。
- 使用
docker inspect
或kubectl describe pod
查看容器状态。
- 日志层:
- 定位到失败步骤的日志,关注错误代码、堆栈信息。
- 使用日志聚合工具(如 ELK、Splunk)快速筛选关键信息。
- 代码层:
- 复现问题:本地复现流水线环境,逐步调试代码。
- 单元测试:针对可疑代码添加测试用例。
- 配置层:
- 检查流水线 YAML 文件中的参数、路径、工具版本。
- 确认敏感信息(如 API 密钥)是否正确注入。
- 环境层:
- 工具辅助:
- GitLab CI/CD:通过
echo
命令输出中间变量,或使用debug
模式。 - Jenkins:使用 Blue Ocean 插件可视化流水线状态。
- GitLab CI/CD:通过
- 预防措施:
- 增加流水线前置检查(如依赖库版本校验)。
- 实施变更管理流程,减少环境漂移。
访问服务出现 502 是什么问题?
回答思路:
- 常见原因及排查步骤:
- 反向代理问题:
- Nginx 配置错误:检查
proxy_pass
是否指向正确的后端服务地址。 - 超时设置:调整
proxy_read_timeout
或proxy_connect_timeout
。
- Nginx 配置错误:检查
- 后端服务问题:
- 服务未启动:检查进程状态(
ps aux | grep service_name
)。 - 负载过高:监控 CPU/内存使用率,优化代码或扩容。
- 服务未启动:检查进程状态(
- 网络问题:
- 防火墙/安全组:确认后端服务端口是否开放。
- DNS 解析:使用
dig
或nslookup
验证域名解析。
- 健康检查失败:
- 如果使用负载均衡(如 Kubernetes Ingress),检查健康检查配置是否合理。
- 反向代理问题:
- 示例排查流程:
- 访问日志:检查 Nginx 的
error.log
中的502
错误详情。 - 模拟请求:直接访问后端服务(如
curl http://backend:8080
)。 - 查看后端日志:检查服务端日志(如
tail -f /var/log/app.log
)。
- 访问日志:检查 Nginx 的
- 解决方案:
- 重启服务或代理。
- 调整超时参数或负载均衡策略。
- 优化后端服务性能(如增加缓存、分页查询)。
K8S service 的服务类型有几种?
回答思路:
- ClusterIP:
- 默认类型,仅在集群内部通过虚拟 IP(VIP)访问。
- 适用场景:后端服务间通信(如数据库、API 服务)。
- NodePort:
- 在每个 Node 的 IP 上开放一个端口(默认
30000-32767
),外部可通过NodeIP:NodePort
访问。 - 适用场景:开发/测试环境暴露服务,或需要快速访问。
- 在每个 Node 的 IP 上开放一个端口(默认
- LoadBalancer:
- 在云平台(如 AWS、GCP)创建云负载均衡器,流量自动转发到 Service。
- 适用场景:生产环境的高可用服务暴露。
- ExternalName:
- 通过 CNAME 将 Service 映射到外部域名(如
api.example.com
),常用于跨集群访问。
- 通过 CNAME 将 Service 映射到外部域名(如
- 高级场景:
- 头信息修改:通过
externalTrafficPolicy: Local
控制流量来源。 - Ingress 控制器:结合 Ingress 资源实现基于路径或域名的路由(如 Nginx Ingress)。
- 头信息修改:通过
- 选择建议:
- 生产环境优先使用 LoadBalancer 或 Ingress。
- 避免在生产环境使用 NodePort,因其端口冲突风险较高。
给文件的每一个前面增加head?
回答思路:
- Vim 编辑器:
- 打开文件:
vim filename
。 - 进入命令模式,输入
:%s/^/head /g
(替换每一行开头)。 - 或使用可视模式:
ggVG:Ihead
(全局插入)。
- 打开文件:
- sed 命令:
sed -i 's/^/head /' filename # 或批量处理多行: sed -i '1i\head' filename # 在文件开头插入(非每行)
- awk 命令:
awk '{print "head " $0}' filename > newfile
- 注意事项:
-i
参数会直接修改原文件,建议先备份。- 若需保留原文件,可重定向输出:
awk ... > newfile
。
awk 提取数值为8的第二列的数量,分隔符为 | ,怎么提取?
回答思路:
- 基础命令:
awk -F '|' '$2 == 8 {count++} END {print count}' filename
-F '|'
:设置分隔符为|
。$2 == 8
:筛选第二列值为 8 的行。count++
:计数器自增。- 扩展场景:
- 统计范围:
$2 > 5 && $2 < 10
统计第二列在 5~10 之间的行数。 - 多条件匹配:
- 统计范围:
awk -F '|' '$2 == 8 && $3 ~ /error/ {count++} END {print count}'
- 输出详细信息:
awk -F '|' '$2 == 8 {print $0}' filename > result.txt
- 性能优化:
- 处理大文件时,可结合
time
命令或parallel
加速。
- 处理大文件时,可结合
nginx 的负载均衡怎么配置?
回答思路:
- 基础配置步骤:
- 定义 upstream 组:
upstream backend { server backend1.example.com weight=3; server backend2.example.com; # 权重默认1 server backup.example.com backup; # 备用节点 }
- 配置 server 和 location:
server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_next_upstream error timeout invalid_header http_500; # 失败重试策略 } }
- 负载均衡算法:
round_robin
(默认):轮询。ip_hash
:根据客户端 IP 分配,保持会话。least_conn
:最少连接数。
- 健康检查:
- 主动健康检查(需 Nginx Plus):
upstream backend { zone backend 64k; server backend1.example.com; health_check; }
- 被动健康检查:通过
proxy_next_upstream
规则剔除故障节点。 - 高级配置:
- 超时设置:
proxy_connect_timeout 5s;
。 - 会话保持:结合
ip_hash
或 Cookie。
- 超时设置:
- 验证与测试:
- 使用
curl -I http://example.com
检查响应头的X-Forwarded-For
。 - 模拟节点故障,观察流量切换是否正常。
- 使用
MySQL 主从架构和 redis哨兵 前端是用什么连接的服务,读取数据库中的数据,对数据进行一个应用的?
回答思路:
- MySQL 主从架构:
- 连接方式:
- 前端应用通过主节点写入数据,通过从节点读取(读写分离)。
- 使用连接池(如 HikariCP)管理数据库连接。
- 注意事项:
- 从库延迟可能导致读写不一致,需通过
read_only
参数控制从库写入。 - 使用中间件(如 MyCat)实现自动路由。
- 从库延迟可能导致读写不一致,需通过
- 连接方式:
- Redis 哨兵模式:
- 连接方式:
- 客户端连接哨兵集群(如通过 JedisSentinelPool),哨兵自动发现主节点。
- 高可用机制:
- 哨兵监控主节点,主节点故障时自动选举新主节点。
- 客户端通过哨兵获取最新主节点地址。
- 连接方式:
- 应用层设计:
- MySQL:业务逻辑中区分读写操作(如
@Transactional
注解控制)。 - Redis:使用连接池自动处理主从切换,避免手动干预。
- MySQL:业务逻辑中区分读写操作(如
linux 系统调优是怎么进行调优的,对应简历中的性能是怎么调优的?
回答思路:
- 性能监控工具:
- 资源监控:
top
/htop
:实时查看 CPU、内存、进程状态。vmstat
:监控内存、swap、IO 等。iostat
:分析磁盘 IO 性能。
- 网络监控:
netstat
,tcpdump
,iftop
。
- 资源监控:
- 调优方向:
- CPU:
- 优化线程调度(如
nice
调整优先级)。 - 调整内核参数(如
vm.swappiness
控制 swap 使用)。
- 优化线程调度(如
- 内存:
- 增加
vm.max_map_count
(如 Elasticsearch 需要)。 - 使用
oom_score_adj
防止关键进程被 OOM Killer 终止。
- 增加
- IO:
- 调整
read_ahead
缓冲区大小。 - 使用
noatime
挂载选项减少磁盘写入。
- 调整
- 网络:
- 调整
net.core.somaxconn
扩大连接队列。 - 启用
TCP BBR
拥塞控制算法。
- 调整
- CPU:
- 实践案例:
- 场景:数据库服务器 CPU 使用率持续 90%。
- 步骤:
- 通过
perf top
定位热点函数。 - 优化 SQL 查询(添加索引、减少全表扫描)。
- 调整 MySQL 配置(如
innodb_buffer_pool_size
)。
- 通过
- 验证:对比调优前后的
sar
数据,确保性能提升。
- 自动化监控:
- 结合 Prometheus + Grafana 实时监控关键指标,设置告警阈值。
欢迎关注 ❤
我们搞了一个免费的面试真题共享群,互通有无,一起刷题进步。
没准能让你能刷到自己意向公司的最新面试题呢。
感兴趣的朋友们可以私信我,备注:面试群。
相关文章:
最新字节跳动运维云原生面经分享
继续分享最新的go面经。 今天分享的是组织内部的朋友在字节的go运维工程师岗位的云原生方向的面经,涉及Prometheus、Kubernetes、CI/CD、网络代理、MySQL主从、Redis哨兵、系统调优及基础命令行工具等知识点,问题我都整理在下面了 面经详解 Prometheus …...
AimRT 从零到一:官方示例精讲 —— 六、pb_chn示例.md
pb_chn示例 官方仓库:pb_chn 这个官方示例展示了如何基于 protobuf 协议和 local 后端实现 channel 通信。主要包括四种场景: 基础示例:分别用两个模块(Publisher 和 Subscriber)发布和订阅 protobuf 消息ÿ…...
【Web】如何解决 `npm run dev` 报错 `address already in use 127.0.0.1:9005` 的问题
在开发过程中,我们可能会遇到端口占用的问题,尤其是当多个进程或服务尝试监听同一个端口时。最近在运行 npm run dev 时,我遇到的错误是 address already in use 127.0.0.1:9005,这让我花了些时间才找到问题的根源。本文将总结该问…...
每日一道leetcode(不会做学习版,多学一题)
2542. 最大子序列的分数 - 力扣(LeetCode) 题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,两者长度都是 n ,再给你一个正整数 k 。你必须从 nums1 中选一个长度为 k 的 子序列 对应的下标。 对于选择的下标 i0 &#…...
当OA闯入元宇宙:打卡、报销和会议的未来狂想
引言:虚实共生中的组织基因突变 元宇宙正以虚实共生的形态重构人类协作的底层逻辑。传统OA系统建立的物理规则——指纹打卡验证在场性、纸质票据堆砌信任链、会议室排期协调时空资源——在元宇宙的数字原野上迎来基因级重组。这场变革不仅是技术工具的迭代…...
线程数据同步的三种方式
1. 线程同步机制(用于控制线程之间的访问顺序和互斥) 互斥锁(Mutex):用于保护共享资源,确保同一时间只有一个线程可以访问。 信号量(Semaphore):用于控制多个线程对共享…...
docker拉取国内镜像
1. 场景 最近整了一个tencent云服务器,想要玩一下docker,结果发现拉不下来,镜像根本拉不下来。 2. 原因 1.云服务器无法访问外网; 2. 国内的很多公有镜像仓库都被封了; 3. 推荐 https://zhuanlan.zhihu.com/p/713…...
中阳策略下的价格趋势识别技巧
中阳策略下的价格趋势识别技巧 在快速变化的市场环境中,掌握有效的趋势识别技巧成为交易者的重要技能。"中阳"策略主张通过量价关系和趋势线分析,捕捉价格运行的主方向,提升交易成功率。 市场中,价格的上行或下行并非随…...
MIT6.S081 - Lab11 networking(网络栈)
本篇是 MIT6.S081 2020 操作系统课程 Lab11 的实验笔记,这是课程的最后一个实验了,目标是为 xv6 实现 E1000 网卡驱动的两个核心函数:发送数据包 e1000_transmit() 和接收数据包 e1000_recv()。 Lab11 地址:https://pdos.csail.mi…...
创龙全志T536全国产(4核A55 ARM+RISC-V+NPU 17路UART)工业开发板硬件说明书
前 言 本文档主要介绍TLT536-EVM评估板硬件接口资源以及设计注意事项等内容。 T536MX-CXX/T536MX-CEN2处理器的IO电平标准一般为1.8V、3.3V,上拉电源一般不超过3.3V或1.8V,当外接信号电平与IO电平不匹配时,中间需增加电平转换芯片或信号隔离芯片。按键或接口需考虑ESD设计…...
《解锁CSS Flex布局:重塑现代网页布局的底层逻辑》
网页布局作为用户体验的基石,其重要性不言而喻。从早期简单的表格布局,到后来基于浮动与定位的复杂尝试,网页布局技术始终在不断演进。而CSS Flex布局的出现,宛如一颗璀璨的新星,彻底革新了网页布局的设计理念与实践方…...
deepseek_ai_ida_plugin开源插件,用于使用 DeepSeekAI 将函数反编译并重命名为人类可读的视图。该插件仅在 ida9 上进行了测试
一、软件介绍 文末提供程序和源码下载 deepseek_ai_ida_plugin开源插件,用于使用 DeepSeekAI 将函数反编译并重命名为人类可读的视图。该插件仅在 ida9 上进行了测试。FunctionRenamerDeepseekAI.cpp 此文件包含 Hex-Rays 反编译器的主要插件实现。它反编译当前函数…...
完整的 SSL 证书生成与 Spring Boot 配置流程
一、生成 SSL 证书 目标:创建 PKCS12 格式的密钥库文件(keystore.p12),供 Spring Boot 使用。 方法 1:使用 keytool(推荐,直接生成 PKCS12 文件) 生成密钥库:keytool -genkeypair \-alias mydomain \ # 别名(自定义,如 mydomain)-keyalg RSA \ …...
taro小程序如何实现大文件(视频、图片)后台下载功能?
一、需求背景 1、需要实现小程序下载最大500M视频 2、同时需支持图片下载 3、退到其他页面再次回到当前页面时,下载进度也需要展示 二、实现步骤 1、在app.ts文件定义一个全局变量globalDownLoadData 2、写一个独立的下载hooks,代码如下(…...
阿里云bgp服务器优势有哪些?搭建bgp服务器怎么做?
阿里云服务器bgp优势有哪些?搭建bgp服务器怎么做? BGP服务器的优势 BGP(Border Gateway Protocol) 是互联网的核心路由协议,用于在不同自治系统(AS)之间交换路由信息。BGP服务器的核心优势体现在网络连接…...
java连接redis服务器
直接从 Redis 获取数据通常是 Redis通过 客户端库实现的,Jedis 是 Java 中一个常用的 Redis 客户端库。有以下两种主要方式: 1. 使用单个 Jedis 实例(不使用连接池) import redis.clients.jedis.Jedis; public class RedisExampl…...
从零开始:Android Studio开发购物车(第二个实战项目)
一年经验的全栈程序员,目前头发健在,但不知道能撑多久。 文章目录 前言 一、页面编写 1. 顶部标签栏title_shopping.xml 2. 商品展现列表activity_shopping_channel.xml 3. 商品详情页面activity_shopping_detail.xml 4. 购物车页面activity_shopping…...
2. python协程/异步编程详解
目录 1. 简单的异步程序 2. 协程函数和协程对象 3. 事件循环 4. 任务对象Task及Future对象 4.1 Task与Future的关系 4.2 Future对象 4.3 全局对象和循环事件对象 5. await关键字 6. 异步上下文管理 7.异步迭代器 8. asyncio的常用函数 8.1 asyncio.run 8.2 asyncio.get…...
XSS靶场实战(工作wuwuwu)
knoxss knoxss Single Reflection Using QUERY of URL ——01 测试标签 <script>alert(666666)</script>——02: " <h1>test</h1>没有反应,查看源码 现在需要闭合双引号,我计划还是先搞标签 "><h1>tes…...
DNA复制过程3D动画教学工具
DNA复制过程3D动画教学工具 访问工具页面: DNA复制动画演示 工具介绍 我开发了一个交互式的DNA复制过程3D动画演示工具,用于分子生物学教学。这个工具直观展示了: DNA双螺旋结构的解旋过程碱基互补配对原理半保留复制机制完整的复制周期动画 主要特点…...
在Mybatis中写sql的常量应用
下面示例把原来写死的 1、2、3 都替换成了绑定好的常量,同时额外演示了如何把第五个状态也一起统计(如果你的 DTO 没有对应字段,也可删掉相应那一行)。 <!-- 1. 定义可复用的常量绑定 --> <sql id"DeviceStatusCon…...
一次讲明白SaaS、PaaS、IaaS、aPaaS、iPaaS、RaaS、RPAaaS
在数字化浪潮与5G技术的强势驱动下,各行业对云服务的需求正呈现出井喷式增长态势,众多企业纷纷投身云服务的怀抱,以期在激烈的市场竞争中抢占先机。而谷云科技作为iPaaS领域的佼佼者,也在这股浪潮中大放异彩,助力企业实…...
RTDETRv2 pytorch训练
RTDETRv2 pytorch训练 1. 代码获取2. 数据集制作3. 环境配置4. 代码修改1)configs/dataset/coco_detection.yml2) configs/src/data/coco_dataset.py3)configs/src/core/yaml_utils.py4)configs/rtdeterv2/include/optimizer.yml 5. 代码训练…...
Unity3D仿星露谷物语开发39之非基于网格的光标
1、目标 当鼠标移动到reapable scenary(可收割庄稼)上方时,光标会变成十字架。 之前章节中,Grid有Dug/Watered属性,光标移动上方时会显示方框。 而这次的功能并非基于Grid的属性,而是基于scenary&#x…...
什么是 MCP?AI 应用的“USB-C”标准接口详解
目录 🧩 什么是 MCP?AI 应用的“USB-C”标准接口详解 📌 背景与动机 🧠 核心概念 🏗️ 技术架构 🚀 应用场景 🧩 什么是 MCP?AI 应用的“USB-C”标准接口详解 📌 背…...
狼人杀中的智能策略:解析AI如何理解复杂社交游戏
想要掌握如何将大模型的力量发挥到极致吗?叶梓老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。 1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型,以发挥其…...
10 基于Gazebo和Rviz实现导航仿真,包括SLAM建图,地图服务,机器人定位,路径规划
在9中我们已经实现了机器人的模块仿真,现在要在这个基础上实现SLAM建图,地图服务,机器人定位,路径规划 1. 还是在上述机器人的工作空间下,新建功能包(nav),导入依赖 gmapping ma…...
jmeter-Beashell获取请求body data
在使用JMeter的BeanShell处理器或BeanShell断言中获取HTTP请求的body数据,可以通过几种方式实现。下面是一些常用的方法: 方法1:使用prev变量 在BeanShell处理器或断言中,prev变量可以用来访问最近的sampler(采样器&…...
区块链密码学核心
文章目录 概要1. 基础密码学哈希函数(Hash Function)对称加密与非对称加密数字签名(Digital Signature)密钥管理 2. 区块链专用密码学技术零知识证明(Zero-Knowledge Proof, ZKP)同态加密(Homom…...
Git 多账号切换及全局用户名设置不生效问,GIT进行上传无权限问题
解决 Git 多账号切换及全局用户名设置不生效问题 在软件开发过程中,我们经常会使用 Git 进行版本控制。有时,我们需要在同一台机器上管理多个 Git 账号,最近我在进行使用git的时候因为项目要进行上传的不同的git账号,但是通过本地…...
阿里云服务迁移实战: 04-IP 迁移
普通过户 如资料过户按量付费EIP所述,如果原账号是个人账号,则目标账号无限制,如果原账号是企业账号,则目标账号必须为相同认证主体的企业账号。 其主要操作就是,在原账号发起过户,在新账号接收过户。具体…...
探索PyTorch中的空间与通道双重注意力机制:实现concise的scSE模块
探索PyTorch中的空间与通道双重注意力机制:实现concise的scSE模块 在深度学习领域,尤其是在计算机视觉任务中,特征图的注意力机制变得越来越重要。近期,我在研究一种结合了通道和空间两种注意力机制的模块——Concise Spatial an…...
关闭正点原子atk-qtapp-start.service
# 查找相关服务 systemctl list-units --typeservice --staterunning # 查看详细信息 systemctl status atk-qtapp-start.service >> ● atk-qtapp-start.service - Qt App Start …...
[按键安卓ios脚本辅助插件开发]数组排序函数例子
按键安卓ios工具辅助脚本插件开发教程,教程目的是让大家掌握Lua基本语法与按键精灵手机版的插件开发制作。 在按键精灵中排序需要我们自己写算法实现,例如快速排序,冒泡排序等,而在Lua中有内置的table.sort()排序命令。 这个命令…...
【BotSharp框架示例 ——实现聊天机器人,并通过 DeepSeek V3实现 function calling】
BotSharp框架示例 ——实现聊天机器人,并通过 DeepSeek V3实现 function calling 一、一点点感悟二、创建项目1、创建项目2、添加引用3、MyWeatherPlugin项目代码编写4、WeatherApiDefaultService项目代码编写5、WebAPI MyWeatherAPI 的项目代码编写6、data文件夹中…...
记录一个单独读取evt.bdf的方法
问题描述 之前只能使用eeglab的工具,读取博瑞康达的data.bdf和evt.bdf时,使用的是eeglab的下面这个读取文件的插件。 evt.bdf使用记事本文件查看是乱码的形式。 实现方法 事实上,我们可以直接对这个文件的16进制进行解析。 对文件的位和…...
是否想要一个桌面哆啦A梦的宠物
是否想拥有一个在指定时间喊你的桌面宠物呢(手动狗头) 如果你有更好的想法,欢迎提出你的想法。 是否考虑过跟开发者一对一,提出你的建议(狗头)。 https://wwxc.lanzouo.com/idKnJ2uvq11c 密码:bbkm...
防爆风扇储能轴流风机风量风压如何保障通风安全?
在化工车间、煤矿巷道等高危环境中,通风安全是保障生产与人员生命安全的关键防线。防爆风扇储能轴流风机凭借独特的风量风压设计与性能优势,成为守护通风安全的可靠屏障。那么,它究竟是如何发挥作用的呢? 从风量设计来看,防爆风…...
Centos 7系统 宝塔部署Tomcat项目(保姆级教程)
再看文章之前默认已经安装好系统,可能是云系统,或者是虚拟机。 宝塔安装 这个比较简单,参考这个老哥的即可: https://blog.csdn.net/weixin_42753193/article/details/125959289 环境配置 进入宝塔面板之后会出现环境安装&…...
Electron读取本地文件
在 Electron 应用中,可以使用 Node.js 的 fs 模块来读取本地文件。以下是如何实现这一功能的详细步骤。 1. 设置项目结构 假设你的项目目录如下: my-electron-app/ ├── main.js ├── index.html └── renderer.js2. 使用 fs 模块读取文件 在主…...
Plesk 下的 IP 地址管理
Plesk是一个方便管理的控制面板,可以简化网站主机和服务器数据中心的自动化管理。它专为提供Windows和Linux服务器的供应商设计。Plesk面板适用于虚拟主机和独立服务器 服务器管理员可以使用Plesk来配置新网站、电子邮件系统和转售商账户,也可以通过Ple…...
基于STM32、HAL库的DS28E15P安全验证及加密芯片驱动程序设计
一、简介: DS28E15P是Maxim Integrated (现为Analog Devices)生产的一款1-Wire EEPROM芯片,具有以下特点: 1-Wire接口通信,仅需单根数据线加地线 1024位(128字节)EEPROM存储器 每个器件具有唯一的64位ROM ID 工作电压范围:2.8V至5.25V 内置CRC16校验功能 可编程写保护功能…...
浅析localhost、127.0.0.1 和 0.0.0.0的区别
文章目录 三者的解释三者的核心区别总结使用场景示例什么是回环地址常见问题开发工具中的地址使用为什么开发工具同时支持localhost和127.0.0.1?实际应用示例VSCode中的Live Server插件VSCode中的VUE项目IDEA中的Spring Boot应用 最佳实践建议 localhost、 127.0.0…...
antd+react实现html图片预览效果
import { Image } from ‘antd’; import { useEffect, useRef, useState } from ‘react’; import styles from ‘./index.module.less’; interface PreviewHtmlWithImagesProps { htmlContent: string; } const PreviewHtmlWithImages: React.FC ({ htmlContent }) >…...
【React】轻松掌握 React 中 useEffect的使用
你有没有想过,为什么你的 React 组件能够轻松应对周围发生的变化,比如每当有新数据到来时自动更新,或者处理可以动态响应实时事件的组件?这就是 useEffect 的用武之地!这个强大的钩子(Hook)就像…...
请简述一下什么是 Kotlin?它有哪些特性?
1 JVM 语言的共性:编译成字节码文件 Kotlin 和 Java 同属于 JVM(Java Virtual Machine)语言,它们的代码最终都会被编译成 JVM 字节码(.class)文件。 编译流程: Kotlin 编译:Kotli…...
Post与Get以及@Requestbody和@Pathvariable标签的应用
Post的使用场景:简单来讲适用于有安全性限制的,因为post请求的内容会被存在某个封装内容中(比如表单、jason格式等),这部分内容是不会被浏览器的cache所捕捉,安全性较强。 Get的使用场景:与pos…...
基于tabula对pdf中的excel进行识别并转换成word(三)
上一节中是基于PaddleOCR对图片中的excel进行识别并转换成word优化,本节改变思路,直接从pdf中读取表格的信息,具体思路如下所述。 PDF中的表格数据如下截图所示: 一、基于tabula从PDF中提取表格 df_list tabula.read_pdf("…...
k8s集群环境部署业务系统
k8s集群环境部署业务系统,通过shell脚本整合部署过程,简化部署流程。操作流程如下: A,B为业务系统服务名。 一.部署前准备。在k8s集群各节点执行该脚本,完成业务系统镜像加载。 #!/bin/bash # 1.删除deployment ech…...
MySQL 8.4.4 安全升级指南:从漏洞修复到版本升级全流程解析
目录 二、升级前关键注意事项 1. 数据安全与备份 2. 版本兼容性与路径规划 三、分步升级操作流程 1. 环境预检与准备 2. 安装包部署 3. 强制升级组件 4. 验证与启动 一、背景与必要性 近期安全扫描发现生产环境的 MySQL 数据库存在多个高危漏洞(CVE 详情参见Oracle 官…...