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

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.3.2Kibana可视化初探

👉 点击关注不迷路
👉 点击关注不迷路
👉 点击关注不迷路


文章大纲

  • 10分钟快速部署`Kibana`可视化平台
    • 1. `Kibana`与`Elasticsearch`关系解析
      • 1.1 架构关系示意图
      • 1.2 核心功能矩阵
    • 2. 系统环境预检
      • 2.1 硬件资源配置
      • 2.2 软件依赖清单
    • 3. Docker快速部署方案
      • 3.1 一键部署命令
      • 3.2 关键环境变量
    • 4. 手动部署操作指南
      • 4.1 标准安装流程
      • 4.2 核心配置项
      • 4.3 启动与守护进程
    • 5. 核心功能初探
      • 5.1 数据导入演示
      • 5.2 可视化看板创建步骤
      • 5.3 实时监控看板示例
    • 6. 安全配置最佳实践
      • 6.1 HTTPS加密配置
      • 6.2 访问控制矩阵
    • 7. 部署方案对比分析
    • 8. 可视化效果验证
      • 8.1 健康检查命令
    • 8.2 性能压力测试
    • 9. 常见问题解决方案
      • 9.1 连接异常排查表
      • 9.2 性能优化检查表
    • 结论

10分钟快速部署Kibana可视化平台


1. KibanaElasticsearch关系解析

  • Kibana 是一款开源的数据分析和可视化平台,常与 Elasticsearch 配合使用。
    • Kibana 提供了简单易用的用户界面,让用户可以轻松地与 Elasticsearch 中的数据进行交互,它可以帮助用户快速地探索、可视化和分析存储在 Elasticsearch 中的数据,无需编写复杂的代码。

1.1 架构关系示意图

在这里插入图片描述

  • Logstash 是一款开源的数据收集引擎,具有强大的数据处理和转换能力。
    • 主要用于从不同的数据源收集数据,然后对数据进行处理和转换,最后将数据输出到指定的目标存储或分析系统中,常用于日志收集、数据整合等场景,是 Elastic Stack(ELK Stack)的重要组成部分。
  • Beats 是 Elastic 公司开发的一系列轻量级数据采集器。能够采集不同来源的数据,并将其发送到 LogstashElasticsearch 等后端系统进行处理和分析,为用户提供了一种简单、高效的数据采集方式,适用于各种规模的环境。

1.2 核心功能矩阵

功能模块作用描述数据吞吐量
Discover数据探索与检索1000+ docs/s
Dashboard多维度数据看板实时刷新
Visualize可视化图表构建50+图表类型
Dev ToolsREST API交互控制台直接执行DSL
Machine Learning机器学习分析需X-Pack授权

在这里插入图片描述

2. 系统环境预检

2.1 硬件资源配置

资源类型最低要求推荐配置
CPU2核4核+
内存2GB8GB
磁盘空间1GB10GB+
网络带宽10Mbps100Mbps

2.2 软件依赖清单

组件版本要求检测命令
Node.js>=14.20.1node -v
ElasticsearchKibana版本严格一致curl http://es:9200
浏览器Chrome 85+/Firefox 80+-

3. Docker快速部署方案

3.1 一键部署命令

  • ELK(Elasticsearch、Logstash、Kibana)技术栈
# 创建专用网络
docker network create elk-network# 启动Kibana容器
docker run -d \--name kibana \--net elk-network \-p 5601:5601 \-e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \-v /data/kibana/config:/usr/share/kibana/config \docker.elastic.co/kibana/kibana:8.9.0

3.2 关键环境变量

变量名称作用说明示例值
SERVER_HOST服务绑定地址“0.0.0.0”
SERVER_NAME实例显示名称“prod-kibana-01”
ELASTICSEARCH_USERNAMEES认证用户名“kibana_system”
ELASTICSEARCH_PASSWORDES认证密码“Chang3Me!”

4. 手动部署操作指南

4.1 标准安装流程

# 下载安装包
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.9.0-linux-x86_64.tar.gz# 解压文件
tar -zxvf kibana-8.9.0-linux-x86_64.tar.gz
cd kibana-8.9.0/# 创建专用用户
useradd kibana -s /bin/bash
chown -R kibana:kibana .# 修改配置文件
vi config/kibana.yml

