https://avatars.githubusercontent.com/u/18482379?v=4

Python https的双向认证

建立CA 1 openssl genrsa -aes256 -out ca.key 2048 1 openssl req -x509 -new -sha256 -key ca.key -out ca.crt -subj "/C=CN/CN=localhost" 建立服务端证书 1 openssl genrsa -out service.key 4096 1 2 openssl req -new -sha256 -key service.key -subj "/C=CN/OU=h/L=Hangzhou/O=j/ST=zhejiang/CN=localhost" -reqexts SAN -config <(cat openssl.cnf <(printf "\n[SAN]\nsubjectAltName = DNS:localhost")) -out service.csr 1 2 openssl x509 -req -in service.csr -CA ca.crt -CAKey ca.key -out service.crt

Python装饰器

一句话定义 装饰器本质上是一个Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数

Python闭包

定义 闭包,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。 有另一种说法认为闭包是由函数

镜像和容器的Entrypoint和CMD

Entrypoint和CMD No ENTRYPOINT ENTRYPOINT exec_entry p1_entry ENTRYPOINT [“exec_entry”, “p1_entry”] No CMD error, not allowed /bin/sh -c exec_entry p1_entry exec_entry p1_entry CMD [“exec_cmd”, “p1_cmd”] exec_cmd p1_cmd /bin/sh -c exec_entry p1_entry exec_entry p1_entry exec_cmd p1_cmd CMD [“p1_cmd”, “p2_cmd”] p1_cmd p2_cmd /bin/sh -c exec_entry p1_entry exec_entry p1_entry p1_cmd p2_cmd CMD exec_cmd p1_cmd /bin/sh -c exec_cmd p1_cmd /bin/sh -c exec_entry p1_entry