Kibana 部署
Kibana 是一个开源的数据可视化和探索工具,主要用于 Elasticsearch 数据的分析和展示。本文将详细介绍如何在 Linux 系统上部署 Kibana,并启用 SSL 加密以确保安全通信。
英文文档:Kibana Guide | Elastic
中文文档:Kibana 用户手册 | Elastic
1. 环境准备
- 操作系统:CentOS 7 或其他兼容的 Linux 发行版
- Elasticsearch 版本:7.17.26
- Kibana 版本:7.17.26
说明:
本篇以 Elasticsearch 集群为例,部署kibana。 Elasticsearch 集群部署参考:Elasticsearch 集群部署-CSDN博客文章浏览阅读659次,点赞6次,收藏11次。Elasticsearch 是一个分布式的搜索和分析引擎,广泛应用于日志分析、全文搜索、实时数据分析等场景。它以其高性能、高可用性和易用性而著称。本文档将引导您完成一个基本的 Elasticsearch 集群配置,包括节点间的通信、客户端访问、安全设置等关键步骤。我们将通过三个节点(node1、node2、node3)来搭建一个高可用的 Elasticsearch 集群,以确保您的数据能够在多个节点之间高效地存储和检索。
https://blog.csdn.net/kersixy/article/details/144408895?spm=1001.2014.3001.5501
2. 下载和安装 Kibana
2.1 下载 Kibana
1. 方式一:安装包下载
访问 Elastic 官方下载页面:
Past Releases of Elastic Stack Software | ElasticLooking for a past release of Elasticsearch, Logstash, Kibana, es-hadoop, Shield, Marvel, or our language clients? You're in the right place....https://www.elastic.co/cn/downloads/past-releases#kibana选择与 Elasticsearch 版本相同的 Kibana 版本并点击下载:
点击 LINUX X86_64,下载 tar.gz 文件,上传到虚拟机。
2. 方式二:在线下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.26-linux-x86_64.tar.gz
2.2 解压 Kibana
1. 解压安装包
tar -zxvf kibana-7.17.26-linux-x86_64.tar.gz
mv kibana-7.17.26-linux-x86_64 /export/server/kibana
2. 创建日志目录
mkdir -p /export/server/kibana/logs
2.3 配置 Kibana
1. 编辑配置文件
打开 kibana.yml 文件进行配置:
sudo vi /export/server/kibana/config/kibana.yml
i 编辑文件,在文件中追加一下内容:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://node1:9200", "http://node2:9200", "http://node3:9200"]
kibana.index: ".kibana"
elasticsearch.username: "kibana_system"
elasticsearch.password: "elastic-pwd123"
xpack.security.enabled: true
logging.dest: /export/server/kibana/logs/kibana.log
i18n.locale: "zh-CN"
ESC 退出编辑,:wq 保存并退出。
说明:
- server.port:指定 Kibana 服务监听的端口为 5601。
- server.host:指定 Kibana 服务绑定到所有网络接口,0.0.0.0 表示允许从任何 IP 地址访问。在生产环境中,建议绑定到具体的 IP 地址以增加安全性。
- elasticsearch.hosts:指定 Kibana 连接的 Elasticsearch 集群节点地址。
- kibana.index:指定 Kibana 存储其元数据的索引名称。
- elasticsearch.username:指定连接 Elasticsearch 时使用的用户名。推荐使用的 Elasticsearch 内置用户名:
- elastic:超级用户,具有所有权限。
- kibana_system:专门用于 Kibana 的系统用户,具有 Kibana 所需的最小权限。
- elasticsearch.password: 指定连接 Elasticsearch 时使用的密码。
- xpack.security.enabled: 启用 X-Pack 安全特性。
- logging.dest:日志输出位置。
- i18n.locale:指定 Kibana 的界面语言,默认英语(en)。Kibana 支持以下语言(部分列出):
- en: 英语(默认)
- zh-CN: 简体中文
- zh-TW: 繁体中文
- ja: 日语
- fr: 法语
- de: 德语
- es: 西班牙语
- it: 意大利语
- pt-BR: 巴西葡萄牙语
- ru: 俄语
- ko: 韩语
2. 设置 Node.js 运行时的选项(7.17.13及以上配置)
打开 node.options 文件进行配置:
sudo vi /export/server/kibana/config/node.options
i 编辑文件,修改文件内容,将--openssl-legacy-provider注释掉。修改后的文件为:
## Node command line options
## See `node --help` and `node --v8-options` for available options
## Please note you should specify one option per line## max size of old space in megabytes
#--max-old-space-size=4096## do not terminate process on unhandled promise rejection--unhandled-rejections=warn## restore < Node 16 default DNS lookup behavior
--dns-result-order=ipv4first## enable OpenSSL 3 legacy provider
# --openssl-legacy-provider
ESC 退出编辑,:wq 保存并退出。
说明:
官网文档:Use Kibana in a production environment | Kibana Guide [7.17] | Elastic
对应原文为:
Starting in 7.17.13, Kibana has upgraded its runtime environment, Node.js, from version 16 to version 18 and with it the underlying version of OpenSSL to version 3. Algorithms deemed legacy by OpenSSL 3 have been re-enabled to avoid potential breaking changes in a minor version release of Kibana. If SSL certificates configured for Kibana are not using any of the legacy algorithms mentioned in the OpenSSL legacy provider documentation, we recommend disabling this setting by removing
--openssl-legacy-provider
in thenode.options
config file.
2.4 创建 Kibana 用户和组(可选)
1. 创建用户和组
sudo groupadd kibana
sudo useradd kibana -g kibana
2. 更改文件权限
sudo chown -R kibana:kibana /export/server/kibana
2.5 配置 Systemd 服务(可选)
1. 创建 Systemd 服务文件
sudo vi /usr/lib/systemd/system/kibana.service
2. 编辑服务文件
i 编辑文件,文件内容为:
[Unit]
Description=Kibana
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target[Service]
User=kibana
Group=kibana
ExecStart=/export/server/kibana/bin/kibana
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
说明:
如果是root用户启动,则需要将
User=kibana Group=kibana
改为:
User=root Group=root
3. 重新加载 Systemd 配置
sudo systemctl daemon-reload
4. 启动 Kibana 服务
sudo systemctl start kibana
5. 检查服务状态
sudo systemctl status kibana
2.6 启动 Kibana 服务(未配置 Systemd 服务执行该步骤)
1. 切换用户,root 用户启动无需切换
su kibana
2. 启动 Kibana 服务
方式一:直接启动(不推荐)
/export/server/kibana/bin/kibana
方式二:后台启动(推荐)
nohup /export/server/kibana/bin/kibana >/export/server/kibana/logs/kibana.log 2>&1 &
2.7 启用防火墙规则
sudo firewall-cmd --zone=public --add-port=5601/tcp --permanent
sudo firewall-cmd --reload
2.8 访问测试
浏览器访问http://ip地址:5601/
到此为止,Kibana 配置完成。
3. 启用 SSL 加密
为了启用 SSL 加密,你需要一个 SSL 证书和相应的私钥。你可以使用自签名证书,或者从受信任的证书颁发机构(CA)获取证书。以自签名证书(Self-Signed Certificate)为例(需手动续期):
1. 生成自签名证书
cd /export/server/kibana
openssl req -x509 -newkey rsa:4096 -keyout kibana.key -out kibana.crt -days 365 -nodes
-
Country Name (2 letter code) [XX]:国家代码,使用两个字母表示。
-
示例:CN(中国)、US(美国)、GB(英国)。
-
-
State or Province Name (full name) []:州或省份的全称。
-
示例:Beijing(北京)、California(加利福尼亚)。
-
-
Locality Name (eg, city) []:城市名。
-
示例:Beijing(北京)、San Francisco(旧金山)。
-
-
Organization Name (eg, company) []:组织或公司的名称。
-
示例:Example Inc.(示例公司)、Alibaba Cloud(阿里云)。
-
-
Organizational Unit Name (eg, section) []:组织单位的名称,通常是部门或小组。
-
示例:IT Department(IT部门)、DevOps Team(DevOps团队)。
-
-
Common Name (e.g. server FQDN or YOUR name) []:通用名称,通常是服务器的完全限定域名(FQDN)或服务器的主机名。注意:这里乱填会导致kibana无法访问,这里填写的内容确保能 ping 通。
-
示例:kibana.example.com(Kibana服务器的域名)、192.168.88.90(服务器地址)、node1(服务器主机名,需要配置/etc/hosts)
-
-
Email Address []:联系电子邮件地址。
-
示例:admin@example.com。
-
说明:
openssl req -x509 -newkey rsa:4096 -keyout kibana.key -out kibana.crt -days 365 -nodes命令含义:
openssl req: 调用 OpenSSL 的 req 命令,用于创建和处理 X.509 证书请求。
-x509: 指定生成自签名证书而不是证书请求。
-newkey rsa:4096: 生成一个新的 RSA 密钥对,密钥长度为 4096 位。
-keyout kibana.key: 将生成的私钥保存到文件 kibana.key 中。
-out kibana.crt: 将生成的自签名证书保存到文件 kibana.crt 中。
-days 365: 指定证书的有效期为 365 天。默认为30天。
-nodes: 指定生成的私钥不进行加密(即不设置密码)。这样在使用私钥时不需要输入密码。
2. 编辑 kibana.yml 文件
sudo vi config/kibana.yml
G 跳转到文件尾行,$ 跳转到当前行末尾,i 编辑文件。在文件末尾新建一行添加:
server.ssl.enabled: true
server.ssl.certificate: /export/server/kibana/kibana.crt
server.ssl.key: /export/server/kibana/kibana.key
ESC 退出编辑,:wq 保存并退出。
3. 重启 Kibana
如果配置 Systemd 服务:
sudo systemctl restart kibana
如果没配置 Systemd 服务:
# 查找Kibana进程 ID
ps aux | grep kibana
# 停止Kibana
kill <PID>
# 如果是kibana用户启动,切换用户
su kibana
# 启动Kibana
nohup /export/server/kibana/bin/kibana >/export/server/kibana/logs/kibana.log 2>&1 &
4. 访问 Kibana
浏览器使用 HTTP 访问:http://签名证书填写的ip地址:5601
浏览器使用 HTTPS 访问:https://签名证书填写的ip地址:5601
仅能 HTTPS 访问即为配置成功。
相关文章:
Kibana 部署
Kibana 是一个开源的数据可视化和探索工具,主要用于 Elasticsearch 数据的分析和展示。本文将详细介绍如何在 Linux 系统上部署 Kibana,并启用 SSL 加密以确保安全通信。 英文文档:Kibana Guide | Elastic 中文文档:Kibana 用户…...
PostgreSQL 入门
下载与安装 部分国产数据库采用PostgreSQL作为基础进行研发,因此先尝试了解一下原始数据库情况。 PostgreSQL 简称 PG 官网:https://www.postgresql.org/ PostgreSQL “世界上最先进的开源关系型数据库” 这是官网上的口号。 PostgreSQL: The World…...
简单的多网卡选择指定网卡ip注册
简单的多网卡选择指定网卡ip注册 我们公司服务器上面有多个网卡,多网卡则本地ip有多个ip,我们启动服务的时候需要选定他特定的ip,我们服务需要特定的ip进行注册,才能进行正常的通讯功能,我们需要使用如下配置进行特定ip选择&…...
【论文阅读笔记】One Diffusion to Generate Them All
One Diffusion to Generate Them All 介绍理解 引言二、相关工作三、方法预备知识训练推理实现细节训练细节 数据集构建实验分结论附录 介绍 Paper:https://arxiv.org/abs/2411.16318 Code:https://github.com/lehduong/onediffusion Authors࿱…...
基于Spring Boot的电影院订票信息管理系统
目录 前言 一、技术栈 二、系统功能介绍 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也…...
Easy-Mock前端+后端全解以及详细使用
前文 常见的mock方式 将模拟数据直接写在代码里利用 JavaScript 拦截请求利用 Charles、 Fiddler 等代理工具拦截请求 把模拟的数据写代码里,那是不是每次修改返回数据就要重新部署服务,那有没有不用部署也能改返回参数的东西呢?有&#x…...
【WSL】——wsl安装多个ubuntu
原因:一个库用了GLIBC_2.29,但是我的系统是ubuntu18.04,看样子需要升级glibc,但是升级之后好像会出现崩溃的问题。参考:ubuntu慎重升级glibc。所以那就再安装一个ubuntu22.04吧。 下面介绍通过wsl安装ubuntu18.04&…...
微信小程序从后端获取的图片,展示的时候上下没有完全拼接,有缝隙【已解决】
文章目录 1、index.wxml2、index.js3、detail.detail为什么 .rich-text-style 样式可以生效?1. <rich-text> 组件的特殊性2. 类选择器的作用范围3. 样式优先级4. line-height: 0 的作用5. 为什么直接使用 rich-text 选择器无效? 总结 上下两张图片…...
人工智能大模型LLM开源资源汇总(持续更新)
说明 目前是大范围整理阶段,所以存在大量机翻说明,后续会逐渐补充和完善资料,减少机翻并增加说明。 Github上的汇总资源(大部分英文) awesome-production-machine-learning 此存储库包含一系列精选的优秀开源库&am…...
第二十六章 Spring之假如让你来写事务——初稿篇
Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…...
介绍一下CSS中伪类和伪元素的概念
一、伪类(Pseudo - Classes) 1. 定义 伪类是添加到选择器的关键字,用于定义元素的特殊状态。这些状态不是由文档树中的结构或属性来表示,而是基于用户行为(如鼠标悬停)、元素状态(如被选中&am…...
Python字符串常用操作
Python字符串常用操作 一、字符串的切片 1.1、通过下标及下标范围取值 my_str myNameIsTaichi value1 my_str[2] # 正向 N value2 my_str[-5] # 反向 从 -1 开始 a字符串分割,语法:string[end: step] start:头下标,以0开…...
解决创建laravel项目,使用国外镜像超时,国内镜像缺包的问题
解决创建laravel项目,使用国外镜像超时,国内镜像缺包的问题 一、前言二、切换镜像三、创建最新版本四、创建指定版本 一、前言 最近想下载 laravel 框架看看,但也遇到了些麻烦,这里做个记录。 二、切换镜像 先查看镜像源&#…...
帝可得-运营管理App
运营管理App Android模拟器 本项目的App客户端部分已经由前端团队进行开发完成,并且以apk的方式提供出来,供我们测试使用,如果要运行apk,需要先安装安卓的模拟器。 可以选择国内的安卓模拟器产品,比如:网…...
印闪网络:阿里云数据库MongoDB版助力金融科技出海企业降本增效
客户背景 上海印闪网络科技有限公司,于2017年1月成立,投资方包括红杉资本等多家国际知名风投公司。公司业务聚焦东南亚普惠金融,常年稳居行业头部。创始团队来自腾讯,中国团队主要由运营、风控及产研人员组成,核心成员…...
c++的应用
整理思维导图周五剩下的三个笔试题利用函数重载,实现对整形数组的冒泡排序,对浮点型数组的冒泡排序整理课上内容在堆区申请一个数组的空间,并完成对该数组中数据的输入和输出,程序结束释放堆区空间 冒泡排序效果图: 代…...
linux网络编程 | c | select实现多路IO转接服务器
select实现多路IO转接服务器 基于该视频完成 15-select实现多路IO转接设计思路_哔哩哔哩_bilibili 通过响应式–多路IO转接实现 文章目录 select实现多路IO转接服务器1.思路&功能2.代码实现warp.hwarp.cmulti_select_sever.c运行图 3.代码解释(细节…...
在Scala中对隐式转换格式与作用
隐式对象 格式:implicit object 作用:给函数的默认参数提供隐式值 object Scala12______10 { // case class DataBase(driver: String, url: String) // // implicit object mySql extends DataBase("mysql", "localhost:300") //…...
贪心算法 - 学习笔记 【C++】
2024-12-09 - 第 38 篇 贪心算法 - 学习笔记 作者(Author): 郑龙浩 / 仟濹(CSND账号名) 贪心算法 学习课程: https://www.bilibili.com/video/BV1f84y1i7mv/?spm_id_from333.337.search-card.all.click&vd_source2683707f584c21c57616cc6ce8454e2b 一、基本…...
【深度学习】深刻理解ViT
ViT(Vision Transformer)是谷歌研究团队于2020年提出的一种新型图像识别模型,首次将Transformer架构成功应用于计算机视觉任务中。Transformer最初应用于自然语言处理(如BERT和GPT),而ViT展示了其在视觉任务…...
安卓低功耗蓝牙BLE官方开发例程(JAVA)翻译注释版
官方原文链接 https://developer.android.com/develop/connectivity/bluetooth/ble/ble-overview?hlzh-cn 目录 低功耗蓝牙 基础知识 关键术语和概念 角色和职责 查找 BLE 设备 连接到 GATT 服务器 设置绑定服务 设置 BluetoothAdapter 连接到设备 声明 GATT 回…...
C++ 异常处理机制与自定义异常体系
目录 1.C语言传统的处理错误的方式 ?? 1. 终止程序 2. 返回错误码 3.实际使用中的情况 2. C异常概念?? 2.1 C异常的基本概念 2.2异常的抛出和匹配原则 2.3?异常的重新抛出 2.4 异常安全 2.5 异常规范 3. 自定义异常体系 ??? 3.1??自定义异常类 3.2??自…...
【动态库.so | 头文件.hpp】基于CMake与CMakeList编写C++自定义库
前言 最近比较忙,其他系列教程得等到年后一起更!请大家多多包涵!!相信各位在配置C环境和各类库的时候一定经常看到如下小连招 git clone https://github.com/opencv/opencv.git cd opencv mkdir build && cd build cma…...
三、nginx实现lnmp+discuz论坛
lnmp l:linux操作系统 n:nginx前端页面 m:mysql数据库,账号密码,数据库等等都保存在这个数据库里面 p:php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库&#…...
OpenCV相机标定与3D重建(15)计算给定图像点对应的极线(epipolar lines)函数computeCorrespondEpilines()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算给定图像点对应的极线(epipolar lines)。 对于立体图像对中一个图像的点,计算这些点在另一个图像中对应的…...
【MySQL 进阶之路】了解 性能优化 与 设计原则
1.B树的优势 “矮胖”结构: 矮:B树的每个节点存储更多的关键字,从而减少了树的层级(最多三层),减少了磁盘I/O操作,提高了查询效率。胖:叶子节点存储实际的数据,并使用双…...
【银河麒麟高级服务器操作系统】修改容器中journal服务日志存储位置无效—分析及解决方案
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 服务器环境以及配置 【机型】 整机类型/架构&am…...
轻量级的 HTML 模板引擎
Mustache 简介:Mustache 是一个非常简单的逻辑少的模板引擎,支持 HTML 文件中的占位符替换。它不会执行复杂的逻辑,只支持简单的变量替换。 安装: npm install mustache示例: const Mustache require(mustache);c…...
SQL 查询秘籍:提升你数据库技能的实用指南
目录 一、常用表表达式(CTEs) (一)快速了解 (二)上手演练 练习一:使用 CTE 来分解一般查询逻辑 练习二:使用 CTE 来分解复杂的查询逻辑 二、递归CTEs (一…...
Unity背包道具拖拽(极简版实现)
(感觉Csdn代码页面可以再大一点或者加个放大功能 不然得划着看不太舒服) 1.关键接口,三个拖拽相关的 2.关键参数,PointerEventData 一直没仔细看过,其实有包含鼠标相关的很多参数,鼠标点击次数ÿ…...
Vins_Fusion_gpu中source setup.bash
文章目录 source setup.bashsetup.bashsetup.sh脚本的主要功能脚本的详细解释1. **初始化和检查**2. **检测操作系统**3. **设置环境变量**4. **记住 shell 类型**5. **调用 Python 脚本生成环境变量**6. **加载环境钩子**7. **清理** 总结 _setup_util.py_setup_util.py 的完整…...
appium学习之二:adb命令
1、查看设备 adb devices 2、连接 adb connect IP:端口 3、安装 adb install xxx.apk 4、卸载 adb uninstall 【包名】 5、把对应目录下的1.txt文件传到手机sdcard下 adb push 1.txt /sdcard 6、进入对应的设备里 adb shell 7、切入sdcard目录 cd /sdcard 8、ls 查…...
Docker 安装 sentinel
Docker 安装系列 1、拉取 [rootTseng ~]# docker pull bladex/sentinel-dashboard Using default tag: latest latest: Pulling from bladex/sentinel-dashboard 4abcf2066143: Pull complete 1ec1e81da383: Pull complete 56bccb36a894: Pull complete 7cc80011dc6f: Pull…...
selinux
项目使用: neverallow 报错: 改法:typeattribute system_server system_writes_mnt_vendor_violators; selinux目录: Android/lagvm/LINUX/android/device/qcom/sepolicy_vndr Android/lagvm/LINUX/android/vendor/jidu/sepoli…...
C++11新特性之线程std::atomic
C std::atomic C 中 std::atomic 的定义及功能 std::atomic 是 C 标准库中提供的一种模板类,主要用于实现 原子操作,以保证多线程环境下对共享变量的安全操作。它提供了一种无需使用互斥锁即可安全访问共享数据的机制,避免了竞争条件。 特…...
MySQL中的通配符
1. 百分号 % 内部工作原理: 代表零个、一个或多个任意字符。LIKE A%:MySQL会从索引(如果存在)中查找所有以 "A" 开头的记录。如果没有索引,则需要扫描整个表。MySQL解析器将模式转换为可执行的形式&#x…...
【ETCD】【源码阅读】stepWithWaitOption方法解析
在分布式系统中,ETCD 作为一个强一致性、高可用的 key-value 存储系统,广泛应用于服务发现、配置管理等场景。ETCD 在内部采用了 Raft 协议来保证集群的一致性,而日志预提案(log proposal)是 Raft 协议中至关重要的一部…...
F12抓包01:启动、面板功能介绍、语言设置、前端样式调试
浏览器检查工具通常用来作为浏览器web服务测试过程中,辅助测试、排查问题、定位缺陷的工具。 本文以mac系统下,当前比较常用的Chrome浏览器为例,讲解“检查”工具的常用功能操作方法。 一、打开方式 **1、****鼠标操作:**浏览器…...
用前端html如何实现2024烟花效果
用HTML、CSS和JavaScript编写的网页,主要用于展示“2024新年快乐!”的文字形式烟花效果。下面是对代码主要部分的分析: HTML结构 包含三个<canvas>元素,用于绘制动画。引入百度统计的脚本。 CSS样式 设置body的背景为黑…...
Maven学习(传统Jar包管理、Maven依赖管理(导入坐标)、快速下载指定jar包)
目录 一、传统Jar包管理。 (1)基本介绍。 (2)传统的Jar包导入方法。 1、手动寻找Jar包。并放置到指定目录下。 2、使用IDEA的库管理功能。 3、配置环境变量。 (3)传统的Jar包管理缺点。 二、Maven。 &#…...
mac电脑吧iso文件制作成u盘启动
1 查看u盘的具体路径 diskutil list 根据容量确认路径 /dev/disk2 2、卸载u盘 diskutil unmountDisk /dev/disk2 3、把iso文件写入u盘 sudo dd if/Users/dengjinshan/Downloads/Win11_24H2_Chinese_Simplified_x64.iso of/dev/disk2 bs1m 4、弹出u盘 diskutil eject /dev/dis…...
MySQL数据库的数据类型
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 MySQL数据库的数据类型 收录于专栏[MySQL] 本专栏旨在分享学习MySQL的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 数据类型分类 …...
【golang】匿名内部协程,值传递与参数传递
代码例子 下面代码的区别是直接调用循环变量,这里使用的就是这个变量的引用,而不是将参数的副本传递给协程执行 for task : range taskChan {wg.Add(1)go func() {defer wg.Done()task.Do() // 使用外部循环变量}() }func DistributeTasks(taskChan &…...
ByteByteGo-Top 9 HTTP Request Methods 9种HTTP请求方法
更详细准确的描述直接参考 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/CONNECT 本片文章出自 EP85: Top 9 HTTP Request Methods - ByteByteGo Newsletter http request methods 1,GET 从服务器获取资源。 具有幂等性(idempo…...
vue3实际案例分析:展示Vue拖拽功能的实现和效果
在现代前端开发中,交互式的用户界面是提升用户体验的关键因素之一。Vue.js,作为一个渐进式JavaScript框架,提供了灵活的组件系统和响应式数据绑定,使得实现复杂的用户交互变得简单。拖拽功能是其中一个常见的交互模式,…...
EasyExcel使用管道流连接InputStream和OutputStream
前言 Java中的InputSteam 是程序从其中读取数据, OutputSteam是程序可以往里面写入数据。 如果我们有在项目中读取数据库的记录, 在转存成Excel文件, 再把文件转存到OSS中。 生成Excel使用的是阿里的EasyExcel 。 他支持Output的方式写出文件内容。 而…...
源码分析之Openlayers中的ZoomToExtent控件
概述 在 Openlayers 中,ZoomToExtent控件可能用的不是很多,它主要用于将地图视图缩放到指定范围,应用场景就是重置地图、恢复初始状态。但是一般情况下,重置地图可能还会有其它操作,比如清除地图上绘制的点线面或者显…...
Acwing 算法基础课 数学知识 线性筛
线性筛素数 也叫欧拉筛。 int pr[maxn]; bool flg[maxn]; int main() {for (int i 2; i < maxn; i) {if (!flg[i]) pr[pr[0]] i;for (int j 1; i * pr[j] < n && j < pr[0]; j) {flg[i * pr[j]] 1;if (i % pr[j] 0) break; // 重点}} }这样筛的话&…...
K8s驱逐阈值调整
要在 Kubernetes 中调整 kubelet 驱逐阈值,特别是针对 imagefs 和 nodefs 的大小阈值,你可以通过修改 kubelet 的启动参数来实现。这些参数定义了在触发 Pod 驱逐之前,节点上的资源使用情况必须满足的硬性条件。 根据你提供的文件内容&#…...
【密码学】BUUCTF Crypto 1 - 12 题 WriteUp
今天,我在 BUUCTF 网站的 crypto section 开启了一场充满挑战的密码学之旅。 这次我一口气完成了 12 个板块的任务,虽然耗时较长,但每一次解密成功的瞬间都让我无比满足,那种沉浸在密码世界里的感觉真的很棒。 接下来࿰…...