4.2 核心配置项

server.port: 5601server.host: "0.0.0.0"elasticsearch.hosts: ["http://localhost:9200"]elasticsearch.username: "kibana_system"elasticsearch.password: "your_password"i18n.locale: "zh-CN"  # 中文界面

4.3 启动与守护进程

# 前台启动测试
su kibana
bin/kibana# 生产环境后台运行
nohup bin/kibana > logs/kibana.log 2>&1 &

5. 核心功能初探

5.1 数据导入演示

# 通过Dev Tools导入样本数据POST _bulk
{"index":{"_index":"web_logs"}}
{"timestamp":"2023-07-20T08:15:32Z","status":200,"responseTime":87}
{"index":{"_index":"web_logs"}}
{"timestamp":"2023-07-20T08:16:11Z","status":404,"responseTime":210}

5.2 可视化看板创建步骤

  • 进入 Discover 选择 web_logs 索引
  • 点击 Create visualization 选择柱状图
  • X轴配置日期直方图字段:timestamp
  • Y轴配置平均响应时间:responseTime
  • 保存为响应时间趋势分析

5.3 实时监控看板示例

监控指标可视化类型刷新频率
请求成功率计量器5秒
响应时间分布热力图实时
错误类型统计饼图10秒

6. 安全配置最佳实践

6.1 HTTPS加密配置

# 启用 Kibana 服务器的 SSL/TLS 加密。设置为 true 表示开启 SSL 功能,
# 开启后 Kibana 服务器将通过 HTTPS 协议进行通信,提高数据传输的安全性
server.ssl.enabled: true# 指定用于 Kibana 服务器 SSL/TLS 《连接的证书文件路径》。
# 此证书文件(通常为 .crt 或 .pem 格式)包含服务器的公钥信息,
# 客户端(如浏览器)会使用该证书验证服务器的身份
server.ssl.certificate: /path/to/kibana.crt# 指定用于 Kibana 服务器 SSL/TLS 《连接的私钥文件路径》。
# 私钥与上面指定的证书文件中的公钥是一对密钥,用于加密和解密通信数据
server.ssl.key: /path/to/kibana.key# 指定用于验证 Elasticsearch 服务器证书的 CA(证书颁发机构)证书文件路径。
# 当 Kibana 与 Elasticsearch 进行通信时,Kibana 会使用该 CA 证书来验证 Elasticsearch 服务器提供的证书是否由受信任的 CA 颁发,
# 从而确保与 Elasticsearch 通信的安全性
elasticsearch.ssl.certificateAuthorities: /path/to/ca.crt

6.2 访问控制矩阵

用户角色权限范围操作限制
viewer只读所有仪表盘禁止修改/删除
developer可创建/修改可视化禁止系统设置
admin完全控制权限无限制

7. 部署方案对比分析

一般来说Docker部署也适用于生产环境等多种场景,并且在安全审计方面有其自身优势等。以下是对比详情表格:

对比维度Docker部署优势手动部署优势
启动速度通常能在30秒内完成部署,容器启动迅速,基于镜像快速加载一般需5分钟以上,涉及软件安装、配置等诸多步骤
版本管理镜像版本可精确控制,方便实现版本回滚和多版本管理依赖手动检查更新,容易出现版本不一致或遗漏更新的情况
资源隔离利用独立网络命名空间、cgroups等技术实现良好的资源隔离和限制,不同容器间相互独立默认共享系统资源,如需隔离需进行复杂的配置和管理
安全审计有专门的容器安全工具和技术,可进行容器级别的安全审计和防护,能与一些云安全平台集成可直接对接系统审计,对系统整体安全状况进行审计,安全策略制定相对直接
适用场景快速原型验证、CI/CD环境、微服务架构、多环境部署等,便于快速迭代和扩展对稳定性要求极高的传统生产环境、对合规性有特殊严格要求且容器技术难以满足的场景、遗留系统等
  • cgroupsControl Groups,是 Linux 内核提供的一种机制,用于对进程组的资源使用进行限制、监控和隔离。
  • CI/CD 即持续集成(Continuous Integration)和持续交付 / 部署(Continuous Delivery/Continuous Deployment),是现代软件开发中至关重要的一套实践方法。

8. 可视化效果验证

8.1 健康检查命令

