![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 76
python技术栈
xiaohei_xiaobai
后台开发小学生
展开
-
grpc-python
文章目录1.什么是RPC2.RPC调用过程3.RPC的实现基础4.GRPC和restful对比5.proto buffers常用数据类型6.proto buffers特殊字符7.GRPC常用错误码8.Protocol Buffer的优点9.rpc框架为我们解决的问题10.使用案例11.手撕RPC1.什么是RPCRPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。简言之,RPC使得程序能够像访问本地系统资源一样,去访问远端系统资原创 2021-03-23 15:30:31 · 999 阅读 · 1 评论 -
python相关知识
文章目录1.python-GIL2.可变参数3.python2和python3的range(100)的区别4.私有属性和私有方法5.静态方法和类方法(self和cls)6.魔法方法和特殊成员属性7.python经典类和新式类的多继承调用顺序8.with9.列表推导,字典推导10.内置函数11.排序12.x="abc",y="def",z=["d","e","f"],分别求出x.join(y)和x.join(z)返回的结果13.举例说明异常模块中try except else finally的相关意义14.生原创 2021-03-05 15:30:01 · 297 阅读 · 0 评论 -
flask基础入门
####1.name1)作为启动文件:name=main2)作为导入模块:name=模块名####2.flask启动参数1)import_name:项目根目录,默认__name__2)static_url_path:访问静态资源的url前缀,默认是static3)static_folder:静态资源目录,默认是__name__/static/4)template_folder:模版文件目录,默认是__name__/template/####3.参数的配置有四种方式1)app.config.原创 2020-11-08 16:02:53 · 682 阅读 · 0 评论 -
python-concurrent.futures实现并发
python由于全局解释器锁GIL的存在导致对多线程的效率有不小影响,python为了提高并发提供了两个标准库concurrent.futures和multiprocessing,两者使用方式非常相似,都提拱了线程池和进程池操作。说到线程和进程,就不得不提下协程。我理解的是协程和多线程属于并发操作,而多进程则属于并行操作。并发操作利用的是cpu进行任务的切换,同一时间还是只有一个任务在执行,而协程...原创 2020-04-29 20:45:21 · 353 阅读 · 0 评论 -
RPC框架Thrift-python服务端运行模式源码解析
1.支持协议TBinaryProtocol-一种简单的二进制格式,将数值编码为二进制,而不是转换为文本。 TCompactProtocol-高效,密集的数据编码(请参见下面的详细信息)。 TDenseProtocol-类似于TCompactProtocol,但是从传输的内容中剥离元信息,并将其添加回接收方。TDenseProtocol仍处于试验阶段,在Java实现中尚不可用。 TJSON...原创 2020-04-26 18:32:23 · 526 阅读 · 0 评论 -
RPC框架Thrift-python作为服务端支持的传输方式
TSocket-使用阻塞套接字I/O进行传输。 TFramedTransport-以帧为单位发送数据,其中每个帧前面都有一个长度。使用非阻塞服务器时,此传输是必需的。 TFileTransport-此传输将写入文件。尽管此传输不包含在Java实现中,但实现起来应该足够简单。 TMemoryTransport-使用内存进行I / O。Java实现在内部使用一个简单的ByteArrayOutpu...原创 2020-04-26 18:28:34 · 613 阅读 · 0 评论 -
RPC框架Thrift-python作为服务端支持的传输协议
TBinaryProtocol-一种简单的二进制格式,将数值编码为二进制,而不是转换为文本。 TCompactProtocol-高效,密集的数据编码(请参见下面的详细信息)。 TDenseProtocol-类似于TCompactProtocol,但是从传输的内容中剥离元信息,并将其添加回接收方。TDenseProtocol仍处于试验阶段,在Java实现中尚不可用。 TJSONProtocol...原创 2020-04-26 18:27:23 · 529 阅读 · 0 评论 -
python-id转随机字符串库-Hashids
当你想把你url中的id变成随机字符串,避免被爬虫时你会用到这个工具,Hashids可以将任意字符转换成随机字符串,并能够反编码回来,talk is cheap,show code。1.安装pip install hashidsmac用户请使用如下命令安装:pip install hashids --user2.初始化import hashidshasher = h...原创 2020-04-22 12:01:18 · 263 阅读 · 0 评论 -
python调试神器pdb
1.简介对于开发者来说,一个好用的debug工具可以快速准确的定位程序问题,python的dubug方式大概可以归为3类: 1).print,log大法:初级选手,输出直观但不够灵活 2).ide debug:功能强大,但服务器命令行上调试不行 3).pbd,PySnooper:高级选手,功能强大而且灵活(PySnooper使用虽然简单,但输出信息过于冗余)本...原创 2019-12-12 12:12:41 · 229 阅读 · 0 评论 -
python抽象基类abc模块
为什么要有抽象类,This is a good question。抽象类的作用可以在不同的模块相互调用时使用,可以用最精简的方式展示出代码之间的逻辑关系,让模块之间的依赖关系更清晰。可以让开发者不用考虑过多的实现细节,只关注当前抽象类的放方法和描述。方便多人合作开发,让代码可读性更高。python中的抽象基类封装在abc模块中,使用six包可以兼容python2和python3,使用方法如...原创 2019-12-06 16:43:57 · 290 阅读 · 0 评论 -
gunicorn的信号处理
gunicorn采用pre-fork worker的服务器模型,pre-fork意味着一个主进程fork出许多子进程来处理请求。一个中心的主进程管理一系列的称为worker的子进程,主进程对客户端一无所知,所有的请求和响应都是完全由worker进程来处理。主进程是一个简单的循环,监听一系列进程的信号并相应进行处理,监听的信号可以参考gunicorn官网使用方法,确定主进程pid,可以在...原创 2019-10-28 17:31:21 · 682 阅读 · 0 评论