云的博客 logo 云的博客

知识分享 经验总结 技术前沿

用python演示A星算法

Feb 1, 2026 bayview
A*(A-Star)是游戏开发、机器人路径规划、地图导航等领域中最经典的启发式搜索算法之一。本文通过一个基于 Tkinter 的交互式网格演示程序,直观展示 A* 算法逐步探索的过程——无需安装任何第三方库,开箱即用。 运行环境:Python 3.x(标准库,无额外依赖) 核心模块:tkinter(GUI)· heapq(优先队列)· time(动画延迟) 一、功能概览 本演示程序包含以下核心功能: 可交互的 20×20 网格地图 自定义起点与终点 自由放置障碍物 逐帧可视化 A* 搜索过程(Open Set / Closed Set 实时着色) 搜索完成后高亮显示最终最短路径 二、交互说明 鼠标操作 程序启动后,通过鼠标左键在网格上依次点击: 点击顺序 效果 颜色 第 1 次点击 设置起点 🟢 绿色 第 2 次点击 设置终点 🔴 红色 第 3 次及之后 放置障碍物 ⬛ 黑色 搜索过程颜 …

手动部署 Mattermost 到 Ubuntu Server 20.04

Apr 17, 2025 bayview
本文介绍如何在 Ubuntu Server 20.04 上手动部署 Mattermost,使用 PostgreSQL 13 作为数据库,并通过 systemd 管理服务进程。 1. 安装 PostgreSQL 13 更新系统并安装依赖 sudo apt update sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates 添加 PostgreSQL 官方软件源 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg echo "deb …

在 Ubuntu Server 上部署 FTP 服务

Jul 9, 2024 bayview
本文介绍如何在 Ubuntu Server 上安装并配置 vsftpd,实现一个带用户访问控制的安全 FTP 服务。 1. 安装 vsftpd sudo apt install vsftpd 2. 确认服务运行状态 sudo systemctl status vsftpd.service 执行后若看到如下输出,说明服务已成功启动: Active: active (running) 3. 配置 vsftpd 打开配置文件: sudo nano /etc/vsftpd.conf 按需启用以下配置项(取消对应行的注释或直接添加): 允许 FTP 写入操作 write_enable=YES 限制用户只能访问自己的目录 chroot_local_user=YES ⚠️ 启用 chroot 前请评估安全风险,详见 vsftpd 官方 FAQ。 设置用户根目录 user_sub_token=$USER …

LFS安装笔记本无线网卡驱动需要注意的几点问题

Jun 30, 2024 bayview
1. 关于LFS的无线网卡驱动 在官方说明文档中需要自行安装驱动固件的,只需要将固件放到/lib/firmware/目录,系统内核在启动时会自动寻找并加载 On some recent PCs it can be necessary, or desirable, to load firmware to make them work at their best. There is a directory, /lib/firmware, where the kernel or kernel drivers look for firmware images. 将官方下载的网卡驱动固件放到/lib/firmware/,系统日志显示 Apr 8 05:55:12 LFS-12 kernel: [ 0.316323] iwlwifi 0000:00:14.3: no suitable …

为Typecho代码块添加一键复制按钮

Jun 28, 2024 bayview
默认情况下,Typecho 的代码块不带复制功能,读者需要手动框选文字才能复制代码,体验较差。本文介绍一种纯前端方案——通过注入一段轻量级 JavaScript,在每个代码块右上角自动渲染"复制代码"按钮,无需安装插件,兼容大多数 Typecho 主题。 实现方式:纯 JavaScript + 动态注入 CSS,无外部依赖 适用场景:Typecho 博客,支持任意主题 一、注入脚本 1.1 选择注入位置 根据你使用的主题,选择以下任一方式将脚本添加到页面的 <head> 区域: 方式 A:直接编辑主题文件 找到主题目录下的 header.php,在 </head> 标签之前粘贴脚本代码。 方式 B:通过后台管理面板注入(推荐) 依次进入:控制台 → 外观 → 设置外观 → 主题自定义扩展 将代码粘贴到: 自定义 HTML 元素拓展 → 标签: head 头部(meta 元素后) 后台注入 …

在Linux中删除EFI引导分区已弃用条目

Mar 30, 2024 bayview
在多系统安装、系统重装或磁盘迁移后,EFI 系统分区(ESP)中往往会残留已卸载系统的引导文件,UEFI 固件的启动菜单中也会出现失效的启动条目。这些残留不影响日常使用,但会造成启动菜单混乱,在某些机器上甚至导致启动时间变长。本文介绍如何手动清理这些遗留内容。 操作环境:Linux(以 NVMe 硬盘为例) 所需权限:sudo 核心工具:efibootmgr · cfdisk · rm ⚠️ 操作前请注意:EFI 引导文件直接关系到系统能否正常启动。删除前请仔细确认目标条目和文件,误删当前系统的引导文件将导致系统无法启动。建议操作前备份 EFI 分区内容。 一、查看当前 EFI 启动条目 1.1 列出所有启动项 使用 efibootmgr 工具读取 UEFI 固件中存储的启动条目列表: sudo efibootmgr 输出示例 BootCurrent: 0001 Timeout: 1 …

使用 Lsyncd 实时同步目录内容

Mar 29, 2024 bayview
Lsyncd(Live Syncing Daemon)是一款轻量级的目录实时同步工具,基于 Linux 内核的 inotify 机制监听文件系统变化,并通过 rsync 将变更自动推送到目标目录或远程主机,无需手动触发,适合本地目录镜像、多节点文件同步等场景。 适用系统:Ubuntu 20.04 LTS 及以上 核心依赖:inotify(内核模块,通常已内置) · rsync(会随 Lsyncd 自动安装) 一、安装 安装 Lsyncd 通过 apt 直接安装,-y 参数跳过确认提示: sudo apt install lsyncd -y 安装完成后,验证版本号以确认安装成功: lsyncd --version Lsyncd 依赖 rsync 执行实际的文件传输。若系统中尚未安装 rsync,apt 会在安装 Lsyncd 时自动一并安装。 二、配置 2.1 创建配置与日志目录 …

Recent Posts

  • 用python演示A星算法 Feb 1, 2026
  • 手动部署 Mattermost 到 Ubuntu Server 20.04 Apr 17, 2025
  • 在 Ubuntu Server 上部署 FTP 服务 Jul 9, 2024
  • LFS安装笔记本无线网卡驱动需要注意的几点问题 Jun 30, 2024
  • 为Typecho代码块添加一键复制按钮 Jun 28, 2024
Powered by Hugo & Explore Theme.