Don't panic.

Sanster's blog


  • Home

  • Archives

  • Tags

  • About
Don't panic.

Python import 机制

Posted on 2018-06-20 | In Language |

原文:The Definitive Guide to Python import Statements

一直对 Python 的 import 机制感到很混乱,这篇 blog 通过一个示例项目涵盖在 python3 中 import 机制的各种情况。

示例项目地址:https://github.com/Sanster/python_import_example

python_import_example
├── packA
│   ├── a1.py
│   ├── a2.py
│   ├── __init__.py
│   └── subA
│   ├── __init__.py
│   ├── sa1.py
│   └── sa2.py
├── packB
│   ├── b1.py
│   └── b2.py
├── other.py
├── math.py
├── random.py
├── README.md
└── start.py
Read more »
Don't panic.

HTTP POST 方法 body 的编码方式

Posted on 2017-08-10 | In Web |

发起 HTTP POST 请求时,参数通常会放在 body 中,body 中数据的编码方式由 header 中的 Content-Type 决定, 常见的格式有 application/x-www-form-urlencoded、application/json 等。

Read more »
Don't panic.

JSON Web Token Authentication

Posted on 2017-07-10 | In Web |

什么是 JWT?

JSON Web Token Authentication 可以用来在 web 应用中处理用户认证的,下图是 JWT 官网 上关于 JWT 工作流程的介绍:首先客户端将用户名和密码 POST 到服务器端,服务器验证用户信息后,根据 JWT 的数据格式生成使用 secret 加密过的 token,并返回给客户端,客户端保存该 token(如 localStorage),并在每次请求中把 token 附带在 Header 里发送给服务器,服务器使用 secret 解密后即可获得用户会话信息。

Read more »
Don't panic.

Https 工作流程

Posted on 2017-06-28 | In Web |

这两天看到一幅描述 HTTPS 工作流程的漫画,感觉很有意思,照着漫画复习了下上一篇 Blog 的内容(数字签名,数字证书 和 HTTPS),发现思路还是挺清晰的,果然还是要自己梳理一遍才有效啊。

Read more »
Don't panic.

数字签名、数字证书和 HTTPS

Posted on 2017-04-24 | In Web |

对于数字证书、数字签名的概念一直很模糊,虽然网上看了很多文章,但是自己脑子里想完整地梳理一遍的时候就还是乱乱的,所以动手整理了下,在写作的过程中各个概念之间的关系慢慢变得清晰了。

公钥、私钥和数字签名

首先是公钥和私钥的概念。公钥(Public Key)和私钥(Private Key)是一对使用特定加密算法产生的密钥对(两串字符串),可以使用 OpenSSL 或者 OpenSSH 的 ssh-keygen 工具生成。公钥和私钥都可以用来加密数据,经过私钥加密的数据,只有通过公钥才可以解密出来,反之亦然。

Read more »
Don't panic.

Google's Distributed Code Review Tool For Git

Posted on 2017-02-23 | In Tools |

git-appraise 是 Google 推出的一款分布式代码检视工具,安装这个工具以后,团队成员可以在本地使用 git-appraise 提供的命令发起检视请求、对特定代码行评论、接受检视意见等操作,这类操作一般都是要依托于 GitHub 或者 GitLab 这样的代码托管平台来完成。所有的检视请求(reviews)和检视意见(discuss)都会保存在 .git 文件夹中,从而实现分布式。

以下是根据 git-appraise tutorial 整理的两个用户之间使用 git-appraise 进行检视的具体步骤。

Read more »
1234…6
© 2018 Sanster