加载中
日志消息格式优化

业务日志的格式通常由一些通用项目加一个消息组成,如: [%(asctime)s] %(levelname)s in %(module)s: %(message)s 那么 logger.info('A called B') 就会输出: [2018-08-10 11:07:28,149] ...

08/10 11:29
8
日期、时间与UTC

传统日期的局限 人类在对时间的测定上存在一个进化的过程,最早通过观察天体的自转与公转来确定时间,比如地球自转一周为一天,月球公转一周为一月,地球公转一周为一年。 我们先考虑天和年,...

08/06 11:08
2
Jupyter Notebook 跨域连接 Kernel 的方法

通常一个新的 Notebook 在打开的时候,会自动连接当前服务器,创建一个 Session 和一个 Kernel 进程。该 Session 绑定在该 nb(notebook 简称,下同) 的路径上,因此你要你的 server 不停,...

03/08 15:30
206
洗牌程序

前两天微博上有人讨论洗牌程序,没细看内容但感觉似乎有点意思,今天自己尝试一下。 所谓洗牌程序就是把一个序列的元素位置打乱,这在 Python 里有一个标准函数:random.shuffle。在开始动手...

2017/12/07 17:01
27
docker

跟着公司用了一段时间的 docker,一直感觉不明不白的。今天抽了点空从头梳理了一遍,过程记录如下。 概念 使用 docker 基础的概念有三个:镜像、容器 和 仓库。 镜像功能上和我们装系统时使用...

2017/11/28 11:56
28
Prometheus2.0 的查询 DSL

Prometheus 的查询有一套专用语言,叫做 PromQL。其表达式可能是受了 golang 的影响,非常的紧凑和符号化。这使得其易于书写但难以理解(对不熟悉这种 DSL 的人来说)。因而有了这篇文章。 ...

2017/11/21 16:30
25
Python 串联 lists 的方法

今天在 stack overflow 上看到一个标题问题的解法,感到非常的牛逼,遂记录下来: 通常的标准答案是使用 itertools import itertools x = itertools.chan(list2d) 但这个答案更加精妙: x ...

2017/11/03 16:18
32
Go Tour

这是我读 <A Tour of Go> 时做的笔记,个人备忘用。建议读者直接去看原书,更完整并且交互体验很好。

2017/10/13 15:35
21
asyncio 的使用姿势

前段时间使用 asyncio 写了一个小程序,摸索出一些使用上的注意事项,记录如下。 本质 有人把 asyncio 这类东西叫做使用同步语法的异步程序,即说明它仍然是异步程序的本质,只不过在语法层面...

2017/09/25 16:23
38
AES Padding

AES 作为块加密算法(block cipher),要求被加密数据具有固定的大小,比如16 字节。那么对于一段任意大小的明文,对最后一个块补全到 16 字节就是一个必要的过程。以及在解密时将 padding ...

2017/07/25 16:51
65
如何写一个 JSON Parser

之前在网上看到某公司新招实习生的第一次作业是写 JSON Parser,好像之后还要写 Scheme 的 Parser,就自己也想试试。因为并不是工作任务,所以也没去查任何资料,准备自己憋。 但毕竟非科班,...

2017/07/05 11:42
67
认知逻辑与TCP

共有知识 和 公共知识 本文要引入一些逻辑学上关于认知的概念,以便更清晰地认识**“可靠”**的含义。 参考这篇帖子:红眼睛自杀问题 和其引用的两篇 wiki,我们可以有这样一些概念: 知识(...

2017/07/02 17:10
25
SICP 递归的种类与变换

递归本质上就是一串延迟操作的计算。根据被延迟操作的结构区别,可以分为线性递归和树形递归;线性递归又有一种特例形式叫做尾递归;线性递归和循环是等价的;线性递归比起树形递归又具有好的...

2017/06/03 17:50
34
SICP recursive process 和 recursive procedure 的区别

SICP 1.2.1 有一段话: In contrasting iteration and recursion, we must be careful not to confuse the notion of a recursive process with the notion of a recursive procedure. 摘录来...

2017/06/02 09:29
24
nginx 的 location 匹配规则

Nginx 的 location 语法为: location [ = | ~ | ~* | ^~ ] uri { ... } uri 中的 %xx 内容会被解码后进行匹配。 匹配修饰符虽然有四种,但其实匹配算法只有两种:前缀匹配 和 正则表达式匹...

2017/05/09 14:54
28
Datagram 考据

Wikipedia 对 Datagram 的解释是: packet-switched 网络的基本传输单元,是对 data 和 telegram 这两个单词的组合,最早出现在 1970 年代的 CYCLADES 项目中。 而 telegram 这个词最早出现...

2017/05/02 10:52
6
计算 N 以内的回数个数

若一个十进制整数按位从左向右读和从右向左读,得到的结果是相等的,就称之为回数。 即需要满足形如 abcd == dcba 这样的条件,例 121 是回数,123 不是。 请计算 N 以内回数的个数。 以上...

2017/03/09 19:14
32
一种可能的 Django 目录布局

在使用 Flask 开发了较多 Web API 以后,最近突然想在项目里再尝试一下 Django + REST framework 的架子。因为在很多弱需求下,这套框架总是更能让需求方感到安心[摊手]。自己也希望通过这次...

2017/03/08 11:41
75
行政区划代码表

备份一些资料 国家统计局网站扒来的【最新县及县以上行政区划代码(截止2015年9月30日)】 含有地区名和代码对应关系,对于需要建一个标准点的地址库的同学来说比较合适。这里的地区代码和身...

2017/02/17 13:24
50
Supervisor

配置文件 创建的默认配置文件本身包含好几个项目,他们的功能分别是: unix_http_server 提供一个 Unix socket 的接口,这是 supervisorctl 默认使用的接口,用于和 supervisord 通信。 如果...

2016/12/12 21:25
30

没有更多内容

加载失败,请刷新页面

返回顶部
顶部