配置Hysteria时踩的一些坑
前言 之前配置好的ss许久不用,今天一用不知道为什么寄了,客户端显示能够连接,服务端能够运行,但是没有连接成功的日志,试过取消CDN,但是依旧无法正常代理,遂作罢,投奔Hysteria。 NGINX占用端口 Hysteria获取证书用到的是Let’s Encrypt,要求服务器支持 ALPN 协议(Application-Layer Protocol Negotiation)并能正确响应 TLS 请求。 而我的日志出现了: Cannot negotiate ALPN protocol "acme-tls/1" for tls-alpn-01 challen...
关于Java中异常处理的一些思考
最近好不容易刷到一个用Java写的、我感兴趣的项目,我fork了 https://github.com/wushuo894/ani-rss 这个项目,想着来学习一下大佬不用spring写的一个Java web,在调试过程中,我发现如果我的qBittorrent如果下载的种子没有人挂着,就会一直报错: 2024-12-28 22:41:15 ERROR ani.rss.task.RenameTask - 3c870c21a31ecc3343f01d1d90d45f45fcbe231f 磁力链接还在获取原数据中 java.lang.IllegalArgumentExcep...
重构我的小屎山代码
我的屎山代码 在写tgDrive的初期,总是觉得怎么简单怎么来,结果就是后期的维护难受的一批。 请好好地,看着我的屎山(请勿展开,展开辣眼睛): //TODO: need refraction @Override public ResponseEntity downloadFile(String fileID) { try { // 从 botService 获取文件的下载路径和文...
后端返回数据规范
问题发现 在写tgDrive的早期阶段,我想着一个小项目,应该不会有特别多的数据交互,我为了图方便,索性直接用Spring框架自带的ResponseEntity来响应,但是当项目进行下去后,我发现直接用ResponseEntity响应的话,前端的处理十分麻烦。 问题分析 在ResponseEntity构建的响应中,响应体的内容就只有数据,例如返回的JSON: { "name": "Alice", "age": 25 } 前端需要根据不同的...
使用Flyway进行数据库的迁移后新用户不能正确初始化数据的补救方案
在我费尽千辛万苦做好了老用户的丝滑迁移后(不是,第二天我就发现了新用户不能正确初始化数据库,不查不知道,一查吓一跳,原来 Flyway 优先于 schema.sql。 这也就是为什么会报错: SQL State : null Error Code : 1 Message : [SQLITE_ERROR] SQL error or missing database (no such table: files) Location : db/migration/V2__AddFullSizeColumn.sql (D:\project\tgDrive\target\nested...
计算机网络基础
学习计算机网络基础过程中的一些自己的思考,疑问和总结。 协议 在计算机网络中,我们所说的协议,指的是设备之间用来通信的规则和约定。就像人类交流需要共同的语言和规则(例如英语中的语法、句子结构),计算机在网络中互相通信也需要一种标准化的语言,这种语言就是协议。 协议的本质:共同的规则 假设你和别人通电话: 规则1:谁先说话? 电话接通后,通常是打电话的人先说“你好”。 规则2:如何回应? 接电话的人会说“你好,请问找谁?” 规则3:挂电话的顺序 通话结束时,通常会互相说再见,然后挂断。 ...
Java中使用Flyway对已有数据的数据库表进行增加字段操作
在写 tgDrive 的时候,突然想起自己有可能是因为在返回的 header 里没有通过 Content-Length 设置文件的大小导致在下载文件的时候显示的是恢复文件,而不是下载文件。一开始自己为了图方便并没有直接存储文件的大小,所以需要在已有数据库表上新增 full_size 字段。而我又不能自己单独操作数据库,因为这个项目是需要自部署的,我也得考虑到其他在使用这个项目的人。所以我选择使用Flyway进行数据库迁移。 方法 1. 引入依赖 Maven 方式**:在 pom.xml 中添加 Flyway 的依赖。 <dependenc...
红米手机输错一次密码就锁定
问题描述:图案解锁,错误一次,手机直接锁定30s,不是往常的5次解锁后失败后锁定30s。 解决方案:把手机分身删了。 嗯,对,就是这么简单朴素。 HyperOS升级之后也过去很久了,感觉这个问题有可能是HyperOS的锅,不过我自己发现这个是在几个月前,所以不确定(网上最早发现这个问题我看是在6月16号) https://www.bilibili.com/video/BV16h4y1X78n 因为我一直都是用的指纹解锁,而且输错密码的次数少,就没怎么在意,但是最近手脱皮了,指纹老是不对,又有个很急的事,一下图案没划对,直接给我锁30s,整的我很无语,就去搜了一下,发现大家有这个问题都...
如何创建一个telegram bot?
以下是创建 Telegram Bot 的具体步骤: Step 1: 找到 BotFather 打开 Telegram 应用。 搜索 @BotFather,这是官方提供的用于管理所有 Bot 的工具。 Step 2: 创建 Bot 点击进入 @BotFather 聊天界面,输入命令: /newbot ...
使用团子翻译器翻译漫画生肉的一些小心得
团子翻译器真的是一款蛮好用的翻译软件了,能OCR,并且自动消除生肉中的原文字,把译文贴上去,等于把翻译,嵌字的工作做了一遍,帮你省去了大量重复的劳动,所以一个人就是一个字幕组!,项目地址是: https://github.com/PantsuDango/Dango-Translator 个人精擦 有时候会遇到翻译器自己没把原来的文字完全擦除干净的情况 ![可以看到左边的文字背后还是有原文(有没翻译到的地方可以用左下角的手动绘制没翻译到的地方让OCR再识别一遍)](https://object.skydevs.link/d/BQACAgUAAxkDAAIBE2cWWuwkeE...