首页
常用工具
学习笔记
行动起来,活在当下
累计撰写
9
篇文章
累计创建
2
个标签
累计收到
0
条评论
栏目
目 录
CONTENT
最新文章
2026-04-11
picapica,一个神仙 py 库:核心点整理
{"id":"resp_00565227d8f7076c0169da59df05388191b272f60b3af9044e","object":"chat.completion","created":1775917543,"model":"gpt-5.4","choices":[{"index":0,"message":{"role":"assistant"},"finish_reason":"stop"}],"usage":{"prompt_tokens":1127,"completion_tokens":159,"total_tokens":1286}}
2026-04-11
1
0
0
2026-04-11
humanize,一个神仙 py 库:核心点整理
{"id":"resp_0ecbcae152fddaea0169da587f30288191aec080f4c238b39e","object":"chat.completion","created":1775917191,"model":"gpt-5.4","choices":[{"index":0,"message":{"role":"assistant"},"finish_reason":"stop"}],"usage":{"prompt_tokens":1171,"completion_tokens":153,"total_tokens":1324,"prompt_tokens_details":{"cached_tokens":1024}}}
2026-04-11
4
0
0
2026-04-01
Pymem 使用笔记:用 Python 操作 Windows 进程内存
该文章主要介绍了Windows进程相关工具Pymem的基本用法和实际踩坑的经验。Pymem是一个Python库,封装了Windows底层API,允许用户在没有调用原生API的情况下直接操作其他进程的内存。 文章中提到了Pymem的常见使用场景,如内存分析、逆向工程、进程调试和游戏辅助研究。它还提供了一些基本的示例代码,展示了如何附加到进程、枚举模块与定位基址、读取内存数据以及写入内存数据。 文章中提到了几点注意事项,包括权限问题、地址有效性、64位 vs 32位指针差异和编码问题。这些注意事项需要在使用Pymem时考虑,以避免由于错误导致的程序崩溃或其他问题。 总的来说,Pymem是一个非常有用的工具,对于进行Windows进程相关研究和开发是非常有用的。通过了解它的基本用法和实际踩坑的经验,可以更好地利用其功能。
2026-04-01
5
0
0
Python
2026-03-30
Docker入门教程:从零开始容器化你的应用(2025完整版)
Docker 入门:为什么容器化已成为现代开发标配? 你有没有遇到过这种情况:"在我电脑上明明能跑,怎么部署到服务器就报错?" 这是每个开发者都经历过的经典问题。Docker 就是为了解决这个问题而生的。 本文从零开始讲解 Docker,带你完成第一个容器化应用的部署,无需任何基础。 什么是 Doc
2026-03-30
6
0
0
2026-03-30
10个提升开发效率的VS Code插件推荐(2025年最新)
本文总结了10款VS Code插件,帮助开发者提高开发效率和代码质量。这些插件包括: 1. GitHub Copilot:AI辅助编码,提供实时代码补全、自然语言转代码等功能。 2. GitLens:Git历史的超级放大镜,提供可视化分支历史、强大的blame注解、比较任意两个版本的差异等功能。 3. Prettier:一键格式化,告别代码风格争论,支持多种编程语言。 4. ESLint:代码质量守门员,实时标注潜在的代码问题,强制执行团队代码规范等功能。 5. Auto Rename Tag:HTML/XML标签自动同步重命名,改了开始标签,结束标签自动跟着改。 6. Thunder Client:轻量级API测试工具(Postman替代品),提供简洁的GUI界面、支持多个API、环境变量管理等功能。 7. Docker:容器管理可视化,提供可视化查看运行中的容器和镜像、一键启停容器,查看日志等功能。 8. Remote - SSH:远程开发神器,SSH连接到任意Linux服务器,完整的IntelliSense和调试支持等功能。 9. Error Lens:错误信息内联显示,不用鼠标悬停,错误信息直接显示在代码行末尾。 10. Todo Tree:代码中的TODO管理器,统一汇总到侧边栏,再也不会忘记要做的事情。 这些插件帮助开发者提高开发效率、代码质量,并且提供多种功能,如编程语言辅助、Git版本控制、API测试、容器管理等。
2026-03-30
5
0
0
2026-03-30
Python deepdiff 使用笔记
这是一份关于Python的深度比较库(DeepDiff)的文档。它提供了一种高效的方法来对比两个或多个对象的差异,包括它们的属性值、结构和内容。 **深度比较的基本概念** * **DeepDiff**: 这是最主要的类别,用于对比两个或多个对象。 * 通过 `DeepDiff` 对象,可以获得对象之间的差异,包括它们的属性值、结构和内容。 **使用 DeepDiff 的示例** ```python from deepdiff import DeepDiff # 创建两个对象 data1 = { "x": 1, "y": [1, 2], "z": {"a": 3, "b": 4} } data2 = { "x": 2, "y": [1, 3], "z": {"a": 5, "c": 6} } # 使用 DeepDiff 对象对比两个对象 diff = DeepDiff(data1, data2) print(diff) ``` **输出** ```json { 'identical': [ 'root' ], 'not_identical': [ { 'keyPath': 'x', 'newValuePath': 'data2["x"]', 'value': 2, 'old_value_path': 'data1["x"]', 'old_value': 1 }, { 'keyPath': 'y', 'newValuePath': 'data2["y"]', 'value': [1, 3], 'old_value_path': 'data1["y"]', 'old_value': [1, 2] }, { 'keyPath': 'z', 'newValuePath': 'data2["z"]', 'value': {'a': 5, 'c': 6}, 'old_value_path': 'data1["z"]', 'old_value': {'a': 3, 'b': 4} } ] } ``` **输出解释** * `identical`: 对比时没有出现差异的路径。 * `not_identical`: 对比时出现差异的路径,包括新值、旧值和它们之间的变化。 **其他方法** DeepDiff 还提供以下方法: * `DenseDiff`: 可用于比较 dense 的数据结构(如 dict、list 等),它会优化对比过程以减少计算量。 * `compute_diff`: 通过指定两个对象并选项参数,可以直接计算出差异。 * `DeepHash`: 可用于计算 object 的 hash 值,用于快速判断两个 object 是否完全相同。 **性能优化建议** * 使用 `max_depth` 来限制递归深度,避免深层递归消耗过多内存。 * 在使用 `ignore_order=True` 时设置相似度阈值来控制列表元素匹配策略,避免 O(n²) 的全量配对。 **参考资料** DeepDiff 的文档可以在 [ZepWorks](https://zepworks.com/deepdiff/current/) 或 [PyPI](https://pypi.org/project/deepdiff/) 仓库中找到。
2026-03-30
12
0
0
Python
2025-11-22
在 Python 中使用 XXL-JOB 执行器的完整指南
该文档介绍了pyxxl的使用指南,包括创建任务、任务参数、Prometheus监控、开发与调试等内容。以下是该文档的关键点: 1. **创建任务**:使用`@app.register()`定义任务函数,传入任务ID和其他必要信息。 2. **任务参数**:在任务函数中通过`g.job_id`和`g.param`获取任务ID和参数。 3. **Prometheus监控**:安装`metrics`扩展后,执行器会自动暴露Prometheus格式的指标。 4. **开发与调试**:项目提供了一键启动开发环境的脚本(依赖Docker),包括启动XXL-JOB调度中心、安装依赖和启动示例执行器。 文档还提到了以下兼容性和已知问题: * **兼容性**:支持Python 3.9+,XXL-JOB版本2.2.0、2.3.0、2.4.0、3.3.2。 * **已知问题**:XXL-JOB界面显示的任务执行时间为回调时间,而非实际开始时间;实时日志拉取进度显示异常,刷新页面后可查看完整日志。 文档提供了以下参考资料: * pyxxlGitHub仓库 * pyxxl官方文档 * XXL-JOB官方仓库
2025-11-22
4
0
0
Python
2025-09-22
将 Python 标准库 logging 重定向到 Loguru
以下是文章摘要: 本文介绍如何通过一个拦截处理器(InterceptHandler),将所有标准库 logging 的日志流量统一重定向到 Loguru,实现全局日志一致性。首先需要安装 Loguru,并在项目入口处调用setup_logging()函数即可实现。该方法包括以下步骤: 1. 依赖安装:使用 pip 安装 Loguru 或 uv add loguru。 2. 核心原理:标准库 logging 支持自定义 Handler,创建 InterceptHandler,将日志记录转发给 Loguru 的 logger。 3. 代码实现:在 InterceptHandler中,通过映射logging级别到Loguru级别、追踪调用栈深度和异常信息,转发日志到 Loguru。 4. 使用示例:在项目入口处调用setup_logging()即可。 5. 与 FastAPI / Uvicorn 集成:FastAPI 和 Uvicorn 内部大量使用标准库 logging,通过上述方案可以将它们的日志也统一收归 Loguru 管理。 6. Loguru 输出到文件(可选):如果需要同时将日志写入文件,可在 setup_logging 中追加 Loguru 的 sink 配置。 注意事项: * 调用时机:setup_logging() 必须在所有第三方库导入之后、应用启动之前调用。 * propagate 设置:对于需要单独拦截的第三方库 logger,记得将 propagate 设为 False,避免日志被重复输出。 * level=0: logging.basicConfig(level=0) 表示接受所有级别,具体过滤由 Loguru 一侧负责。 * 多进程环境:在多进程(如 Gunicorn)场景下,每个子进程需独立初始化,建议在进程启动钩子中调用。 总结:通过实现 InterceptHandler 并替换 logging 的根 Handler,可以将整个项目(包括所有第三方库)的日志统一交由 Loguru 处理。这样既保持了与标准库 logging 的完全兼容,又享受到 Loguru 带来的彩色输出、异常追踪、文件轮转等现代化特性,是 Python 项目日志管理的最佳实践之一。
2025-09-22
38
0
0
Python
2025-09-21
Linux普通用户免密使用root命令
该文章介绍了 Linux 下的sudo功能及其相关配置。以下是文章的总结: sudo(Superuser Do)是Linux下的一种权限委托机制,允许管理员精确控制"哪个用户"可以"在哪台机器上"以"哪个身份"执行"哪些命令",并且可以免输密码(NOPASSWD)。合理配置sudoers文件,是生产环境中运维和自动化部署的标准实践。 本文提供了如下内容: 1. 安全编辑sudoers文件,使用visudo工具。 2. sudoers文件的配置格式详解。 3. 实用配置示例,其中包括免密执行单个命令、限制来源主机 + 排除危险命令、允许用户组免密管理服务、部署账户免密执行特定脚本和用户组完全免密sudo等。 4. /etc/sudoers.d/目录使用规范,包括自动加载配置文件的指令和最佳实践。 5. 安全注意事项,包括最小权限原则、使用绝对路径、禁止编辑器/Shell获取root等。 总之,了解并合理使用sudo功能,可以在保证安全的同时提升运维效率。
2025-09-21
20
0
0
运维