Win11下轻松搭建wiki.js,Docker.desktop部署指南(mysql+elasticsearch+kibana+wiki.js)
Docker.desktop部署wiki.js指南
- 前言
- 环境和要求
- 介绍
- 提前准备
- 1. elasticsearch
- 1.1 部署容器
- 1.2 参数说明
- 1.3 验证容器是否部署成功
- 2. kibana
- 2.1 部署容器
- 2.2 验证是否部署成功
- 2.3 安装IK分词器
- 3. MySql
- 3.1 部署容器
- 3.2 增加数据库和wiki.js所需要的账号
- 4. wiki.js
- 4.1 部署容器
- 4.2 运行
- 5.3 设置中文
- 5. 常见问题
- 5.1 指令输入失败
- -e : 无法将“-e”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
- 所在位置 行:2 字符: 3 --name es \ ~ 一元运算符“--”后面缺少表达式。
- bin/xxx : 无法将“bin/exxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
- 5.2 安装IK分词器失败
- ERROR: plugin directory [/usr/share/elasticsearch/plugins/analysis-ik] already exists; if you need to update the plugin, uninstall it first using command 'remove analysis-ik', with exit code 1
- java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 8.4.1 but version 8.18.0 is running
- 5.3 数据库指令
- 敲回车没反应。
- 参考资料
前言
环境和要求
系统环境:win11
配置要求:能跑得动文中服务总和的内存,8gb至少
软件环境:Docker desktop。https://www.docker.com/products/docker-desktop/
介绍
wiki.js作为一个维基站点,他同时需要两个数据库的支持。
- 正常的关系型数据库,用于用户信息等东西的存储,这里我们用Mysql。
- 一个专门用于海量数据查询的数据库,因为wiki内的数据量很大没用正常的数据库查询会很卡,所以需要用专门用于大数据查询的数据库,也就是ElasticSearch了。
- kibana则是ElasticSearch这个数据库的网页面板,通过它可以给ElasticSearch装点插件和维护和监控。如果只是单纯部署wiki.js的话不是必须的,不过还是写进来了。
所以我们要搭建wiki.js,要同时把这四个东西都给部署上去才行。好在部署这些东西只需要docker一个软件就够了,不需要我们去到处下载东西。
提前准备
- 在本文中,如无特殊说明,所有需要输入指令的地方都为docker.desktop终端的terminal(其实就是powerShell),在docker.desktop的红框处点一下即可打开。输入docker,没有出现报错时,就算准备完成了。如果出现报错,检查一下你的环境变量是否有把docker加进去,这部分请百度解决。
此外,如果在输入指令时遇到了一些通过不了的情况,可以参考本文最下方的合集,这里把我在部署时所遇到的所有问题都写上去了。如果这部分没有你所遇到的问题,再去自行deepseek。
- 其次,确保自己可以正常获取docker站点中的镜像,我们所需要的镜像一共有以下四个。
- mysql(版本影响应该不大,最新版即可)
- elasticsearch(不要选最新版,选择一个稳定的版本,文章中为8.18.0)
- kibana(版本号要和elasticsearch一致,文章中为8.18.0)
- requarks/wiki(版本影响应该不大,最新版即可)
在Docker Hub上面把这四个镜像下载(图中的pull按钮)下来,在Images中可以看得到这四个镜像,就算准备成功了。
1. elasticsearch
1.1 部署容器
首先我们需要创建一个wiki.js所有镜像共用的网络,名称可以自己定,后面需要填入network的部分就都填入你创建的这个就行。
docker network create es-net
然后检查一下是否创建成功:
docker network ls
输入以下指令以部署elasticsearch:
docker run -d `
--name es `
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" `
-e "discovery.type=single-node" `
-e "xpack.security.enabled=false" `
-v D:\docker\Elasticsearch\data:/usr/share/elasticsearch/data `
-v D:\docker\Elasticsearch\plugins:/usr/share/elasticsearch/plugins `
--privileged `
--network es-net `
-p 9200:9200 `
-p 9300:9300 `
elasticsearch:8.18.0
其中,ES_JAVA_OPTS是数据库的内存大小,discovery.type是节点模式,xpack.security.enabled是安全模块,是先按图上设置就行,等第一次部署上去没问题之后,可以再删掉容器重新部署。
注意,-v部分左边的内容,需要你改成自己的地址。
1.2 参数说明
第一次输入指令,所以有必要对docker指令内部的参数做一个详细说明。
指令 | 说明 | 填入内容 |
docker run -d | 部署镜像时的固定前缀 | / |
--name | 部署后容器的名字 | 随便取,喜欢就行,文中为es |
-e | 设置环境变量(env) | 等号左边是名称,右边是具体的值 每个镜像都会有自己独特的环境变量,具体以镜像为准 |
-v | 设置路径(volumns) | 冒号左边是你电脑中具体的路径,自行设置 冒号右边是镜像的路径,一般来说每个镜像都有固定的写法 |
-p | 端口号(port) | 冒号左边是你电脑中的端口号,只要不重复怎么写都行 冒号右边是镜像的端口号,一般来说每个镜像都有固定的写法 嫌麻烦就和本文一样两边一样就行 |
--network | 指定专有网络 | 填入已经创建好的网络 |
elasticsearch:8.18.0 | 要创建容器的镜像 | 在docker images里面可以看得到 |
1.3 验证容器是否部署成功
当部署上去之后,docker点击container,然后点击进入你创建的容器内,看看日志有没有很多同时有没有报错什么的。 不出意外是可以部署成功的。
最后再点击进入9200端口对应的地址,看看能不能正常访问,如果能正常访问,内容是这样的。
如果提示登录账号和密码的话(这种情况是因为你在安全验证的环境变量里面选了true)
那么密码去这里找。
输入指令
# 进入到目标容器里面,es换成你创建时的容器名
docker exec -it es /bin/bash# 重置密码
bin/elasticsearch-reset-password -u elastic -i
在输入密码和确认密码时,你敲字符他不会显示出来,这是正常现象,直接输入你的密码即可。
再次打开网页,用户名:elastic,密码:你刚刚重置的那个
2. kibana
2.1 部署容器
输入以下指令,生成一个KIBANA用的token
# 进入 Elasticsearch 容器
docker exec -it es /bin/bash# 生成令牌(在容器内执行)
bin/elasticsearch-service-tokens create elastic/kibana kibana-token# 终端应该是输出这么一行东西,把等于号后面的东西复制下来
SERVICE_TOKEN elastic/kibana/kinaba-token = AAEAAWVsYXN0aWMva2liYW5hL2tpbmFiYS10b2tlbjp6TzlNcXNDbFJIR3VrZFphejJzUk9n
输入以下指令
docker run -d `
--name kibana `
--network es-net `
-e ELASTICSEARCH_HOSTS="http://es:9200" `
-e ELASTICSEARCH_SERVICEACCOUNTTOKEN="AAEAAWVsYXN0aWMvXXXXXXXXXXXXXXXXXXXXXXX0U0lIVVFWU0U0QnBnMXNSZXlB" `
-e I18N_LOCALE=zh-CN `
-p 5601:5601 `
kibana:8.18.0
- I18N_LOCALE=zh-CN是设置为中文。
- ELASTICSEARCH_HOSTS是对应es容器的地址和端口号,填入内容:http://es的容器名:9200,
- ELASTICSEARCH_SERVICEACCOUNTTOKEN是elasticsearch的授权token,也就是你刚刚复制的那一串
2.2 验证是否部署成功
进入对应的网页,如果有提示需要输入账号密码,那么就是你刚刚在elastic中的账号密码。能正常进入就算成功。
2.3 安装IK分词器
首先进入这个网页(下面的安装指令能正常执行的话跳过这一步也行)
https://github.com/infinilabs/analysis-ik/releases/tag/Latest
页面往下翻,直到出现红框这一部分,把其中的指令复制下来
输入指令
# 再次进入 Elasticsearch 容器
docker exec -it es /bin/bash# 安装ik分词器,就是你刚刚复制的那个指令,但是版本号要改成你es的版本号,文章是8.18.0
bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.18.0
最后重启一下es容器即可。
3. MySql
3.1 部署容器
docker run -d `
--name mysql `
--network es-net ` # 自定义网络(需先创建)
-e MYSQL_ROOT_PASSWORD=123456 `
-e MYSQL_DATABASE=wikijs ` # 初始化数据库
-e MYSQL_USER=wiki_user ` # 创建普通用户
-e MYSQL_PASSWORD=123456 `
-v D:\docker\mysql\data:/var/lib/mysql ` # 数据持久化(Windows路径)
-v D:\docker\mysql\conf:/etc/mysql/conf.d ` # 挂载配置文件
-p 3306:3306 `
-p 33060:33060 `
--restart unless-stopped ` # 自动重启策略
mysql:latest `
--character-set-server=utf8mb4 ` # 字符集设置
--collation-server=utf8mb4_unicode_ci # 排序规则
密码记得换,123456只是我临时填的,同时我们初始化时就已经将对应的数据库和账号创建好了。
3.2 增加数据库和wiki.js所需要的账号
数据库的对应网页无法点进去访问,这是正常现象,因为没有面板的情况下,我们只能通过指令来对数据库进行操作。
输入以下指令,确认数据库正常运行的同时,也我们的数据库和账号都正常被创建。
# 进入mysql数据库,名字要换成自己创建的容器
docker exec -it mysql /bin/bash# 登录root账号,密码就是你创建容器时MYSQL_ROOT_PASSWORD对应的那个
mysql -u root -p
先看看自己待会要用的数据库在不在
SHOW DATABASES;# 不在的话自己创建一个
CREATE DATABASE wikijs;
再看看自己待会要用的账号在不在,授予一下权限。
SELECT user, host FROM mysql.user;# 如果用户不在,输入这一行指令,把用户先创建出来
CREATE USER 'wiki_user'@'%' IDENTIFIED BY 'RemotePass456!';# 接下来给用户授予数据库的全部权限
# 该行指令的格式为:GRANT 权限类型 ON 数据库.表 TO '用户名'@'主机地址';
GRANT ALL PRIVILEGES ON wikijs.* TO 'wiki_user'@'%';# 再刷新一下
FLUSH PRIVILEGES;
4. wiki.js
4.1 部署容器
上述准备全部都完成之后,最后部署wiki.js就是一条指令的事了。
docker run -d `
-p 3000:3000 `
--name wikijs `
--network es-net `
-e DB_TYPE=mysql `
-e DB_HOST=mysql `
-e DB_PORT=3306 `
-e DB_USER=wiki_user `
-e DB_PASS=123456 `
-e DB_NAME=wikijs `
-e SEARCH_TYPE=elasticsearch `
-e SEARCH_HOST=http://es:9200 `
-e SEARCH_INDEX_NAME=wikijs `
requarks/wiki:latest
- DBTYPE:固定写mysql
- DB_HOST:写mysql的容器名,也就是我们之前创建mysql容器时 --name 后面写的那个,本文里面也叫mysql。
- DB_PORT:固定写3306,也就是mysql的实际端口号。
- DB_USER,DB_PASS,DB_NAME:我们上一步中创建的账号密码和数据库名称,都丢进去。
- SEARCH_TYPE:固定写elasticsearch。
- SEARCH_HOST:格式(http://es容器名字:9200),其中es容器的名字也是当时创建时–name 后面写的那个,文中叫es。
- SEARCH_INDEX_NAME=索引名称,如果这行不写他就默认是wiki了。
4.2 运行
部署完成后,如果有意外的话,在容器页面会显示他自动停止工作,如果持续运行就表示他在正常运转。
进入wiki的网页,如果能正常显示出内容,就表示我们已经成功部署了。
5.3 设置中文
注册安装点击底部的install按钮,之后登录账号,点击右侧的ADMINISTRATION
点击左侧的Locale,就能在SiteLocale里面下载和选择语言版本了。
5. 常见问题
5.1 指令输入失败
-e : 无法将“-e”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:2 字符: 3 --name es \ ~ 一元运算符“–”后面缺少表达式。
注意格式,在powershell中,如果我们需要输入多行的指令,每一行的最前面是不能有空格的。
同时,如果你查了别的指令中,人家的换行是反斜杠(\)的话,需要换成反引号(`)。
在每一行的反引号后面,也是不能有空格的。
bin/xxx : 无法将“bin/exxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
确保你已经进入了容器内。
判断方法:在powershell前面那部分如果显示的是你的盘符,就表示你没进入容器。如果显示的是镜像的名称,就表示你当前在容器内了。
顺便一提,退出容器的指令为:exit
5.2 安装IK分词器失败
ERROR: plugin directory [/usr/share/elasticsearch/plugins/analysis-ik] already exists; if you need to update the plugin, uninstall it first using command ‘remove analysis-ik’, with exit code 1
安装之前执行一下这个指令
bin/elasticsearch-plugin remove --purge analysis-ik
java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 8.4.1 but version 8.18.0 is running
确认一下IK分词器的版本号是否和es的版本号一致
5.3 数据库指令
敲回车没反应。
在数据库里面,敲回车不算是一个数据库语句的结束,结束的标志是分号(😉。
参考资料
DeepSeek R1
安装elasticsearch、kibana、IK分词器_安装ik分词器-CSDN博客
https://blog.csdn.net/weixin_55772633/article/details/135909350
进入docker容器内部操作mysql数据库_docker 进入mysql-CSDN博客
https://blog.csdn.net/m0_65152767/article/details/139812281
相关文章:
Win11下轻松搭建wiki.js,Docker.desktop部署指南(mysql+elasticsearch+kibana+wiki.js)
Docker.desktop部署wiki.js指南 前言环境和要求介绍提前准备 1. elasticsearch1.1 部署容器1.2 参数说明1.3 验证容器是否部署成功 2. kibana2.1 部署容器2.2 验证是否部署成功2.3 安装IK分词器 3. MySql3.1 部署容器3.2 增加数据库和wiki.js所需要的账号 4. wiki.js4.1 部署容…...
【JavaWeb】MySQL
1 引言 1.1 为什么学? 在学习SpringBootWeb基础知识(IOC、DI等)时,在web开发中,为了应用程序职责单一,方便维护,一般将web应用程序分为三层,即:Controller、Service、Dao 。 之前的案例中&am…...
数据库实验报告 数据定义操作 3
实验报告(第3次) 实验名称 数据定义操作 实验时间 10月12日1-2节 一、实验内容 1、本次实验是用sql语句创建库和表,语句是固定的,要求熟记这些sql语句。 二、源程序及主…...
寻找树的中心(重心)
题目: 思路: “剥洋葱”:每次剥掉一层叶子结点,直到最后剩余不多于2个节点,这些节点就是树的中心(重心)。 解释: 1、根据图论的知识可以知道,一颗树的中心(…...
Oracle 高水位线(High Water Mark, HWM)
1. 高水位线(HWM)的定义 基本概念:HWM 是 Oracle 数据库中一个段(如表、索引)中已分配并被格式化(Formatted)的存储空间的最高位置。它标识了该段历史上曾达到的最大数据块使用量。 物理意义&a…...
Redis学习专题(二)事务和锁机制
目录 引言 1、事务三特性 2、事务相关指令 :Multi、Exec、discard 快速入门 注意: 3、事务冲突 解决办法: 1.悲观锁 2.乐观锁 3.watch & unwatch 引言 Redis 的事务是什么? 1、Redis 事务是一个单独的隔离操作:事…...
多平台!像素艺术的最佳选择 , 开源像素画工具
项目简介 如果你喜欢作像素风格的游戏或动画,那么这款Pixelorama或许是你的好帮手。它是一款免费开源的像素画编辑器,功能丰富,操作便捷,支持多平台使用(Windows、macOS、Linux)。无论你是像素新手还是老手…...
使用 Kotlin 和 Jetpack Compose 开发 Wear OS 应用的完整指南
环境配置与项目搭建 1. Gradle 依赖配置 // build.gradle (Module) android {buildFeatures {compose true}composeOptions {kotlinCompilerExtensionVersion "1.5.3"} }dependencies {def wear_compose_version "1.2.0"implementation "androidx.…...
JavaScript【5】DOM模型
1.概述: DOM (Document Object Model):当页面被加载时,浏览器会创建页面的文档对象模型,即dom对象;dom对象会被结构化为对象树,如一个HTML文档会被分为head,body等部分,而每个部分又…...
【诊所电子处方专用软件】佳易王个体诊所门诊电子处方开单管理系统:零售药店电子处方服务系统#操作简单#诊所软件教程#药房划价
一、软件试用版资源文件下载说明 (一)若您想体验软件功能,可通过以下方式获取软件试用版资源文件: 访问头像主页:进入作者头像主页,找到第一篇文章,点击文章最后的卡片按钮,即可了…...
【OpenCV】帧差法、级联分类器、透视变换
一、帧差法(移动目标识别): 好处:开销小,不怎么消耗CPU的算力,对硬件要求不高,但只适合固定摄像头 1、优点 计算效率高,硬件要求 响应速度快,实时性强 直接利用连续帧…...
OpenCV 特征检测全面解析与实战应用
在计算机视觉领域,特征检测是从图像中提取关键信息的核心技术,这些关键特征是图像匹配、目标识别、场景理解等复杂任务的基础。OpenCV 作为计算机视觉领域最受欢迎的开源库之一,提供了丰富且高效的特征检测算法。本文将深入介绍 OpenCV 中多种…...
AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月17日第80弹
从今天开始,咱们还是暂时基于旧的模型进行预测,好了,废话不多说,按照老办法,重点8-9码定位,配合三胆下1或下2,杀1-2个和尾,再杀6-8个和值,可以做到100-300注左右。 (1)定…...
IDEA反斜杠路径不会显示JUnit运行的工作目录配置问题
1. 当在IDEA基准目录下创建junit-reflect-annotation-proxy-app\\src\\data.txt时,如果是Mac电脑,这种\\文件路径时,IDEA里面不会显示,但在Finder下会显示,是直接创建了文件名为junit-reflect-annotation-proxy-app\sr…...
Linux517 rsync同步 rsync借xinetd托管 配置yum源回顾
计划测试下定时服务 同步成功 是否为本地YUM源内容太少?考虑网络YUM源 单词拼错了 计划后面再看下 MX安装 参考 计划回顾配置YUM源 配置本地YUM源配置外网YUM源配置仓库YUM源(不熟) 参考 参考阿里云 配置完毕 本地yum源配置 先备份 再…...
【论文阅读】A Survey on Multimodal Large Language Models
目录 前言一、 背景与核心概念1-1、多模态大语言模型(MLLMs)的定义 二、MLLMs的架构设计2-1、三大核心模块2-2、架构优化趋势 三、训练策略与数据3-1、 三阶段训练流程 四、 评估方法4-1、 闭集评估(Closed-set)4-2、开集评估&…...
大型语言模型中的QKV与多头注意力机制解析
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
React Flow 节点事件处理实战:鼠标 / 键盘事件全解析(含节点交互代码示例)
本文为《React Agent:从零开始构建 AI 智能体》专栏系列文章。 专栏地址:https://blog.csdn.net/suiyingy/category_12933485.html。项目地址:https://gitee.com/fgai/react-agent(含完整代码示例与实战源)。完整介绍…...
AIGC在电商行业的应用:革新零售体验
AIGC在电商行业的应用:革新零售体验 引言 人工智能生成内容(AIGC)正在深刻改变电商行业的格局。从个性化推荐到智能客服,从产品描述生成到虚拟试衣,AIGC技术正在为电商平台带来前所未有的创新和效率提升。本文将深入探…...
【数据结构】线性表--队列
【数据结构】线性表--队列 一.什么是队列二.队列的实现1.队列结构定义:2.队列初始化函数:3.队列销毁函数:4.入队列函数(尾插):5.出队列函数(头删):6.取队头元素ÿ…...
CSS- 4.1 浮动(Float)
本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。 HTML系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看! 点…...
Node.js 源码架构详解
Node.js 的源码是一个庞大且复杂的项目,它主要由 C 和 JavaScript 构成。要完全理解每一部分需要大量的时间和精力。我会给你一个高层次的概述,并指出一些关键的目录和组件,帮助你开始探索。 Node.js 的核心架构 Node.js 的核心可以概括为以…...
OpenCV级联分类器
概念 OpenCV 级联分类器是一种基于 Haar 特征、AdaBoost 算法和级联结构的目标检测方法,通过多阶段筛选快速排除非目标区域,实现高效实时检测(如人脸、行人等)。 加载级联分类器 // 加载级联分类器CascadeClassifier cascade;// …...
远程主机状态监控-GPU服务器状态监控-深度学习服务器状态监控
远程主机状态监控-GPU服务器状态监控-深度学习服务器状态监控 ⭐️ 推荐文章: DockerPyCharm远程调试&环境隔离解决方案 1. 整体架构 在本监控系统中,我们采用了Prometheus作为核心监控解决方案,并结合Node Exporter和Grafana构建了一个完整的监控体…...
谈谈未来iOS越狱或巨魔是否会消失
2024年10月的预测,先说结论: 巨魔iOS17.1消失概率为99%。 因为巨魔强依赖的漏洞就是一个签名漏洞,攻击面有限又经过2轮修复,第3次出现漏洞的概率极低。而越狱的话由于系统组件和服务较多,所以出现漏洞概率高攻击面多&…...
【OpenGL学习】(二)OpenGL渲染简单图形
文章目录 【OpenGL学习】(二)OpenGL渲染简单图形OpenGL渲染图形流程顶点,图元和片元VAO,VBO ,EBO着色器示例:使用OpenGL渲染三角形 【OpenGL学习】(二)OpenGL渲染简单图形 OpenGL渲…...
学习深度学习是否要先学习机器学习?
有小伙伴问我,最近做毕设要做一个神经网络的课题,想请教一下需不需要把机器学习也都学习一遍? 永远正确的回答是:建议先学机器学习,再学深度学习。 上面那句你从哪都挑不出毛病,毕竟机器学习是深度学习的基…...
六、绘制图片
文章目录 1.创建一个红色图片2.加载bmp图片3.加载png、jpg图片 前面的几个示例,我们已经展示过如果在Linux系统下使用xlib接口向窗口中绘制文本、线、矩形;并设置文本、线条的颜色。并利用xlib提供的接口结合事件处理机制完成了一个自绘按钮控件功能。有…...
【OpenCV】基本数据类型及常见图像模式
是什么?能做什么?解决什么问题?为什么用它? OpenCV:是一个基于开源发行的跨平台计算机视觉库,实现 一、应用场景: 目标识别:人脸、车辆、车牌...自动驾驶医学影像分析视频内容理解与分析&…...
C# WPF .NET Core和.NET5之后引用System.Windows.Forms的解决方案
双击项目名称打开工程文件(.csporj)添加“Microsoft.WindowsDesktop.App.WindowsForms”引用; <Project Sdk"Microsoft.NET.Sdk"><PropertyGroup><OutputType>WinExe</OutputType><TargetFramework&g…...
Mysql 8.0.32 union all 创建视图后中文模糊查询失效
记录问题,最近在使用union all聚合了三张表的数据,创建视图作为查询主表,发现字段值为中文的筛选无法生效.......... sql示例: CREATE OR REPLACE VIEW test_view AS SELECTid,name,location_address AS address,type,"1" AS data_type,COALESCE ( update_time, cr…...
PYTHON训练营DAY28
类 (一)题目1:定义圆(Circle)类 要求: 包含属性:半径 radius。包含方法: calculate_area():计算圆的面积(公式:πr)。calculate_circ…...
pytorch小记(二十一):PyTorch 中的 torch.randn 全面指南
pytorch小记(二十一):PyTorch 中的 torch.randn 全面指南 PyTorch 中的 torch.randn 全面指南一、接口定义二、参数详解三、常见使用场景四、位置参数 vs. Tuple 传参 —— 数值示例五、必须用关键字传入小结 PyTorch 中的 torch.randn 全面指…...
LeetCode 第 45 题“跳跃游戏 II”
好的,我来帮你解释一下 LeetCode 第 45 题“跳跃游戏 II”,这是一道经典的贪心算法题目。 题目描述: 给你一个非负整数数组 nums,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用…...
【leetcode】逐层探索:BFS求解最短路的原理与实践
前言 🌟🌟本期讲解关于力扣的几篇题解的详细介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不…...
副业小程序YUERGS,从开发到变现
文章目录 我为什么写这个小程序网站转小程序有什么坑有什么推广渠道个人开发者如何变现简单介绍YUERGS小程序给独立开发者一点小建议 我为什么写这个小程序 关注我的粉丝应该知道,我在硕士阶段就已经掌握了小程序开发技能,并写了一个名为“约球online”…...
Vue-键盘事件
键盘事件 回车事件 回车输出Input控件输入的内容 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>键盘事件</title><!-- 引入Vue --><script type"text/javascript&quo…...
区块链可投会议CCF C--IPCCC 2025 截止6.7 附录用率
Conference:44th IEEE -- International Performance Computing and Communications Conference CCF level:CCF C Categories:计算机网络 Year:2025 Conference time:Nov 21 – 23, 2025 Austin, Texas, USA 录用率…...
Linux `mkdir` 命令深度解析与高阶应用指南
Linux `mkdir` 命令深度解析与高阶应用指南 一、核心功能解析1. 基本作用2. 与类似工具对比二、选项系统详解1. 常用基础选项2. 高级选项组合三、高阶应用场景1. 自动化部署系统2. 安全审计合规3. 容器环境初始化4. 多用户协作体系四、特殊文件处理1. 符号链接处理2. 挂载点管理…...
JVM 调优实战入门:从 GC 日志分析到参数调优
手把手教你理解 GC 日志、识别性能瓶颈并合理配置 JVM 参数! 你是否曾遇到线上系统莫名卡顿、内存暴涨甚至频繁 Full GC? 本篇文章将带你从实际 GC 日志出发,深入剖析 JVM 性能问题,并学会如何通过参数调优提升系统稳定性和吞吐能…...
论文解读:ICLR2025 | D-FINE
[2410.13842] D-FINE: Redefine Regression Task in DETRs as Fine-grained Distribution Refinement D-FINE 是一款功能强大的实时物体检测器,它将 DETRs 中的边界框回归任务重新定义为细粒度分布细化(FDR),并引入了全局最优定位…...
Kafka 生产者工作流程详解
以下是 Kafka 生产者工作流程的清晰分步解释,结合关键机制与用户数据: 1. 生产者初始化与数据发送 主线程创建生产者对象,调用 send(ProducerRecord) 发送消息。 拦截器(可选):可添加自定义逻辑(…...
leetcode 239. 滑动窗口最大值
暴力解法是一种简单直接的方法,虽然效率较低,但可以帮助你更好地理解问题的逻辑。以下是使用暴力解法解决“滑动窗口最大值”问题的 C 实现。 暴力解法的思路 遍历每个滑动窗口: 使用一个外层循环,从数组的起始位置开始ÿ…...
第3章 自动化测试:从单元测试到硬件在环(HIL)
在前两章中,我们已完成从环境搭建到流水线编译的自动化配置。为了真正保障软件质量、降低回归风险,本章将聚焦测试自动化,涵盖从最基础的单元测试,到集成测试,再到硬件在环(Hardware-in-the-Loop, HIL)测试的全流程。通过脚本驱动、测试报告可视化和与 CI 平台深度集成,…...
flutter 配置 安卓、Ios启动图
android 配置启动图 launch_background.xml <?xml version"1.0" encoding"utf-8"?> <!-- Modify this file to customize your launch splash screen --> <layer-list xmlns:android"http://schemas.android.com/apk/res/android&…...
实验八 基于Python的数字图像问题处理
一、实验目的 培养利用图像处理技术解决实际问题的能力。 培养利用图像处理技术综合设计实现的能力。 掌握在Python环境下解决实际问题的能力。 熟练掌握使用cv2库对图像进行处理 熟练掌握使用区域生长法提取图片中感兴趣的区域 二、实验内容 本次实验内容为…...
Dockerfile学习指南
目录 一、Dockerfile 本质与价值 二、基础语法结构 1. 指令格式 2. 核心指令详解 三、构建流程解析 1. 典型构建过程 2. 分层构建原理 四、高级特性 1. 多阶段构建 2. 环境变量管理 3. 健康检查 五、最佳实践指南 1. 优化建议 2. 安全实践 六、典型应用场景 1. …...
数据库原理及其应用 第六次作业
题目 参考答案 题目1. 教材P148第1题 问题:什么是数据库的安全性? 答案:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏 。它通过用户身份鉴别、存取控制(包括自主存取控制和强制存取控制&#x…...
c/c++的opencv的轮廓匹配初识
OpenCV 轮廓匹配:形状识别与比较 📐✨ 轮廓匹配是计算机视觉中一个重要的技术,它允许我们比较两个形状的相似度。OpenCV 提供了强大的函数来实现这一功能,核心是 cv::matchShapes()。本文将引导你了解轮廓匹配的基本原理、OpenCV…...
Oracle APEX IR报表下载CSV文件的方法
目录 0. 准备工作 1. 下载--自定义SQL 2. 下载--检索结果 0. 准备工作 -- 建表 CREATE TABLE T_DL_EMP(EMPNO NUMBER(4) NOT NULL -- 雇员编号,由四个数字组成。, ENAME VARCHAR2(10) -- 雇员姓名,由10个字符组成。, JOB …...