最近发现了一个非常好用的 Python 代码格式化工具:Ruff。由 Astral 出品,速度极快,还能同时做 lint 和 format。 安装1pip install ruff 基本用法格式化单个文件: 1ruff format <file> 格式化整个项目目录: 1ruff format . 体验把所有项目都用 Ruff 格式化了一遍,快到难以想象——几百个文件的项目,一两秒钟就搞定了。如果还在用 Black 或手动对齐 PEP 8,值得一试。
Counter-Strike F1 按键自动购买配置
闲来无事打了一会儿 CS,按 F1 自动购买时只买了主武器,子弹也没补满。查了一下,问题出在 <game dir>/cstrike/autobuy.txt——这个文件定义了自动购买的优先级和清单。 autobuy.txt 是什么游戏按文件中的顺序依次尝试购买。主武器买到一个之后,后面的主武器别名会跳过;副武器同理。注释里列出了所有可用的购买别名。 我的配置在默认基础上补全了弹药和装备,闪光弹买两个: 123456789101112131415161718192021222324...
页面烟花特效:用 canvas-confetti 庆祝客流破万
历史项目有个新需求:当客流达到整万数时,页面来一段庆祝特效。研究了一圈,最后选了 canvas-confetti,效果还不错——两侧礼花 + 中央爆炸 + 全屏贺词,持续约 43 秒。 点这里查看演示效果 实现思路整体分三块: 全屏贺词层:半透明黑底 + 变色文字,用 jQuery fadeIn / fadeOut 控制显隐。 两侧礼花:requestAnimationFrame 循环,从左右边缘向中间喷射粒子。 中央爆炸:setInterval 每 2 秒触发一轮,在屏幕中央...
常用的 Git Alias
重装了一次电脑,记录一下 Git alias 配置。 12345678[user] name = Jinloh WU email = i@tiaobug.com[alias] lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-comm...
用 CaptchaCracker 训练模型识别验证码
新项目需要去一个网站上爬数据,网站上有验证码。以前简单的验证码可以直接用 tesseract 识别,但这次长这样: 有斜线干扰,数字是彩色的,且歪歪扭扭。试了几次 OCR 方案都不成功,计划用 TensorFlow 训练模型,过程中发现了参数已经调好的 Python 库 CaptchaCracker。 训练模型需要调整的参数不多,给定验证码图片的宽度和高度即可: 1234567891011import globimport CaptchaCracker as cctrain_img_pa...
在 Ubuntu 里用 Docker 启动 MySQL,导入阿里云 RDS 数据
项目需要低功耗运转,暂时没有太大访问量,不太需要购买阿里云 RDS MySQL,计划把数据迁移到一个 ECS 里。 导出 RDS 数据登录阿里云,从 DMS 页面右上角找到「导出」,勾选所有表,导出一个 SQL 文件。在本地打开确认文字没有乱码,正常可用。 为什么用 Docker尝试在 Ubuntu 系统里直接安装 MySQL 8,但修改 lower_case_table_names=1 时 MySQL 无法启动。改用 Docker 后发现真的很方便——操作失误可以立刻删掉容器重来。 安装...
在 Windows 的 Git Bash 里使用 rsync 命令
rsync 非常好用,增量同步比 scp 高效得多。 最近打算做一个小项目,后端继续用 Python,框架计划尝试 FastAPI——性能比 Flask 高很多,甚至能比肩 NodeJS 和 Go,值得一试。 服务器打算放到阿里云云小站的 ECS 里,配置好 Nginx 和 SSL,用 supervisor 管理程序: 1234567[program:sfydoc-api]command=/bin/bash -c 'cd /home/tiaobug/sfydoc/backend ...
acme.sh 自动化配置证书,永久免费 SSL
acme.sh 实现了 ACME 协议,可从 Let’s Encrypt 免费申请 SSL 证书,并通过 cron 自动续期。 本文只讲两件事:安装 acme.sh,以及用阿里云 DNS API 完成域名验证、申请证书、部署到 Nginx。示例域名以 tiaobug.com 和 www.tiaobug.com 为例,root 或非 root 用户均可操作。 安装 acme.sh1curl https://get.acme.sh | sh -s email=i@tiaobug.com #...
树莓派配置桥接网络,热点接入 ETH0,支持 SADP 扫描
在手机端安装海康客户端「易调试」,通过树莓派释放的热点 WiFi 接入,能直接访问树莓派 ETH0 网络,并支持 SADP 协议扫描 ETH0 网络里的海康设备。 功能目标 手机连树莓派 WiFi 热点 能访问 ETH0 网段内的海康设备 SADP 组播扫描正常工作 预研SADP 协议海康威视 SADP(Search Active Device Protocol)用于搜索和管理网络摄像头等设备。主要功能: 设备搜索:自动扫描网络中的海康设备 设备管理:查看状态、IP、序列号等 批量配置...
SHA256 加密算法步骤演示
需要研究一下 SHA256 算法的工作原理,发现了一个分步骤演示加密过程的网站,做的非常棒,分享一下: sha256algorithm.com 网站把 SHA256 的每一步(填充、分块、压缩函数等)都可视化出来了,适合跟着走一遍理解哈希是怎么算出来的。