- 博客(5)
- 收藏
- 关注
原创 rslsylog配置及转发redis
基础架构是 rsyslog-tcp-logstash es // rsyslog-redis/kafka-logstash-es。
2023-10-30 16:33:19 274
原创 python的多继承顺序
今次主要解析下py3.2的mro(Method Resolution Order) 在这个版本之前使用的是深度优先算法使用C3算法是因为原先算法的不能满足本地优先级 单调性以及继承不清晰的问题判断MRO要先确定一个线性序列 然后查找路径由序列中的类的顺序决定 所以C3算法就是生产一个线性序列class B(A1,A2,...An)mro(B) = [B] + merge(mro(A1),mro(A2),...mro(An),[A1, A2,...An])merge操作就是C3算法的核心
2022-03-21 11:13:13 959
原创 PyPy为什么比CPython快?
def add(a,b): return a +b对于这个python代码 两种编译器分别做了两种处理然后 CPython 执行起来大概是这样(伪代码):if instance_has_method(x, '__add__') { return call(x, '__add__', y) // x.__add__ 里面又有一大堆针对不同类型的 y 的判断} else if isinstance_has_method(super_class(x), '__add__' { .
2022-03-18 16:53:23 556
原创 flask源码解析
这里写自定义目录标题flask源码解析flask启动时如何收集所有的路由1.收集静态资源路由2.收集@app.route()路由3.收集蓝图下的路由请求在flask中的处理流程Request1.flask在wsgi_app中生成一个ctx对象 ctx是一个RequestContext2._app_ctx_stack是一个LocalStack对象3.full_dispatch_request实际请求分发到对应视图过程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代
2022-03-02 16:24:37 516
原创 django2.2启动流程源码解析
python manage.py runserver 0.0.0.0:8001调用了django.core.management的execute_from_command_line(sys.argv)创建一个ManagementUtility(argv) 并执行execute()方法其中 runserver 根据是否包含 --noreload 分别做了处理 但都要执行setup()函数先读取日志配置 再从installed_apps收集所有注册的appinstalled_apps分三
2022-02-22 16:27:06 506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人