递归

递归(recursion)是数学中处理问题的一种常用方法,在计算机科学中指的是一种通过重复将问题分解为同类的子问题而解决问题的方法。

换句话说,在处理分治问题上采用递归是一种很简单的方法,其强大描述能力,可以把无限过程表达在有限语句中。

z正小歪 · 2018-06-30

Python 如何传递运算表达式

首先要说明的一下,所描述的是 Python 中的 运算表达式 的部分,不是 Python 表达式的部分。

关于什么是 Python 中的运算表达式,可以参考 Python 文档 10.3.1. Mapping Operators to Functions 部分,所需要传递的就是这部分运算表达式。

z正小歪 · 2018-04-02

Python 优雅地 dumps 非标准类型

在 Python 很经常做的一件事就是 Python 数据类型和 JSON 数据类型的转换。

但是存在一个明显的问题,JSON 作为一种数据交换格式有固定的数据类型,但是 Python 作为编程语言除了内置的数据类型以为还能编写自定义的数据类型。

z正小歪 · 2017-11-11

「译」5 种方法构建安全的 Django Admin

原文地址

拥有越大权限,往往也就责任也越大。Django Admin 在拥有修改权限的同时应该要更加注意安全。

本文提供了 5 种方法来保护 Django Admin 避免来自认为的错误或者攻击者的攻击。

z正小歪 · 2017-06-17

Bottle 源码分析

Bottle 是一个快速,简单和轻量级的 WSGI 微型 Web 框架的 Python。它作为单个文件模块分发,除了 Python 标准库之外没有依赖关系。

选择源码分析的版本是 Release 于 2009 年 7 月 11 日的 0.4.10 (这是我能找到的最早的发布版本了)。

z正小歪 · 2017-05-21

「震惊」你可能需要一个假的 Fetch API

Fetch API 已经出现很久了,很多公司和个人都在鼓吹 Fetch 多么牛逼,这点必须要同意。

Fetch 使用来替代老掉牙的 XMLHttpRequest,XMLHttpRequest 在设计上有着很多缺陷,比如调用方式混乱,不注重分离设计的原则等等,所以后来才会有了类似 JQuery Ajax 之类的库出现。

首先先给出一个明确的观点,我不否认 Fetch 相反我认为是很优秀的,但是 Fetch API 整体用起来还是有一些不爽的,虽然得益于 Promise 的助攻,但是更多的缺陷也来自 Promise,所以本文就针对基于标准 Promise 实现的 Fetch 吐槽一下用起来的不爽。

z正小歪 · 2017-03-29

「译」Python 项目应该都有什么?

原文地址

Python 语言在过去的几年有着突飞猛进的发展,社区也在快速发展。在发展过程中,社区中出现了许多工具保持着资源的结构性和可获取性。在这篇文章中,我将提供一个简短列表,让每个 Python 项目中都具有可访问性和可维护性。

z正小歪 · 2017-01-30

真正的 Tornado 异步非阻塞

其中 Tornado 的定义是 Web 框架和异步网络库,其中他具备有异步非阻塞能力,能解决他两个框架请求阻塞的问题,在需要并发能力时候就应该使用 Tornado

但是在实际使用过程中很容易把 Tornado 使用成异步阻塞框架,这样对比其他两大框架没有任何优势而言,本文就如何实现真正的异步非阻塞记录。

z正小歪 · 2017-01-29

设计模式 —— 抽象工厂模式

抽象工厂模式的实质是提供「接口」,子类通过实现这些接口来定义具体的操作。

这些通用的接口如同协议一样,协议本身定义了一系列方法去描述某个类,子类通过实现这些方法从而实现了该类。

子类中不用关心这个类该是什么样子的,这些都有抽象类去定义,这就区分设计类和实现类两个过程,实现过程的解耦。

z正小歪 · 2016-12-18

设计模式 —— 建造者模式

建造者模式(生成器模式、Buidler Pattern)和抽象工厂模式的目的都是用来创建复杂的对象,但是创建的过程是截然不同的。

z正小歪 · 2016-12-16