urllib3 源码分析 II -ConnectionPool

本文分析 urllib3 的连接池设计。所使用代码版本为 1.23,commit sha 7c216f433e39e184b84cbfa49e41135a89e4baa0 续上文 urllib3 源码分析 I - PoolManager 这里以 HTTP 协议为例,其创建的是 HTTPConnection 实例 # urllib3/connectionpool.py class HTTPConnectionPool( »

urllib3 源码分析 I - PoolManager

本文通过 urllib3 来分析 PoolManager 的设计。所使用代码版本为 1.23,commit sha 7c216f433e39e184b84cbfa49e41135a89e4baa0 urllib3 自带连接池,通过 PoolManager 进行管理。默认创建 10 个连接池 # urllib3/poolmanager.py class PoolManager(RequestMethods): proxy »

何时进行 Urldecode

本文关注一个非常简单的问题: 何时进行 urldecode(unquote)。所涉及的代码分别为: Flask 0.12.2, commit sha 571334df8e26333f34873a3dcb84441946e6c64c Werkzeug 0.14, commit sha 5b53d1539147c5db3210e0769d85397ab91f902d Gunicorn 19.7.1, commit sha 328e509260ae70de6c04c5ba885ee17960b3ced5 以 »

切换的魔法 - greenlet

本文所使用的 greenlet 为 0.4.14, commit sha f946722143a9bd65764204202fe0c39fbb526d15 Introduction of greenlet 首先来体验一下 greenlet 的执行流程 from greenlet import greenlet def test1(): print(12) gr2.switch() print( »

XDG 基本目录规范

Abstract XDG Base Directory Specification(XDG 基本目录规范) 对应用程序的文件存储路径给出了一个明确的定义。目前有许多应用都支持 XDG Base Directory Specification,比如 pip,Laravel。具体可以参考 XDG Base Directory support Basics XDG 基本目录规范包含以下概念: XDG_DATA_ »

Docker build cache

首先镜像是分层的,通常来说 Dockerfile 中每一条指令都会构建出一个新的镜像层。但是 Docker 存在 cache 机制,当新的镜像层和已有的镜像重复时,它会直接复用已有的那层镜像。以下面前端项目的 Dockerfile 来说 FROM node:9.2-stretch WORKDIR /app ADD package*.json /tmp/ RUN cd »

毕业

对于一个直到毕业时才发现学校里还有天鹅的人来说,四年究竟意味着什么呢 想了想,发现这个问题真的难以回答。四年来没有发生过什么印象深刻的事情,大部分的时间都是和这台笔记本一起度过的 但是我依旧怀念这四年,每一天都是我生命中不可或缺的一部分 还有很多想要记录的东西,但转念一想还是算了吧 2018/06/23 凌晨 上海 »