curl -XGET "http://localhost:5601/api/status" | jq .status.overall.state# 预期输出
"green"

8.2 性能压力测试

# 使用k6进行负载测试
k6 run -e URL=http://localhost:5601 -u 50 -d 60s script.js# 典型测试结果
| 虚拟用户数 | 平均响应时间 | 错误率 | 吞吐量      |
|-----------|--------------|--------|------------|
| 50        | 320ms        | 0.12%  | 156 req/s  |

9. 常见问题解决方案

9.1 连接异常排查表

错误现象诊断步骤解决方案
“Unable to connect to Elasticsearch”1. 检查ES服务状态
2. 验证网络连通性
3. 查看安全组规则
配置正确的ES地址和认证信息
界面加载缓慢1. 监控内存使用率
2. 检查Nginx反向代理配置
增加JVM堆内存至4GB
可视化图表无数据1. 验证索引模式匹配
2. 检查时间范围设置
创建正确的索引模式

9.2 性能优化检查表

  • 启用gzip压缩响应。启用 gzip 压缩可以在数据从 Elasticsearch 传输到客户端(如 Kibana 或其他应用程序)时,减少数据传输量,从而降低网络带宽的使用,提高数据传输速度,尤其是在处理大量数据或高并发请求时效果显著。
    • http.compression: true:开启 gzip 压缩功能。
    • http.compression_level:设置压缩级别,取值范围为 1 - 9,数值越大压缩比越高但会消耗更多的 CPU 资源,默认值为 6
  • 配置查询缓存
    • 查询缓存可以将频繁执行的查询结果缓存起来,当相同的查询再次发起时,直接从缓存中获取结果,而不需要重新执行查询,从而减少查询的响应时间,提高系统的性能。indices.queries.cache.size: 20%
  • 定期清理旧索引。可以使用 Elasticsearch 的索引生命周期管理(ILM)功能来自动管理索引的生命周期,也可以编写脚本定期执行删除操作。
  • 使用Canvas轻量级渲染CanvasKibana 中的一个功能,用于创建自定义的可视化报表和仪表盘。它采用轻量级渲染方式。
  • 开启OPTI-MODE优化模式
    • 调整 JVM 堆内存:在 jvm.options 文件中合理设置 JVM 堆内存大小,避免内存不足或浪费。
    • 优化分片和副本设置:根据数据量和查询负载,合理设置索引的分片数和副本数。对于数据量较小的索引,可以减少分片数,降低系统的管理开销;对于高可用性要求较高的场景,可以适当增加副本数。
    • 启用慢查询日志:在 elasticsearch.yml 中配置慢查询日志,记录执行时间超过一定阈值的查询,以便分析和优化查询性能。
index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.query.info: 5s
index.search.slowlog.threshold.query.debug: 2s
index.search.slowlog.threshold.query.trace: 500ms

结论

  • 通过本指南可在10分钟内搭建完整的可视化分析平台,Docker方案启动仅需3条命令,手动部署适合深度定制场景。
  • 建议开发环境使用kibana:8.9.0镜像快速启动,生产环境应配置HTTPS加密和RBAC权限控制。
  • 实际测试数据显示,单节点可支撑200+并发可视化请求。

相关文章:

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.3.2Kibana可视化初探

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 10分钟快速部署Kibana可视化平台1. Kibana与Elasticsearch关系解析1.1 架构关系示意图1.2 核心功能矩阵 2. 系统环境预检2.1 硬件资源配置2.2 软件依赖清单 3. Docker快速部…...

网络七层模型—OSI参考模型详解

网络七层模型:OSI参考模型详解 引言 在网络通信的世界中,OSI(Open Systems Interconnection)参考模型是一个基础且核心的概念。它由国际标准化组织(ISO)于1984年提出,旨在为不同厂商的设备和应…...

老旧android项目编译指南(持续更)

原因 编译了很多项目,找到了一些可观的解决办法 1. android studio里面的jdk版本切换 jdk版本切换在这里,一般安卓开发需要用到4个版本的jdk,jdk8, jdk11, jdk17, jdk21新版的android stuio是默认使用高版本的jdk,所以切换版本是很有必要的 2. 命令…...

测试金蝶云的OpenAPI

