如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
简介
Graylog 的开源特性、丰富的功能、灵活性和可扩展性使其成为一个流行的日志管理平台。在本教程中,我将向你展示如何在 Ubuntu 22.04 上安装 Graylog,包括配置 Graylog 服务器软件包和访问 Graylog Web UI。
Graylog 是什么?
Graylog 是世界领先的集中式开源日志管理解决方案之一,用于集中、存储、可视化和实时监控 TB 级的机器数据,被 DevOps 工程师、安全分析师和应用程序开发人员广泛使用。
Graylog 用于做什么?
Graylog 是一种在技术、媒体、零售等行业广泛使用的工具,用于监控大量的网络活动,并精确定位任何影响性能的问题。它有助于从大规模的日志中获取见解,以支持更快的问题解决和业务连续性,减少停机时间。
Graylog 服务器包含以下主要组件:
- Elasticsearch - 一种搜索和分析引擎,用于存储和索引数据。
- MongoDB - 一种开源的 NoSQL 文档数据库,用于存储诸如用户信息之类的元数据。
- Graylog Server - 用于捕获、存储和分析实时机器数据的主要组件。它可视化数据以发现趋势和异常,并在发生任何事件时触发警报。此外,你还可以构建报告以符合既定标准和管理需求。
现在,让我们继续进行 Graylog Ubuntu 安装说明,首先定义先决条件。
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
安装和配置步骤
为了在 Ubuntu 22.04 上安装 Graylog,你必须遵循一个相对简单的过程。它包括安装 OpenJDK、Elasticsearch 和 MongoDB 等先决条件软件包。之后,下载并配置 Graylog 服务器软件包,然后设置 Nginx 作为反向代理以访问 Graylog Web UI。
让我们直接开始。按照以下步骤在你的 Ubuntu 22.04 服务器上安装并运行 Graylog。
第一步:更新本地软件包索引
首先,登录到你的服务器并更新本地软件包索引。
sudo apt update
接下来,安装 Graylog 服务器安装期间需要的一组依赖项。
sudo apt install curl wget apt-transport-https
安装完成后,进入下一步。
第二步:安装 OpenJDK
在安装 Graylog 之前,我们需要安装 Java。我们将安装 OpenJDK,这是一个由 Oracle 当前维护的免费开源 Java 实现。最新版本的 Graylog - Graylog 5.2 - 至少需要 OpenJDK 17。
要安装 OpenJDK 17,请运行以下命令:
sudo apt install openjdk-17-jre-headless -y
安装完成后,你可以确认已安装的 Java 版本,如下所示。
java -version
第三步:安装 ElasticSearch
Elasticsearch 是 Graylog 安装中的另一个关键组件。它是一个分布式搜索和分析引擎,广泛用于全文搜索、日志分析、业务分析和分析安全事件。
在 Graylog 中,Elasticsearch 存储、搜索和分析来自外部来源的日志和消息。
Elasticsearch 不托管在官方 Ubuntu 存储库中。因此,我们将从 Elasticsearch 存储库安装它。为此,首先,下载并添加 Elasticsearch GPG 密钥。
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
接下来,切换到 root 用户。
sudo su -
并将 Elasticsearch 存储库添加到系统中。
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
接下来,更新本地缓存以通知系统新添加的存储库。
apt update
本地缓存更新后,使用 APT 软件包管理器从存储库安装 Elasticsearch。
apt install elasticsearch -y
安装完成后,你需要对主要的 Elasticsearch 配置文件进行一些调整。使用你喜欢的文本编辑器访问该文件。在这里,我们使用 nano 命令行编辑器。
nano /etc/elasticsearch/elasticsearch.yml
设置你喜欢的集群名称,并在其下方添加 action.auto_create_index: false
行。
cluster.name: graylog
action.auto_create_index: false
完成后,保存更改并退出。重新加载 systemd 以应用更改并启动 Elasticsearch。
systemctl daemon-reload
systemctl start elasticsearch
你可以验证 Elasticsearch 的状态,如下所示。
sudo systemctl status elasticsearch
从输出中,你可以看到 Elasticsearch 服务正在运行。
此外,请考虑启用 Elasticsearch 服务以在启动时启动。
systemctl enable elasticsearch
你可以使用 curl
命令行工具向你的节点发送 GET
请求,以查看有关 Elasticsearch 的详细信息。
curl -X GET http://localhost:9200
第四步:安装 MongoDB 服务器
在 Graylog 服务器中,MongoDB 数据库存储配置信息和用户数据。最新版本的 Graylog 需要 MongoDB 5.x 和 6.x 版本。在本指南中,我们将从 MongoDB 存储库安装 MongoDB 6.0。
因此,添加 MongoDB GPG 签名密钥。
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \\
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-server-6.0.gpg
接下来,将 MongoDB 存储库添加到你系统上的 sources.list.d
目录。
echo "deb [ arch=amd64,arm64 signed=/etc/apt/trusted.gpg.d/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
将存储库添加到你的系统后,更新本地 APT 缓存。
sudo apt update
然后安装 MongoDB 数据库服务器。
sudo apt install mongodb-org -y
要验证安装的版本,请运行以下命令:
mongod --version
MongoDB 在安装后不会自动启动,因此请按如下所示启动它。
sudo systemctl start mongod
确认 MongoDB 数据库服务正在运行:
sudo systemctl status mongod
此外,请考虑启用该服务以在启动时自动启动。
sudo systemctl enable mongod
安装了 MongoDB 数据库服务器后,下一步是安装 Graylog 服务器。
第五步:安装 Graylog 服务器
我们现在准备在 Ubuntu 上安装 Graylog 服务器。默认情况下,Graylog 服务器软件包在 Ubuntu 存储库上不可用。因此,我们将从官方 Graylog 存储库安装 Graylog。
因此,下载 Graylog Debian 软件包。
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
接下来,运行 dpkg
命令来运行该软件包。
sudo dpkg -i graylog-5.0-repository_latest.deb
接下来,更新本地 APT 缓存。
sudo apt-get update
最后,按如下方式安装 Graylog 服务器。
sudo apt install graylog-server -y
安装 Graylog 服务器后,你需要生成一个密钥来保护用户密码,并为管理员用户生成一个加密密码。
要生成一个用于保护用户密码的密钥,请运行以下命令:
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
加密密码(由字母数字字符组成)将显示在终端上。
接下来,为 Graylog 管理员登录用户生成一个加密密码。
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\\n' | sha256sum | cut -d" " -f1
出现提示时,键入密码并按 ENTER。加密密码将显示在屏幕上。
将这两个加密密码复制并粘贴到某处,然后打开 Graylog 配置文件。
nano /etc/graylog/server/server.conf
使用生成的加密密码更新 password_secret
和 root_password_sha2
。
password_secret = hTRdp0JxNLeuxKXFeTjNYzOMpM-6zdBPalK4eKbsEhxSlxkIFgTcUBzPmhj21Hc89OmyW1NqitmROHXtgqJqwGte4t7PBwi0root_password_sha2 = bfe4814665ab5c23359f7114d289110e7c725a1528fa2cd68c601a0a5d6c05108
接下来,使用 http_bind_address
指定 Graylog HTTP 接口将侦听的 IP 地址。默认情况下,此项设置为 localhost 或回环地址。确保将其设置为分配给你的网络接口的 IP,并指定 Graylog 侦听的端口(端口 9000)。
http_bind_address = 208.117.84.72:9000
保存更改并退出配置文件。接下来,重新加载 systemd 以通知系统所做的更改。
systemctl daemon-reload
接下来,启动 Graylog 服务。
systemctl start graylog-server
Graylog 守护程序或服务现在应该正在运行。你可以按如下所示确认这一点。
systemctl status graylog-server
请考虑启用该服务以在系统启动时启动。
systemctl enable graylog-server
第五步:配置 Nginx 作为反向代理
Graylog 本身可以充当前端,不需要 Web 服务器。但是,你可以将 Web 服务器配置为端口 80 到端口 9000(Graylog 侦听的端口)的反向代理。这也简化了为 Graylog 配置 SSL 证书的过程。
在我们的示例中,我们将使用 Nginx 作为我们首选的 Web 服务器。要安装 Nginx,请运行以下命令:
apt install nginx
安装完成后,为 Graylog 创建一个虚拟主机文件。
nano /etc/nginx/sites-available/graylog.conf
添加以下代码行,并确保为 proxy_pass
属性指定你服务器的 IP。
server {listen 80;server_name graylog.example.org;location /{proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Graylog-Server-URL http://$server_name/;proxy_pass http://208.117.84.72:9000;}}
保存更改并退出配置文件。然后,运行以下命令以验证你的 Web 服务器的配置语法是否正确。
nginx -t
如果一切正常,请启用 Nginx 虚拟主机文件。
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
请记住删除默认的虚拟主机文件,因为这将覆盖新启用的虚拟主机配置。
rm -rf /etc/nginx/sites-enabled/default
要应用所做的更改,请重新启动 Nginx Web 服务
systemctl restart nginx
并确保它按预期运行。
systemctl status nginx
第六步:访问 Graylog Web 界面
要访问 Graylog Web 界面,请在你的 Web 浏览器上访问以下 URL。
http://server-ip
你将看到显示的网页。使用用户名 admin
和你在第 5 步中以纯文本指定的 root 用户密码登录。然后单击“登录”按钮。
登录后,你应该会看到 Graylog Web UI。从这里,你可以添加数据源以进行实时数据分析。
结论
就是这样;在本教程中,我演示了如何在 Ubuntu 22.04 服务器上安装 Graylog,包括配置。有关 Graylog 的更多信息,请查看 官方文档。
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site
相关文章:
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
简介 Graylog 的开源特性、丰富的功能、灵活性和可扩展性使其成为一个流行的日志管理平台。在本教程中,我将向你展示如何在 Ubuntu 22.04 上安装 Graylog,包括配置 Graylog 服务器软件包和访问 Graylog Web UI。 Graylog 是什么? Graylog …...
Wux weapp 组件库的 bug—— wux-picker选择器组件无法正确初始化到选定的value
options的value为Number,组件无法正常使用 解决方案,修改picker-view/utils.js中的getIndexFromValue函数,如下: export function getIndexFromValue(value, col [], fieldNames DEFAULT_FIELD_NAMES) {//return getRealIndex(…...
决策树(理论知识1)
目录 何为决策树决策树的组成决策树的构建 何为决策树 决策树(Decision Tree)是一种分类和回归方法,是基于各种情况发生的所需条件构成决策树,以实现期望最大化的一种图解法。由于这种决策 分支画成图形很像一棵树的枝干,故称决策树。它的运…...
【Spring】获取Bean对象需要哪些注解
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:Service(服务存储) 1:存储bean的代码 2࿱…...
java的Webclient对象怎解解析400状态码
在Java中使用WebClient处理400状态码,可以通过检查响应状态并根据状态码进行相应的错误处理。以下是几种处理400状态码的方法: 使用onStatus方法判断和处理错误: 你可以使用WebClient的retrieve()方法链中的onStatus方法来检查响应状态码。如…...
【计算机视觉基础CV-图像分类】03-深度学习图像分类实战:鲜花数据集加载与预处理详解
本文将深入介绍鲜花分类数据集的加载与处理方式,同时详细解释代码的每一步骤并给出更丰富的实践建议和拓展思路。以实用为导向,为读者提供从数据组织、预处理、加载到可视化展示的完整过程,并为后续模型训练打下基础。 前言 在计算机视觉的深…...
ubuntu 如何重装你的apt【apt-get报错: symbol lookup error/undefined symbol】
副标题:解决error:apt-get: symbol lookup error: /lib/x86_64-linux-gnu/libapt-private.so.0.0: undefined symbol: _ZNK13pkgTagSection7FindULLENS_3KeyERKy, version APTPKG_6.0 文章目录 问题描述报错分析解决方案:重装你的apt1、查看你的ubuntu版本2、下载适配你的ap…...
Unity 上好用的插件
PlayerMaker BehaviorDesigner Cinemachine Timeline Hybrid Addressable AssetBundle Blower Simple Zoom 大地图上缩放和平移使用ScrollRect的好效果实现...
大数据机器学习算法和计算机视觉应用07:机器学习
Machine Learning Goal of Machine LearningLinear ClassificationSolutionNumerical output example: linear regressionStochastic Gradient DescentMatrix Acceleration Goal of Machine Learning 机器学习的目标 假设现在有一组数据 x i , y i {x_i,y_i} xi,yi&…...
Godot RPG 游戏开发指南
Godot RPG 游戏开发指南 一、基础准备 1. 开发环境 下载并安装最新版 Godot 4.x选择使用 GDScript 或 C# 作为开发语言准备基础美术资源(角色、地图、道具等) 2. 项目结构 project/ ├── scenes/ # 场景文件 ├── scripts/ # 脚…...
c++ 找第一个只出现一次的字符
【题目描述】 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。 【输入】 一个字符串,长度小于100000。 【输出】 输出第一个仅出现一次的字符,若没有则输出no。 【输入样例】 abcabd【输出样…...
时空信息平台架构搭建:基于netty封装TCP通讯模块(IdleStateHandler网络连接监测,处理假死)
文章目录 引言I 异步TCP连接操作II 心跳机制:空闲检测(读空闲和写空闲)基于Netty的IdleStateHandler类实现心跳机制(网络连接监测)常规的处理假死健壮性的处理假死方案获取心跳指令引言 基于netty实现TCP客户端:封装断线重连、连接保持 https://blog.csdn.net/z92911896…...
【Rust自学】3.6. 控制流:循环
3.6.0. 写在正文之前 欢迎来到Rust自学的第三章,一共有6个小节,分别是: 变量与可变性数据类型:标量类型数据类型:复合类型函数和注释控制流:if else控制流:循环(本文) 通过第二章…...
如何正确计算显示器带宽需求
1. 对显示器的基本认识 一个显示器的参数主要有这些: 分辨率:显示器屏幕上像素点的总数,通常用横向像素和纵向像素的数量来表示,比如19201080(即1080p)。 刷新率:显示器每秒钟画面更新的次数&…...
mysql 基于chunk机制是如何支持运行期间,动态调整buffer pool大小的
mysql 基于chunk机制是如何支持运行期间,动态调整buffer pool大小的 MySQL 的 InnoDB 存储引擎确实支持在运行期间动态调整缓冲池(buffer pool)的大小,但其机制与自定义缓存系统有所不同。InnoDB 通过内部优化和配置参数来实现这…...
梳理你的思路(从OOP到架构设计)_简介设计模式
目录 1、 模式(Pattern) 是较大的结构编辑 2、 结构形式愈大 通用性愈小编辑 3、 从EIT造形 组合出设计模式 1、 模式(Pattern) 是较大的结构 组合与创新 達芬奇說:簡單是複雜的終極形式 (Simplicity is the ultimate form of sophistication) —Leonardo d…...
【Redis】缓存
什么是缓存 https://tech.meituan.com/2017/03/17/cache-about.html Spring Data Redis Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能。 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>sp…...
基于 PyCharm 和 Navicat 的新闻管理系统
# 用于创建连接池 pip3 install mysql-connector-python # 改变终端打印颜色 pip3 install colorama 1.创建连接池 文件地址:db/mysql_db.py 首先建立一个与 MySQL 数据库的连接池,以便在应用程序中复用连接,提高性能。 如果连接池创建失败…...
<QNAP 453D QTS-5.x> 日志记录: 优化性能 内存管理 修改swap优先顺序 swap放在ssd 网络稳定性 进程出错管理
起因 几个月前,开始重学编程,往 NAS 的 docker 里放了些 containers ,每一个用来跑练习的 App。为了放更多的app,上个月加了 4GB 内存。最近只放了两个,NAS 就会时不时的闪断。codes 全存在网络驱动器上,当…...
一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测
一区牛顿-拉夫逊算法分解深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测 目录 一区牛顿-拉夫逊算法分解深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院一区…...
本地部署webrtc应用怎么把http协议改成https协议?
环境: WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述: 本地部署webrtc应用怎么把http协议改成https协议? http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使…...
React简单了解
原理简化了解 import React from "react" import { createRoot } form "react-dom/client"const element React.createElement(p,{id: hello},Hello World! )const container document.querySelector(#root) const root createRoot(container) root.r…...
基于LabVIEW的USRP信道测量开发
随着无线通信技术的不断发展,基于软件无线电的设备(如USRP)在信道测量、无线通信测试等领域扮演着重要角色。通过LabVIEW与USRP的结合,开发者可以实现信号生成、接收及信道估计等功能。尽管LabVIEW提供了丰富的信号处理工具和图形…...
Docker挂载
目录 数据卷挂载 本地目录挂载 数据卷挂载 宿主机默认的存放所有容器数据卷的目录:/var/lib/docker/volumes nginx容器 静态文件目录:/usr/share/nginx/html 配置文件目录:/etc/nginx/nginx.conf 修改宿主机的内容,进入到容器查…...
使用Java结合经纬度位置计算目标点的日出日落时间
目录 前言 一、应用示例 1、天安门升旗时间 2、湖南省日出日落信息 二、JAVA日出日落计算 1、在线API 2、使用Java进行计算 三、总结 前言 随着城市化进程的加速,城市环境与人类生活的联系日益紧密。城市不仅承载着居住、工作、休闲等多种功能,也…...
八字精批api接口_php获取生成八字和批注的方法研究
八字算命 API 介绍 这个八字算命 API 提供了一种便捷的方式,让用户通过 GET 或 POST 请求获取详细的八字信息。API 返回的数据格式为 JSON,包含多种命理分析和建议,适合对传统命理学感兴趣的用户。 API 功能 五行分析: 提供用户…...
docker run 命令参数
user docker run -it --nameubn18 --gpus all --privilegedtrue --shm-size 8G ubuntu:18.04 /bin/bash-it 是什么意思 4o 在运行 docker run 命令时,-it 是两个选项的组合,用于更好地与容器进行交互: -i 或 --interactive:这个选…...
智能外呼技术如何改变企业营销方式
智能外呼技术如何改变企业营销方式 作者:开源大模型智能呼叫中心系统FreeAICC,Github:https://github.com/FreeIPCC/FreeAICC 在数字化时代,企业营销方式正经历着前所未有的变革。其中,智能外呼技术作为一项前沿的人…...
redis数据转移
可能有时候因为硬件的原因我们我们需要更换服务器,如果更换服务器的话,那我们redis的数据该怎样转移呢,按照一下步骤即可完成redis数据的转移 1.进入redis客户端 2.使用 bgsave命令进行数据的备份,此命令完成后会在你的redis安装目…...
STM32-笔记5-按键点灯(中断方法)
1、复制03-流水灯项目,重命名06-按键点灯(中断法) 在\Drivers\BSP目录下创建一个文件夹exti,在该文件夹下,创建两个文件exti.c和exti.h文件,并且把这两个文件加载到项目中,打开项目工程文件 加载…...
DotNetBrowser 3.0.0 正式发布!
🛠️ 重要消息:DotNetBrowser 3.0.0 正式发布! 我们很高兴向您介绍全新的 DotNetBrowser 3.0.0 版本。此次更新带来了多项重要功能与优化,进一步提升了 Web 开发的效率和体验。 📢 DotNetBrowser 3.0.0 包含哪些新功…...
MySQL基础笔记(三)
在此特别感谢尚硅谷-康师傅的MySQL精品教程 获取更好的阅读体验请前往我的博客主站! 如果本文对你的学习有帮助,请多多点赞、评论、收藏,你们的反馈是我更新最大的动力! 创建和管理表 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数…...
SEO初学者-搜索引擎如何工作
搜索引擎基础搜索引擎是如何建立索引的搜索引擎如何对网页进行排名搜索引擎是如何个性化搜索结果的 搜索引擎的工作方式是使用网络爬虫抓取数十亿个页面。爬虫也称为蜘蛛或机器人,它们在网络上导航并跟踪链接以查找新页面。然后,这些页面会被添加到搜索引…...
在Ubuntu下运行QEMU仿真FreeBSD riscv64系统
在Ubuntu下运行QEMU仿真FreeBSD riscv64系统 突发奇想,尝试在Ubuntu下运行QEMU仿真FreeBSD riscv64系统, 参考这篇文档:手把手教你在QEMU上运行RISC-V Linux_qemu 运行 .bin-CSDN博客 并参考FreeBSD的Wiki:riscv - FreeBSD Wik…...
SQL 使用带聚集函数的联结
聚集函数用于汇总数据,通常用于从一个表中计算统计信息,但也可以与联结一起使用。以下是一个例子,展示如何使用聚集函数统计每个顾客的订单数。 示例 1:使用 COUNT() 函数与 INNER JOIN 假设我们需要检索所有顾客及每个顾客所下…...
Linux网络功能 - 服务和客户端程序CS架构和简单web服务示例
By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 概述准备工作扫描服务端有那些开放端口创建客户端-服务器设置启动服务器和客户端进程双向发送数据保持服务器进程处于活动状态设置最小…...
爬取Q房二手房房源信息
文章目录 1. 实战概述2. 网站页面分析3. 编写代码爬取Q房二手房房源信息3.1 创建项目与程序3.2 运行程序,查看结果 4. 实战小结 1. 实战概述 本次实战项目旨在通过编写Python爬虫程序,抓取深圳Q房网上的二手房房源信息。我们将分析网页结构,…...
【JavaEE初阶】线程 和 thread
本节⽬标 认识多线程 掌握多线程程序的编写 掌握多线程的状态 一. 认识线程(Thread) 1概念 1) 线程是什么 ⼀个线程就是⼀个 "执⾏流". 每个线程之间都可以按照顺序执⾏⾃⼰的代码. 多个线程之间 "同时" 执⾏着多份代码. 还…...
【IMU:视觉惯性SLAM系统】
视觉惯性SLAM系统简介 相机(单目/双目/RGBD)与IMU结合起来就是视觉惯性,通常以单目/双目IMU为主。 IMU里面有个小芯片可以测量角速度与加速度,可分为6轴(6个自由度)和9轴(9个自由度)IMU,具体的关于IMU的介…...
【python实现烟花】
可以使用 Python 的 turtle 模块来实现烟花效果。下面是一个简单的示例代码,展示如何用 turtle 绘制烟花: import turtle import random# 设置屏幕 screen turtle.Screen() screen.bgcolor("black")# 创建烟花函数 def draw_firework(x, y):…...
OpenCV学习——图像融合
import cv2 as cv import cv2 as cvbg cv.imread("test_images/background.jpg", cv.IMREAD_COLOR) fg cv.imread("test_images/forground.png", cv.IMREAD_COLOR)# 打印图片尺寸 print(bg.shape) print(fg.shape)resize_size (1200, 800)bg cv.resize…...
CS 144 check6: buiding an IP router
Lecture Notes Exercises 路由器的任务是根据路由表转发接收到的数据报:路由表是一系列规则,用于指导路由器针对任何给定的数据报应如何进行转发。 发送出什么接口。下一跳的IP地址。 这个check的工作是实现一个路由器,它可以为任何给定的…...
Pytorch | 从零构建ResNet对CIFAR10进行分类
Pytorch | 从零构建ResNet对CIFAR10进行分类 CIFAR10数据集ResNet核心思想网络结构创新点优点应用 ResNet结构代码详解结构代码代码详解BasicBlock 类ResNet 类ResNet18、ResNet34、ResNet50、ResNet101、ResNet152函数 训练过程和测试结果代码汇总resnet.pytrain.pytest.py 前…...
Spring整合Redis基本操作步骤
Spring 整合 Redis 操作步骤总结 1. 添加依赖 首先,在 pom.xml 文件中添加必要的 Maven 依赖。Redis 相关的依赖包括 Spring Boot 的 Redis 启动器和 fastjson(如果需要使用 Fastjson 作为序列化工具): <!-- Spring Boot Re…...
java中的方法的重载和重写、构造器
目录 方法的重载和重写、构造器1.java的修饰符:2.普通方法3.构造器(也叫构造方法/构造函数)4.方法的重载5.补充6.方法的重写7.类的执行顺序8.再看方法的重写 方法的重载和重写、构造器 1.java的修饰符: public修饰的代码…...
Vite 系列课程|1课程道路,2什么是构建工具
Vite 系列课程 1. 课程导论 1.1 为什么要学习 Vite? 1.1.1 Webpack vs. Vite:新旧霸主的交替? Webpack 长期以来一直是前端构建工具的事实标准,拥有庞大的用户群体、成熟的生态系统和丰富的学习资源。然而,随着前端技术…...
【蓝桥杯选拔赛真题96】Scratch风车旋转 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析
目录 scratch风车旋转 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 scratc…...
SQL血缘解析
Druid 作为使用率特别高的的数据库连接池工具,在具备完善的连接池管理功能外,同时Druid 的 SQL解析功能可以用来防止 SQL注入等安全风险。通过对 SQL 语句进行解析和检查,Druid 可以识别并阻止潜在的恶意 SQL 语句执行,黑名单(阻止特定的 SQL 语句执行)、白名单(仅允许特…...
Docker 部署机器学习模型
1.编写机器学习代码 (1)新建一个 mlmodel.py import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sk…...
leetcode 面试经典 150 题:无重复字符的最长子串
链接无重复字符的最长子串题序号3类型字符串解题方法滑动窗口难度中等 题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 …...