_
置顶

重换新生

杂记终于,2020年的3月22日,在某块硬盘上面找到了博客的备份了. 这个博客从我实习后就开始没有更新了,在找回博客后看到以前自己写的内容颇有感慨,发现自己以前以为自己很厉害的写下一些文章,其实...

Python Asyncio 库之从ChatGPT Bug了解Cancel机制

前记最近几天,在使用ChatGPT时会发现无法使用历史记录功能。而在3月24号时,OpenAI公布了这次问题是由于某个Bug导致,导致部分用户能获得到其他用户的信息,而这一切是因为redis-p...

Python Asyncio 库之同步原语常用函数详解

前记Asyncio的同步原语可以简化我们编写资源竞争的代码和规避资源竞争导致的Bug的出现。但是由于协程的特性,在大部分业务代码中并不需要去考虑资源竞争的出现,导致Asyncio同步原语被使用的...

Python Asyncio 库之网络编程详解

前记Python Asyncio提供了一套完整的高性能网络编程接口,它除了提供了一些Socket的异步调用外,还在Socket上层封装了一层Protocol&Transport调用,在P...

Python Asyncio 库之asyncio.task常用函数详解

前记Asyncio在经过一段时间的发展以及获取Curio等第三方库的经验来提供更多的功能,目前高级功能也基本完善,但是相对于其他语言,Python的Asyncio高级功能还是不够的,但好在Asy...

Python-gRPC实践(9)--gRPC在gevent与asyncio的简单使用对比.md

前言之前在Python-gRPC实践系列文章中都是在多线程模式中介绍如何使用gRPC,但是在Python生态中更偏好通过协程的方式来运行服务,而Python的协程运行方式却有多种,虽然他们的原理...

如何使用Poetry(1.2+)管理Python虚拟环境

前记一个项目最重要的就是跑起来, 大家基本会同时在本地开发多个项目, 而每个项目用到的环境都是不一样的, 如果这些项目都共用一份依赖那么会导致多个项目的依赖发生冲突以及导致线上服务不稳定,所以就...

Python-gRPC实践(8)--Protobuf插件

前言最近在完善一个Protobuf中的Message转为pydantic.BaseModel对象的库–protobuf_to_pydantic,想为它增加一个从原生Protobuf文件直接生成对...

使用Pait快速构建gRPC Json网关

前记gRPC已经是一个大多数开发者使用微服务时选择的通信协议,大多数公司的内部服务都会通过gRPC来通信,但是服务端和客户端使用的通信协议还是HTTP,这就意味着需要在客户端和内部服务之间架起一...

为何在Python生态很少听说到依赖注入

前记由于使用的主要编程语言是Python,所以对于依赖注入这个概念并不是很清楚或者不知道自己已经在代码中运用了依赖注入的用法,在接触了DDD后才开始真正的了解什么是依赖注入以及依赖注入的重要性,...

Python-gRPC实践(7)--gRPC的错误传递

前言之前在文章《Python-gRPC实践(3)–使用Python实现gRPC服务》介绍的实现gRPC服务中使用了一套自定义的协议来传递错误,但这并不是一个优雅的解决方案,因为这种方案的兼容性很...

Python 3.11 Asyncio新增的两个高级类

前记Python Asyncio提供了很多基础的API以及对应的对象,如果只用于编写简单的HTTP API处理函数,那么这些Python Asyncio是足够的,但在面对一些复杂点多的需求或者编...

1239