如何使用Postman测试K3Cloud的OpenAPI 1. 引言 在本篇博客中,我将带你逐步了解如何使用Postman测试和使用K3Cloud的OpenAPI。内容包括下载所需的SDK文件、配置文件、API调用及测试等步骤。让我们开始吧! 2. 下载所需的SDK文件 2.1 获取SDK 首先&…...

从零基础到通过考试

1. 学习资源与实践平台 使用Proving Grounds进行靶机练习 OSCP的备考过程中,实战练习占据了非常重要的地位。Proving Grounds(PG)是一个由Offensive Security提供的练习平台,拥有152个靶机,涵盖了从基础到进阶的多种…...

AI人工智能机器学习之神经网络

1、概要 本篇学习AI人工智能机器学习之神经网络,以MLPClassifier和MLPRegressor为例,从代码层面讲述最常用的神经网络模型MLP。 2、神经网络 - 简介 在 Scikit-learn 中,神经网络是通过 sklearn.neural_network 模块提供的。最常用的神经网…...

【原创】Open WebUI 本地部署

使用官网的默认部署,遇到不少的问题。比如白屏问题,其实需要修改几个参数即可。 其实在部署的时候有不少参数 WEBUI_AUTH False ENABLE_OPENAI_API 0 PATH /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG C.UTF-8…...

基于SpringBoot的绿城郑州爱心公益网站设计与实现现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

【天地图-点线面最全功能】天地图实现功能:回显、绘制、编辑、删除任意点线面

