我的世界Java版服务端搭建
java
下载从Java Downloads | Oracle 中国下载对应 CPU 架构的.tar.gz 文件(一般是 x64 架构)
1$ wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
安装然后使用tar -xvzf xxx.tar.gz /usr/local/xxx解压缩到特定目录如/usr/local,配置环境变量:在.bashrc文件最末尾添加以下两行(其中 xxx 为你解压缩后的目录名):
12export JAVA_HOME=/usr/local/xxxexport PATH=$JAVA_HOME/bin:$PATH
验证使用source ~/.bashrc使修改生效,使用java --version验证Java是否安装成功
我的世界服务端
下载从Minecraft 服务器下载 | Minecraft下载我的世界 Java 版服务器(或直接在 Linux 命令行执行下面命令,链接可能失效,需要使用最新链接)
1$ wget https://piston ...
WSL2备份与还原
备份
确定版本,在 cmd 中,输入 wsl -l -v 来确定自己的 wsl 版本。因为有些人下载的是”Ubuntu-22.04”发行版,或者像我一样仅仅是”Ubuntu”发行版,在这里确认一下 name 以便正确导出备份文件。
1234$ wsl -l -v# 输出 NAME STATE VERSION* Ubuntu Stopped 2
若输出 STATE 显示为 Running,则需执行命令wsl --shutdown关闭 wsl 子系统
导出备份
123$ wsl --export 发行版本名 备份文件路径# 示例:$ wsl --export Ubuntu D:\backup.tar
还原备份12345678$ wsl --import (发行版本名称) (安装位置) (文件路径以及文件名称)# 示例:$ wsl --import Ubuntu C:\wsl\ D:\backup.tar# 假如是在原系统上迁移到其他磁盘,还需要删除原来的 wsl 子系统,删除后原路径下的vhdx文件会被移除$ wsl ...
linux系统手动添加swap分区
swap 分区介绍swap 分区中文名是交换分区,类似于 Windows 中的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况
添加 swap 分区假设物理内存及 swap 分区空间不够或者没有 swap 分区,那么可以手动添加一个 swap 文件当做 swap 分区,也可以划分一个独立的磁盘分区当做 swap 分区,这里采用创建 swap 文件的方式添加 swap 分区
123456789101112# 使用 fallocate 命令添加一个 10G 的 swap 文件(fallocate 命令并不会直接使用 10G 空间,只是预设,需要用的时候才增加)# swap 文件及路径可以自定义,这里在根目录下创建swapfile文件$ sudo fallocate -l 10G /swapfile# 修改文件权限$ sudo chmod 600 /swapfile# 格式化为 swap 分区$ sudo mkswap /swapfile# 启用新添加的swapfile$ sudo swapon /swapfile
如果需要每次开机自动挂载 sw ...
个人博客搭建:添加RSS功能
本篇文章主要介绍如何在 hexo+butterfly 框架主题下添加 RSS 功能,其中相关配置详细参数见 Github 开源项目GitHub - hexojs/hexo-generator-feed: Feed generator for Hexo.,由于笔者时间精力有限,如有疏忽错漏还请指正,谢谢~
框架版本:hexo 7.1.1主题版本:butterfly 4.13.0
RSS 简介RSS 的全称有三种说法:
RDF Site Summary(资源描述框架站点摘要)
Rich Site Summary(网站内容摘要)
Really Simple Syndication(简易资讯聚合)
RSS 就像一个网站的海报,里面包括这个网站的最新内容,会自动更新。从技术方面来说,就是各个平台会提供一个 XML 格式的纯文本文件,该文件里包含了该网站的内容。如果该平台有更新,也会同步更新这个 XML 文件
RSS 插件 hexo-generator-feed 安装配置
hexo 根目录下安装插件
1$ npm install hexo-generator-feed --sa ...
conda创建环境时env路径默认为C盘而非anaconda安装路径的问题解决
查看 conda env 配置路径1234# 命令1$ conda info# 或命令2$ conda config --show
上述命令 2 执行结果如下:
1234envs_dirs: - C:\Users\Administrator\.conda\envs - D:\anaconda3\envs - C:\Users\Administrator\AppData\Local\conda\conda\envs
修改 envs_dirs 默认 env 路径修改~/.condarc(若为 Windows 系统则在C:\Users\{用户名}\.condarc)中 envs_dirs 的顺序,若没有则添加如下内容:
12envs_dirs: - D:\anaconda3\envs
再次执行conda config --show,显示结果如下:
1234envs_dirs: - D:\anaconda3\envs - C:\Users\Administrator\.conda\envs - C:\Users\Administrator\AppData ...
PaddleOCR环境配置
本地环境:Python:3.12CUDA:12.9包管理器:conda操作系统:Windows 10
创建 PaddlePaddle 框架 的 Python 虚拟环境
使用 conda create -n env_name python=3.12 安装 PaddleOCR 的 python 虚拟环境并指定 python 版本为 3.12
使用conda activate env_name激活环境后使用下面的命令安装 GPU 版本的 PaddlePaddle 框架:
1$ python -m pip install paddlepaddle-gpu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
使用下面的命令验证是否成功安装,输出安装的框架版本号即表示安装成功
1$ python -c "import paddle; print(paddle.__version__)"
安装 PaddleOCR 库根据需要安装 PaddleOCR:
12345# 只希望使用基础文字识别功 ...
linux系统资源查看-top命令
参考:每天一个 Linux 命令-top(1)_哔哩哔哩_bilibili
任务列表区域PIDProcess Id,进程IDUSEREffective User Name,有效用户名PRPriority,优先级NINice Value:Nice值VIRTVirtual lmage(KiB),进程使用的虚拟内存大小RESResident Size(KiB),进程占用的驻留内存大小SHRShared Memory(KiB),进程占用的共享内存大小SProcess Status,进程状态RRunning,运行sSleeping,可中断的睡眠状态DUninterruptible Sleep,不可中断的睡眠状态TTraced,已被跟踪或已停止zZombie,僵尸进程×Exited,退出状态%CPUCPUUsage,自从上一次更新到现在进程所使用的CPU时间百分比%MEMMemory Usage(RES),进程所使用的物理内存的百分比TIME+CPU Time,hundredths,任务后动后到现在所使用的全部CPU时间,精确到百分之一秒COMMANDCommand Name/Line,命今名 ...
PyInstaller打包python脚本为可执行文件
PyInstaller 是一个将 Python 脚本打包成独立可执行文件(例如 Windows 系统的.exe)的工具,方便在没有 Python 环境的机器上运行程序
安装 pyinstaller在项目 python 环境的终端执行:
1$ pip install pyinstaller
使用 pyinstaller 命令打包 python 脚本
在脚本所在目录终端中执行:
1234# 创建带有控制台窗口的可执行文件及运行库文件(文件夹)$ pyinstaller your_script.py# 创建去除控制台窗口,自定义图标的单个可执行程序(文件)$ pyinstaller -F -w -i your_icon.ico your_script.py
执行后会生成 build、dist 文件夹和 .spec 配置文件,dist 中的文件即为打包完成的可执行文件
常用参数:
123456-F , --onefile:打包成单个可执行文件-D , --onedir:打包成文件夹(默认)-w , --windowed:去除控制台窗口(适合 GUI 程序)-c , --console:保 ...
git diff命令进行差异比较
git 仓库工作区与版本库使用git init初始化仓库时会在当前工作目录下生成.git目录,该目录属于 git 的版本库,存储项目的完整历史快照。它包含暂存区(索引区,使用git add添加)和本地对象库(git commit添加),而我们进行编码的当前工作目录属于工作区
123graph TD A[工作区] -->|git add| B[暂存区] B -->|git commit| E[对象库]
git diff 的四种情况工作区和暂存区
git diff:查看工作区和暂存区所有文件的差异
git diff -- {filename}:只查看工作区和暂存区文件{filename}的差异(注意–和{filename}间的空格)
git diff -- {filename1} {filename2}:查看工作区和暂存区文件{filename1}、{filename2}的差异(注意空格)
工作区和版本库
git diff HEAD : 查看工作区与最新版本库之间所有的文件差异(将 HEAD 替换为某个 ...
大数求余算法
对大数进行求余操作,这里只涉及给定一个大数,针对给定的 mod 值采用模拟手算的方法进行求余操作
模拟手算原理:从字符串 large_num 首位开始对 mod 进行取余操作,并将余数 result 存起来与后一位合到一起继续进行取余操作,直到遍历完整个字符串得到最终余数
核心代码:
12345long long result = 0;for (int i = 0; i < large_num.size(); i++){ result = (result * 10 + large_num[i] - '0') % mod;}
模拟手算(优化版)原理:在模拟手算基础上,将大数进行分块,每块含多位数字,每次对块进行取余操作,并将余数 result 存起来与后一块合到一起继续进行取余操作,直到遍历完所有得到最终余数
核心代码:
123456789int k_size = 9;long long result = 0;string segment;for (size_t i = 0; i < large_num.size(); i += ...









