404E Blog

持续记录技术折腾和可复用经验。

当前内容以仓库中的 Markdown 为准,静态生成,部署到 Cloudflare Pages。

90
文章
24
常用标签
未分类

docker+mc的运维管理方案

之前在 $1 中提到过docker部署minecraft服务器,后来发现并不好用,因为portainer免费版并没有很好的控制台管理方式,没有用户组之类的精确权限控制,同时也没有好用的文件管理方案,最终选择使用$1来管理,在容器中安装tmux用于后台运行并随时打开控制台,同时还有vscode的好用文件管理 Dockerfile start sh aliyun

未分类

同事误删mysql库补救办法

发现问题 今天下午同事突然跑来找我说不小心把库删了,问我会不会恢复,我从来没有这种删库恢复的经验,自然是要学习一下的,直接开始帮他恢复 查找解决办法 被删库的机器,这儿就叫他243,243的应用和数据库在同一个服务器上 1 首先先停止了应用防止继续写入或者丢失服务数据 2 检查mysql的binlog是否开启 SHOW VARIABLES LIKE 'log

未分类

优化超大单体Spring Boot项目开发环境启动速度

之前维护的一个项目,项目启动需要12分钟,开发环境需要频繁启停,极大影响开发效率 分析 使用IDEA profiler收集启动阶段的数据,并用idea打开火焰图分析 发现启动时间大部分都消耗在注入Autowired资源以及创建Aop切面 同时整理了项目的模块发现开发环境下有一部分是不常用的 优化方案 首先是修改pom使开发环境不加载不常用的模块,启动速度快了

未分类

远程连接内网路由器

看标题会感觉是一个很简单的操作,但是不是。路由器后台会自动重定向到ip访问,导致常规端口转发不生效。 我尝试过zerotier,但是和公司的局域网网段重叠了,遂放弃。 今天发现ssh可以做socks代理,于是解决了。 ssh指令 ssh D 1080 N q user@host p port 打开一个socks代理 然后下一个火狐 可以下$1 进入设置拉到最

未分类

回退vscode版本 & 多版本共存

最近更新了vscode,有一天需要连接远程服务器的时候发现报错说服务器glibc什么的版本过旧不支持了,但是服务器又不是我的,没法更新系统,所以需要回退旧版本。同时我有一个新版本的vscode,因为claude code插件不支持旧版本vscode,所以需要两个vscode互相隔离,于是就有了这个博客。 下载旧版本vscode 因为我需要多版本共存,所以需要

未分类

minecraft docker运行

今天研究了一下docker中运行minecraft,原因是希望在不给ssh的情况下允许别人进入服务器后台,因为已经部署了portainer,所以希望可以直接通过portainer操作后台 构建镜像 首先需要一个镜像来运行服务端 一开始我选择了Alpine作为底包,然后发现这个包实在是太干净了,甚至用的都不是glibc,下好的预编译的jdk没法跑,于是换了ub

未分类

wordpress 非标准端口 https

今天折腾了一天的wordpress,想从http切换到https 首先用acme申请了证书 在wordpress容器到公网之间添加了一个nginx做反代顺便添加https支持 首先遇到的问题是修改站点地址为https后argon的js和css都请求失败,一看发现还都是http 折腾半天找不到配错的地方,最后没写过php也只能硬改代码了,在argon的func

未分类

修复误损坏/usr的ubuntu

前情提要 在安装 telegraf 的时候需要复制文件到 /etc /usr /var 等目录下,移动文件的时候错误使用了 mv usr/ /usr/ 的指令,导致系统损坏,缺少bash无法ssh远程连接 尝试远程修复 ssh连不上的情况下发现跑在docker中的容器居然还在正常运行,于是尝试通过 portainer 新建容器挂在根目录修复,发现 porta

未分类

米家+小爱音箱+巴法云+termux 远程开关机

场景 以前写过一个安卓app可以远程操作家里旧手机给电脑发wake on lan数据包触发远程开机,最近用上了米家的智能家居,想把远程开关机集成到米家里,同时又不想买米家的开机卡 碰壁 首先研究了 Home Assistant ,部署完了对接米家的时候发现只能单向用ha操作米家设备,这不是和我的需求反了吗 然后看了一下小米iot平台开发者账号,发现要企业资质

未分类

docker 部署 nexus

docker 安装 nexus 数据目录映射到主机的 /opt/nexus data,容器的/nexus data 配置签名 本来不知道有这步的,但是偶然点进了 system status 界面,看到一个红叉和 Nexus was not configured with an encryption key and is using the Default k

未分类

kotlin script

$1是我最喜欢用的语言,语法简洁功能丰富,但是项目管理略嫌麻烦,那有什么办法可以跳过麻烦的项目管理,同时又直接使用jvm庞大生态的依赖呢 答案就是 $1 使用 首先需要一个最新的 idea ,旧版本的idea对这类新特性的支持并不太好 kotlin 脚本有好几种,临时文件里创建的 scratch ,gradle项目管理的 build gradle kts ,

未分类

kotlin notebook 使用体验

最近遇到一些数据分析的需求,正好之前看到又新又好的 $1 ,就拿来玩了一下 前置条件 首先按照$1,需要安装插件,此处由于公司电脑的idea版本较旧 不是不想更,是更新了jrebel启动慢一倍 ,所以一开始新建了文件也没有代码高亮,最终装个两个版本的idea,旧版本idea专门跑jrebel项目 然后按照教程需要一个项目,此处测试了项目类型,intellij

笔记

安装docker

2025 04 01 在 ubuntu 24 04 1 上安装 docker 参考自 $1 安装前置 添加gpg密钥 这一步遇到问题,可能失败,失败后会在 /etc/apt/keyrings/docker gpg 写一个空文件,需要删除后重试 添加仓库 虽然格式和apt自带的不一致,但是能用 更新软件包列表 安装 这一步下载很慢,选择给apt设置代理(htt

教程

github student developer pack

申请时间 2024 03 26 准备github账号 1 注册并登录github 2 右上角头像 设置 3 左边选择 billing and plans 下的 payment infomation 4 填写账单地址,主要名字必须是真名,和学籍信息一致的名字,firstname长度不够要求可以在后面加空格 绑定edu邮箱 1 链接:$1 2 绑定邮箱并通过验证

教程

tmux

在后台启动tmux tmux new d s name 给tmux输入发送指令 tmux send keys t name:0 "echo hello" C m

教程

通过局域网在安卓设备和PC之间传输文件

PC操作 配置共享文件夹 1 首先需要一个文件夹用于存放传输的文件,建议在空间比较大的盘下创建,比如D盘 2 右键文件夹点击属性 共享 网络文件和文件夹共享 共享 3 下拉框中选择用户,此处若要允许匿名访问则选择下拉框中的EveryOne 4 在下方添加的用户中配置权限,若要允许修改则点击读取修改为读取/写入 5 点击共享 6 点击完成 匿名共享 1 若要允

教程

unidbg自行支持其他版本的协议

两个so文件 首先从自带的文件中可以看出,需要获取两个so文件 这两个so文件只要下载对应版本的qqapk,使用解压软件打开就可以获得 config json中的协议信息 这儿使用$1来反编译qqapk 通过自带的版本信息可以知道,qua是 V1 AND SQ 开头的,我们在jadx中搜索 可以看到,前缀匹配上了,但是后缀不一样,所以这儿我们只复制版本信息以