实现效果图 实现功能 1. 回显点线面数据 2. 绘制点线面,保存可获取点线面数据 3. 编辑点线面,保存可获取最新编辑后的点线面数据 4. 删除任意点线面(解决删除按钮不能随元素位置变化(地图拖拽/放大缩小时)而变化问题-&…...

003 SpringBoot集成Kafka操作

4.SpringBoot集成Kafka 文章目录 4.SpringBoot集成Kafka1.入门示例2.yml完整配置3.关键配置注释说明1. 生产者优化参数2. 消费者可靠性配置3. 监听器高级特性4. 安全认证配置 4.配置验证方法5.不同场景配置模板场景1:高吞吐日志收集场景2:金融级事务消息…...

【工具篇】【深度解析:2025 AI视频工具的全面指南】

随着人工智能技术的飞速发展,AI视频工具已经成为内容创作者、营销人员、教育工作者以及普通用户的得力助手。这些工具不仅简化了视频制作流程,还提供了前所未有的创意可能性。本文将详细介绍各类AI视频工具,帮助你找到最适合自己需求的工具。 1. 文生视频工具 智谱清影:这…...

前端面试真题 2025最新版

文章目录 写在前文CSS怪异盒模型JS闭包闭包的形成闭包注意点 CSS选择器及优先级优先级 说说flex布局及相关属性Flex 容器相关属性:Flex 项目相关属性 响应式布局如何实现是否用过tailwindcss,有哪些好处好处缺点 说说对象的 prototype属性及原型说说 pro…...

数据结构课程设计(java实现)---九宫格游戏,也称幻方

【问题描述】 九宫格,一款数字游戏,起源于河图洛书,与洛书是中国古代流传下来的两幅神秘图案,历来被认为是河洛文化的滥觞,中华文明的源头,被誉为"宇宙魔方"。九宫格游戏对人们的思维锻炼有着极大…...

一文掌握Charles抓包工具的详细使用

Charles是一款强大的HTTP代理/HTTP监视器/反向代理工具,广泛用于开发和测试网络应用程序。在爬虫开发中,Charles可以帮助开发者拦截、查看和修改HTTP/HTTPS请求和响应,从而更好地理解网络通信过程,分析和调试爬虫程序。本文将详细介绍Charles的安装、配置、基本使用方法以及…...

Ollama下载安装+本地部署DeepSeek+UI可视化+搭建个人知识库——详解!(Windows版本)

目录 1️⃣下载和安装Ollama 1. 🥇官网下载安装包 2. 🥈安装Ollama 3.🥉配置Ollama环境变量 4、🎉验证Ollama 2️⃣本地部署DeepSeek 1. 选择模型并下载 2. 验证和使用DeepSeek 3️⃣使用可视化工具 1. Chrome插件-Page …...

Rk3568驱动开发_点亮led灯(手动挡)_5

1.MMU简介 完成虚拟空间到物理空间的映射 内存保护设立存储器的访问权限,设置虚拟存储空间的缓冲特性 stm32点灯可以直接操作寄存器,但是linux点灯不能直接访问寄存器,linux会使能mmu linux中操作的都是虚拟地址,要想访问物理地…...

【服务治理中间件】consul介绍和基本原理

目录 一、CAP定理 二、服务注册中心产品比较 三、Consul概述 3.1 什么是Consul 3.2 Consul架构 3.3 Consul的使用场景 3.4 Consul健康检查 四、部署consul集群 4.1 服务器部署规划 4.2 下载解压 4.3 启动consul 五、服务注册到consul 一、CAP定理 CAP定理&#xff…...

Docker下ARM64架构的源码编译Qt5.15.1,并移植到开发板上

Docker下ARM64架构的源码编译Qt5.15.1,并移植到开发板上 1、环境介绍 QT版本:5.15.1 待移植环境: jetson nano 系列开发板 aarch64架构(arm64) 编译环境: 虚拟机Ubuntu18.04(x86_64) 2、…...

对话Stack Overflow,OceanBase CTO 杨传辉谈分布式数据库的“前世今生”

近日, OceanBase CTO 杨传辉受邀出席全球知名开发者论坛 Stack Overflow 的最新一期播客节目,与 Stack Overflow 高级内容创作官 Ryan Donovan 展开对话。双方围绕分布式数据库的可靠性、一致性保障、HTAP 架构以及 AI 时代分布式数据库的发展趋势等热点…...

ds回答-开源llm应用开发平台

以下是几个著名的开源 LLM 应用开发平台,涵盖不同场景和技术特点: 1. Dify 特点:低代码 / 无代码开发、支持 RAG 检索、Agent 智能体、模型管理、LLMOps 全流程优化。核心功能:可视化工作流编排、数百种模型兼容(如 GP…...

C++ Qt常见面试题(4):Qt事件过滤器

在 Qt 中,事件过滤器(Event Filter)提供了一种机制,可以拦截并处理对象的事件(如鼠标事件、键盘事件等),在事件到达目标对象之前对其进行预处理。事件过滤器通常用于以下场景: 捕获和处理特定的事件(如鼠标点击、按键等);对事件进行筛选或修改;实现全局的事件监听功…...

CF 109A.Lucky Sum of Digits(Java实现)

题目分析 给定一个值,判断这个值能否被4和7组成,如果能就输出最小的组合。不能就输出-1。 思路分析 由于是最小组合,即判断4能最多有多少个。但是如果一个值能完全被7整除,那就不需要4了,只用7组合的话位数会更短。(例…...

计算机毕业设计Python+DeepSeek-R1大模型游戏推荐系统 Steam游戏推荐系统 游戏可视化 游戏数据分析(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

生鲜行业智能化供应链解决方案技术白皮书

行业痛点与技术挑战 损耗控制难题 行业平均损耗率达18%-25%,需构建动态定价模型与智能分拣系统 冷链管理复杂度 全程温控数据采集点超过23个/车次,异常响应延迟需压缩至90秒内 供需预测偏差 传统模式预测准确率不足65%,亟需AI驱动需求预测体…...

《每天搞懂一道Hard》之数独终结者(LeetCode 37)

📌《每天搞懂一道Hard》之数独终结者(LeetCode 37) 🔗原题链接:https://leetcode.com/problems/sudoku-solver/ 今天我们来解剖一个经典回溯算法问题——数独求解器!这道题在算法面试中出现频率高达35%&a…...

论文笔记-NeurIPS2017-DropoutNet

论文笔记-NeurIPS2017-DropoutNet: Addressing Cold Start in Recommender Systems DropoutNet:解决推荐系统中的冷启动问题摘要1.引言2.前言3.方法3.1模型架构3.2冷启动训练3.3推荐 4.实验4.1实验设置4.2在CiteULike上的实验结果4.2.1 Dropout率的影响4.2.2 实验结…...

【后端开发面试题】每日 3 题(四)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:https://blog.csdn.net/newin2020/category_12903849.html 📚专栏简介:在这个专栏中,我将会分享后端开发面试中常见的面试题给大家~ ❤️如果有收获的话&#x…...

使用AoT让.NetFramework4.7.2程序调用.Net8编写的库

1、创建.Net8的库&#xff0c;双击解决方案中的项目&#xff0c;修改如下&#xff0c;启用AoT&#xff1a; <Project Sdk"Microsoft.NET.Sdk"><PropertyGroup><OutputType>Library</OutputType><PublishAot>true</PublishAot>&…...

c++中的静态多态和动态多态简介

在 C 中&#xff0c;多态性&#xff08;Polymorphism&#xff09; 分为 静态多态&#xff08;Static Polymorphism&#xff09; 和 动态多态&#xff08;Dynamic Polymorphism&#xff09;&#xff0c;二者通过不同的机制实现代码的灵活性。以下是详细对比和核心要点&#xff1…...

FastExcel与Reactor响应式编程深度集成技术解析

一、技术融合背景与核心价值 在2025年企业级应用开发中&#xff0c;大规模异步Excel处理与响应式系统架构的结合已成为技术刚需。FastExcel与Reactor的整合方案&#xff0c;通过以下技术协同实现突破性性能&#xff1a; 内存效率革命&#xff1a;FastExcel的流式字节操作与Re…...

【MySQL篇】数据类型

目录 前言&#xff1a; 1&#xff0c;数据类型的分类 ​编辑 2 &#xff0c;数值类型 2.1 tinyint类型 2.2 bit类型 2.3 小数类型 2.3.1 float类型 2.3.2 decimal类型 3&#xff0c;字符串类型 3.1 char 3.2 varchar 3.3 char与varchar的比较 3.4日期和时间类型 3.5 …...

haclon固定相机位标定

什么是标定&#xff1f; 工业应用中相机拍到一个mark点的坐标为C1&#xff08;Cx,Cy&#xff09;&#xff0c;C1点对应的龙门架/机械手等执行端对应的坐标是多少&#xff1f; 标定就是解决这个问题&#xff0c;如相机拍到一个点坐标C1&#xff08;Cx,Cy&#xff09;&#xff0c…...

Token相关设计

文章目录 1. 双Token 机制概述1.1 访问令牌&#xff08;Access Token&#xff09;1.2 刷新令牌&#xff08;Refresh Token&#xff09; 2. 双Token 认证流程3. Spring Boot 具体实现3.1 生成 Token&#xff08;使用 JWT&#xff09;3.2 解析 Token3.3 登录接口&#xff08;返回…...

vue3:四嵌套路由的实现

一、前言 1、嵌套路由的含义 嵌套路由的核心思想是&#xff1a;在某个路由的组件内部&#xff0c;可以定义子路由&#xff0c;这些子路由会渲染在父路由组件的特定位置&#xff08;通常是 <router-view> 标签所在的位置&#xff09;。通过嵌套路由&#xff0c;你可以实…...

在 Element Plus 的 <el-select> 组件中,如果需要将 <el-option> 的默认值设置为 null。 用于枚举传值

文章目录 引言轻松实现 `<el-option>` 的默认值为 `null`I 实现方式监听清空事件 【推荐】使用 v-model 绑定 null添加一个值为 null 的选项处理 null 值的显示引言 背景:接口签名规则要求空串参与,空对象不参与签名计算 // 空字符串“” 参与签名组串,null不参与签…...

List(3)

前言 上一节我们讲解了list主要接口的模拟实现&#xff0c;本节也是list的最后一节&#xff0c;我们会对list的模拟实现进行收尾&#xff0c;并且讲解list中的迭代器失效的情况&#xff0c;那么废话不多说&#xff0c;我们正式进入今天的学习 list的迭代器失效 之前在讲解vec…...

算法-二叉树篇23-二叉搜索树中的插入操作

二叉搜索树中的插入操作 力扣题目链接 题目描述 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同…...

React底层常见的设计模式

在React中&#xff0c;常见的设计模式为开发者提供了结构化和可重用的解决方案&#xff0c;有助于提高代码的可维护性和可扩展性。以下是对React中几种常见设计模式的详细解析&#xff0c;并附上示例代码和注释&#xff1a; 1. 容器组件与展示组件模式&#xff08;Container/P…...

【PHP脚本语言详解】为什么直接访问PHP文件会显示空白?从错误示例到正确执行!

前言 作为一名开发者&#xff0c;你是否曾经遇到过这样的问题&#xff1a;写了一个PHP脚本&#xff0c;放到服务器根目录后&#xff0c;直接通过file:///路径访问却显示空白页面&#xff1f;而换成http://localhost却能正常显示&#xff1f;这篇文章将带你深入理解PHP脚本语言…...

小程序性能优化-预加载

在微信小程序中&#xff0c;数据预加载是提升用户体验的重要优化手段。以下是处理数据预加载的完整方案&#xff1a; 一、预加载的适用场景 跳转页面前的数据准备 如从列表页进入详情页前&#xff0c;提前加载详情数据首屏加载后的空闲时间 在首页加载完成后&#xff0c;预加载…...

Docker 数据卷管理及优化

Docker 数据卷是一个可供容器使用的特殊目录&#xff0c;它绕过了容器的文件系统&#xff0c;直接将数据存储在宿主机上。通过数据卷&#xff0c;可以实现数据的持久化、共享以及独立于容器生命周期的管理。 1.1 为什么要用数据卷 Docker 分层文件系统的特点 性能差&#xff…...

MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享

一、背景 在文档搜索场景中&#xff0c;高效精准的搜索功能至关重要&#xff0c;能提升检索效率&#xff0c;为用户提供精准、快速的信息获取体验&#xff0c;提高工作效率。在文档管理系统里&#xff0c;全文搜索是非常重要的功能之一。随着文档数量增长&#xff0c;如何快速…...

C#内置委托(Action)(Func)

概述 在 C# 中&#xff0c;委托是一种类型&#xff0c;它表示对具有特定参数列表和返回类型的方法的引用。C# 提供了一些内置委托&#xff0c;使得开发者可以更方便地使用委托功能&#xff0c;无需手动定义委托类型。本文将详细介绍 Action 和 Func 这两个常用的内置委托。 A…...

OpenCV计算摄影学(3)CUDA 图像去噪函数fastNlMeansDenoising()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用非局部均值去噪算法&#xff08;Non-local Means Denoising algorithm&#xff09;执行图像去噪&#xff0c;该算法来源于 http://www.ipol.…...

Kafka生产者相关

windows中kafka集群部署示例-CSDN博客 先启动集群或者单机也OK 引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.9.0</version></dependency>关于主题创建 理论…...

【容器化】低版本docker拉取ubuntn 22.04镜像启动容器执行apt update提示 NO_PUBKEY 871920D1991BC93C

前置信息 宿主机信息 [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR…...

如何流畅访问github

1.传输数据原理 本地计算机通过本地网接入运营骨干网&#xff0c;经过DNS域名解析&#xff0c;将输入的字符解析为要连接的真实IP地址&#xff0c;服务器返还一个数据包(github)给计算机 2.原因 DNS域名污染-DNS解析出现问题&#xff0c;导致访问一个不存在的服务器 3.解决…...

vue3:三项目增加404页面

一、路由添加 1、官网地址 带参数的动态路由匹配 | Vue Routerhttps://router.vuejs.org/zh/guide/essentials/dynamic-matching.html 2、复制核心语句 { path: /:pathMatch(.*)*, name: NotFound, component: NotFound } 3、粘贴到路由index.js中 4、建立页面 在view文件夹…...

纯c#字体处理库(FontParser) -- 轻量、极速、跨平台、具有字体子集化功能

关于字体库与 FontParser 的开发历程   字体库是用于处理和渲染字体的软件工具&#xff0c;其功能通常涵盖字体文件的加载、解析、字形渲染和文本布局等核心模块。在众多字体库中&#xff0c;FreeType 是被广泛应用且极具影响力的开源项目&#xff0c;已成为事实上的行业标准…...

云和恩墨亮相PolarDB开发者大会,与阿里云深化数据库服务合作

2025年2月26日&#xff0c;备受瞩目的阿里云PolarDB开发者大会于北京嘉瑞文化中心盛大举行&#xff0c;众多行业精英齐聚一堂&#xff0c;共襄技术盛会。云和恩墨作为阿里云重要的生态合作伙伴受邀参会。云和恩墨联合创始人兼技术研究院总经理杨廷琨与阿里云智能数据库产品事业…...