<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kappadat770的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kappadat770</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kappadat770]]></copyright><item><title><![CDATA[Fail2Ban：自动封禁暴力破解 IP 的防护工具]]></title><link>https://blog.youkuaiyun.com/kappadat770/article/details/162273652</link><guid>https://blog.youkuaiyun.com/kappadat770/article/details/162273652</guid><author>kappadat770</author><pubDate>Wed, 24 Jun 2026 15:10:39 +0800</pubDate><description><![CDATA[Fail2Ban 是一个开源的日志监控工具，目前在 GitHub 上有 18k+ 的 Star。它的工作原理很直接：扫描系统日志文件，检测到某个 IP 地址有多次失败的登录尝试后，自动更新防火墙规则，在一段时间内拒绝该 IP 的新连接。如果你的服务器直接暴露在公网上，这是一个值得部署的基础防护工具。如果你的服务器直接暴露在公网上，这是一个值得部署的基础防护工具。当它发现某个 IP 在短时间内产生了多次认证失败记录，就会触发预设的规则，通过 iptables 或其他防火墙工具将该 IP 封禁。]]></description><category></category></item><item><title><![CDATA[Moment.js：JavaScript 日期处理的经典库]]></title><link>https://blog.youkuaiyun.com/kappadat770/article/details/162233678</link><guid>https://blog.youkuaiyun.com/kappadat770/article/details/162233678</guid><author>kappadat770</author><pubDate>Tue, 23 Jun 2026 14:25:55 +0800</pubDate><description><![CDATA[Moment.js是JavaScript生态中处理日期时间的经典库，提供解析、校验、操作和格式化等丰富功能，以其简洁的链式API解决了原生Date对象的痛点。尽管官方已将其定位为遗留项目（因可变设计易引发bug和较大包体积），但由于其成熟生态、低学习门槛和广泛存量项目依赖，仍被大量使用。当前推荐替代方案包括date-fns、Luxon、dayjs（API兼容且轻量）和原生Temporal API。作为前端日期处理的先驱，Moment.js对后续库设计产生了深远影响，其历史贡献值得铭记。]]></description><category></category></item><item><title><![CDATA[知项 Knowject 让 AI 代理读得懂你的项目上下文]]></title><link>https://blog.youkuaiyun.com/kappadat770/article/details/162172559</link><guid>https://blog.youkuaiyun.com/kappadat770/article/details/162172559</guid><author>kappadat770</author><pubDate>Sun, 21 Jun 2026 14:40:25 +0800</pubDate><description><![CDATA[摘要：Knowject 是一款面向团队的 AI 工具包，旨在解决 AI 代理在项目开发中缺乏上下文的问题。它通过 Skill 包让 Claude Code 或 Codex 直接读取项目真实上下文，支持自动识别技术栈、生成设计原型、解析 API 文档等功能。与普通 prompt 不同，Knowject 通过持久化的 context.yaml 和验证机制固化项目信息，减少重复解释。安装简单，适用于已使用 AI 编码工具的团队，尤其适合需要稳定上下文的协作场景。目前功能覆盖项目初始化、设计稿拆解等核心场景，处于早]]></description><category></category></item><item><title><![CDATA[SQLAlchemy：Python 数据库操作的工业级方案]]></title><link>https://blog.youkuaiyun.com/kappadat770/article/details/162071286</link><guid>https://blog.youkuaiyun.com/kappadat770/article/details/162071286</guid><author>kappadat770</author><pubDate>Wed, 17 Jun 2026 15:47:28 +0800</pubDate><description><![CDATA[SQLAlchemy是Python生态中历史悠久的数据库工具库，提供ORM和底层SQL构建双重能力。其ORM基于身份映射和工作单元模式，支持声明式数据模型定义和灵活查询方式；Core层则是独立的数据库抽象层，包含SQL表达式语言和元数据管理等功能。SQLAlchemy坚持数据库与对象模型并重的设计理念，支持事务控制和参数化查询，兼容主流关系型数据库。通过pip安装后，开发者可以灵活选择适合项目规模的数据库操作方式，从简单脚本到大型应用都能胜任。]]></description><category></category></item><item><title><![CDATA[pytest-selenium：给 pytest 装上浏览器自动化引擎]]></title><link>https://blog.youkuaiyun.com/kappadat770/article/details/162069045</link><guid>https://blog.youkuaiyun.com/kappadat770/article/details/162069045</guid><author>kappadat770</author><pubDate>Wed, 17 Jun 2026 14:45:39 +0800</pubDate><description><![CDATA[pytest-selenium是一个将Selenium浏览器自动化能力集成到pytest框架中的插件。它支持主流浏览器驱动，提供自动管理浏览器生命周期、远程WebDriver对接、失败截图等实用功能。通过简单的pip安装后，开发者只需在测试函数中引入selenium夹具即可编写浏览器测试。该插件支持命令行配置浏览器类型、远程Selenium Grid及无头模式运行，并能生成包含失败详情的HTML报告。特别适合已使用pytest的团队快速实现Web自动化测试，显著减少集成工作量。]]></description><category></category></item><item><title><![CDATA[schedule：Python 定时任务，就这一行]]></title><link>https://blog.youkuaiyun.com/kappadat770/article/details/161927318</link><guid>https://blog.youkuaiyun.com/kappadat770/article/details/161927318</guid><author>kappadat770</author><pubDate>Fri, 12 Jun 2026 14:46:59 +0800</pubDate><description><![CDATA[Python库schedule提供了一个极简的定时任务解决方案，无需复杂配置即可实现定时执行功能。它以轻量化为特点，无需额外依赖，支持Python 3.7-3.12，仅需几行代码就能实现类似"每10分钟执行"或"每天10:30运行"的定时任务。其API设计直观易懂，支持串行执行和参数传递，适合数据抓取、日志清理等简单场景。相比Celery等重型框架，schedule专注于解决轻量级定时需求，已在GitHub获得12k+星标，是脚本级定时任务的理想选择。]]></description><category></category></item></channel></rss>