<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[li_yatao的博客]]></title><description><![CDATA[python]]></description><link>https://blog.youkuaiyun.com/li_yatao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; li_yatao]]></copyright><item><title><![CDATA[用几行代码轻松构建 gRPC 微服务]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/145194753</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/145194753</guid><author>li_yatao</author><pubDate>Fri, 17 Jan 2025 09:00:00 +0800</pubDate><description><![CDATA[FastGRPC通过其简洁直观的设计理念，让我们能够用更少的代码和更高的效率构建 gRPC 服务]]></description><category></category></item><item><title><![CDATA[使用 Casbin 进行权限管理]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141141067</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141141067</guid><author>li_yatao</author><pubDate>Mon, 12 Aug 2024 20:25:19 +0800</pubDate><description><![CDATA[Casbin 为权限管理提供了灵活、高效的解决方案，特别适用于复杂的 RBAC 场景。通过适当的性能优化和合理的策略设计，Python 版 Casbin 也能满足大多数应用需求。]]></description><category></category></item><item><title><![CDATA[在 FastAPI 项目中使用 Python 注解类型实现通用返回结构]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141109172</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141109172</guid><author>li_yatao</author><pubDate>Sun, 11 Aug 2024 18:17:27 +0800</pubDate><description><![CDATA[在开发 API 时，确保一致的响应结构是一个良好的实践。无论是前端开发人员还是后端开发人员，都希望能够依赖一个统一的返回格式，这样可以简化调试和处理逻辑。在这篇文章中，我们将探讨如何在 FastAPI 项目中使用 Python 的注解类型和pydantic模块来实现一个通用的返回结构。为了实现一个统一的响应结构，我们首先需要定义一个通用的响应模型。在 Python 中，我们可以使用pydantic的BaseModel来实现这个结构。]]></description><category></category></item><item><title><![CDATA[Python使用技巧之：使用 sitecustomize 给包打补丁]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141108848</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141108848</guid><author>li_yatao</author><pubDate>Sun, 11 Aug 2024 17:59:59 +0800</pubDate><description><![CDATA[是一个特殊的 Python 脚本，它会在 Python 解释器启动时自动运行。你可以利用这个脚本，在每次启动 Python 时自动执行一些初始化操作，比如修改 Python 包的行为、设置全局配置等。如果你希望将放在一个自定义目录中，而这个目录不在默认的sys.path将目录添加到PYTHONPATH你可以在操作系统的环境变量中设置PYTHONPATH，将包含的目录添加进去。]]></description><category></category></item><item><title><![CDATA[使用 Poetry 管理 Python 项目依赖]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141096348</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141096348</guid><author>li_yatao</author><pubDate>Sat, 10 Aug 2024 21:14:22 +0800</pubDate><description><![CDATA[Poetry 是一个功能强大且易于使用的 Python 项目包管理工具，它极大地简化了依赖管理、虚拟环境处理和项目发布的流程。如果你还没有尝试过 Poetry，不妨在下一个 Python 项目中试试，相信你会爱上它的简洁与高效。]]></description><category></category></item><item><title><![CDATA[PyCharm 中使用文件监视器自动处理 Python 文件]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141096271</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141096271</guid><author>li_yatao</author><pubDate>Sat, 10 Aug 2024 21:08:50 +0800</pubDate><description><![CDATA[PyCharm 是一个功能强大的 IDE，它的文件监视器（File Watchers）功能可以帮助开发者自动执行一些常见任务，比如代码格式化、静态分析、测试运行等。这篇文章将详细介绍如何配置文件监视器，使其在保存 Python 文件时自动运行指定的工具。]]></description><category></category></item><item><title><![CDATA[使用 Locust 进行本地压力测试]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141072538</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141072538</guid><author>li_yatao</author><pubDate>Fri, 09 Aug 2024 22:49:21 +0800</pubDate><description><![CDATA[通过使用 Locust 进行本地压力测试，你可以模拟高并发用户访问，评估系统的性能和稳定性。Locust 提供了灵活的配置和强大的可视化功能，使得性能测试变得更加高效。定期进行压力测试可以帮助你及时发现问题并进行优化，提升应用的用户体验和系统稳定性。]]></description><category></category></item><item><title><![CDATA[使用 Prometheus 和 Grafana 监控 FastAPI 服务]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141072338</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141072338</guid><author>li_yatao</author><pubDate>Fri, 09 Aug 2024 22:44:13 +0800</pubDate><description><![CDATA[通过上述步骤，你可以成功实现 Prometheus 和 Grafana 的集成，对 FastAPI 服务进行全面的监控和可视化。Prometheus 负责采集和存储指标数据，Grafana 提供强大的可视化功能，本地搭建监控环境可以帮我们本地压测提供数据支撑。]]></description><category></category></item><item><title><![CDATA[使用 GitHub Workflow 快速构建和部署 MkDocs 项目文档]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141035509</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141035509</guid><author>li_yatao</author><pubDate>Thu, 08 Aug 2024 20:15:17 +0800</pubDate><description><![CDATA[通过 GitHub Actions 的自动化工作流程，我们可以轻松实现项目文档的自动构建与部署。结合 MkDocs 和 MkDocs Material 主题，你能够快速构建一个专业、美观的文档站点，并通过 GitHub Pages 将其发布到互联网。这个过程不仅节省了时间，也确保了文档的持续更新，是现代开发流程中的一项最佳实践。希望这篇文章能帮助你快速上手 GitHub Actions，构建和部署你的项目文档。如果你有任何问题或建议，欢迎在评论区留言讨论！MkDocs。]]></description><category></category></item><item><title><![CDATA[像Django一样开发FastAPI之: AppBoot settings使用]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141035218</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141035218</guid><author>li_yatao</author><pubDate>Thu, 08 Aug 2024 20:11:30 +0800</pubDate><description><![CDATA[本文介绍了如何使用 AppBoot settings 来配置和管理 FastAPI 项目，重点解释了 AppBoot settings 与 Django settings 的相似与差异。文章详细说明了 AppBoot settings 的工作原理，强调了在配置 settings.py 文件时，明确类型注解的重要性。同时，介绍了内置默认配置项以及如何通过环境变量或配置文件来覆盖不同环境下的配置，帮助开发者更好地构建规范稳定的 FastAPI 项目]]></description><category></category></item><item><title><![CDATA[Python 异步编程：Sqlalchemy 异步实现方式]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/141002383</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/141002383</guid><author>li_yatao</author><pubDate>Wed, 07 Aug 2024 22:17:59 +0800</pubDate><description><![CDATA[Greenlet 是一个轻量级的第三方协程库，最初由 PyPy 项目开发。它允许在单个操作系统线程内执行多个任务（协程），这些任务可以相互间切换，而无需线程的上下文切换开销。Greenlet 提供了更细粒度的控制，可以在协程之间显式切换。]]></description><category></category></item><item><title><![CDATA[Python 异步编程：Asyncio 实现原理]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/140999811</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/140999811</guid><author>li_yatao</author><pubDate>Wed, 07 Aug 2024 21:17:09 +0800</pubDate><description><![CDATA[概念：协作式多任务的子程序，用户态线程或微线程（Coroutine）。特点：子程序执行可以中断，恢复后不会丢失之前的上下文状态。区别：与线程不同，协程是用户级的非抢占式调度，比线程更轻量（纳秒级的 CPU 时间），无资源竞争，无需加锁。Python 使用协程 + IO 多路复用实现异步编程。上述只是原型的简单介绍，实际 Asyncio 远比上述原型复杂，需要实现零拷贝、公平调度、异常处理、任务状态管理等。理解原理有助于在后续开发中更好地处理异步问题。]]></description><category></category></item><item><title><![CDATA[Python 微服务实战：Dapr 基础入门指南]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/140965879</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/140965879</guid><author>li_yatao</author><pubDate>Tue, 06 Aug 2024 20:55:59 +0800</pubDate><description><![CDATA[Dapr 简化了分布式应用程序的开发，使 Python 构建微服务变得更加轻松。无论是服务调用、状态管理、发布/订阅，还是输入/输出绑定，Dapr 都提供了一种简单且灵活的解决方案。]]></description><category></category></item><item><title><![CDATA[像Django一样开发FastAPI之: AppBoot 入门指南]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/140940372</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/140940372</guid><author>li_yatao</author><pubDate>Tue, 06 Aug 2024 08:52:51 +0800</pubDate><description><![CDATA[像Django一样使用FastAPI，内置 SQLAlchemy 2.0 开箱即用，旨在提供熟悉且高效的开发体验。]]></description><category></category></item><item><title><![CDATA[python ETL工具 pyetl]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/79846063</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/79846063</guid><author>li_yatao</author><pubDate>Sat, 07 Apr 2018 22:52:28 +0800</pubDate><description><![CDATA[pyetl是一个纯python开发的ETL框架， 相比sqoop, datax 之类的ETL工具，pyetl可以对每个字段添加udf函数，使得数据转换过程更加灵活，相比专业ETL工具pyetl更轻量，纯python代码操作，更加符合开发人员习惯
数据库表数据同步、Hive表数据同步、Elasticsearch数据同步]]></description><category></category></item><item><title><![CDATA[python通用数据库操作工具 pydbclib]]></title><link>https://blog.youkuaiyun.com/li_yatao/article/details/79685992</link><guid>https://blog.youkuaiyun.com/li_yatao/article/details/79685992</guid><author>li_yatao</author><pubDate>Sun, 25 Mar 2018 13:38:39 +0800</pubDate><description><![CDATA[pydbclib是一个通用的python关系型数据库操作工具，使用统一的接口操作各种关系型数据库（如 oracle、mysql、postgres、sqlserver、hive、impala等）进行增删改查，它将python数据库连接驱动包（如sqlalchemy、pymysql、cx_Oracle、pyhive、pyodbc、impala等）进行封装，依照python最简原则SQL占位符统一使用 ‘:[name]’ 一种形式，和sqlalchemy一样]]></description><category></category></item></channel></rss>