Elasticsearch 简介

2017-03-22
阅读 8 分钟
2.7k
Elasticsearch 是一款稳定高效的分布式搜索和分析引擎,它的底层基于 Lucene,并提供了友好的 RESTful API 来对数据进行操作,还有比较重要的一点是, Elasticsearch 开箱即可用,上手也比较容易。

HTTP 协议简介

2017-03-01
阅读 6 分钟
2.5k
HTTP (HyperText Transfer Protocol, 超文本传输协议)是互联网上应用最为广泛的一种网络协议,它是基于 TCP 的应用层协议,简单地说就是客户端和服务器进行通信的一种规则,它的模式非常简单,就是客户端发起请求,服务器响应请求,如下图所示:

高效的 itertools 模块

2017-02-13
阅读 9 分钟
3.1k
我们知道,迭代器的特点是:惰性求值(Lazy evaluation),即只有当迭代至某个值时,它才会被计算,这个特点使得迭代器特别适合于遍历大文件或无限集合等,因为我们不用一次性将它们存储在内存中。

Python 中的单例模式

2017-01-17
阅读 3 分钟
6.5k
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。

我的开源 GitBook: Python 之旅

2017-01-03
阅读 1 分钟
6.1k
在学习和使用 Python 的过程中,我作了不少笔记,并对一些笔记进行了加工和完善,发表在博客上。随着笔记的增加,我就萌生了写一本书的想法,希望能比较系统地总结相关知识,巩固自己的知识体系,而不是停留在『感觉好像懂了』的状态中。

Python 正则表达式 re 模块简明笔记

2016-12-27
阅读 9 分钟
5.5k
正则表达式(regular expression)是可以匹配文本片段的模式。最简单的正则表达式就是普通字符串,可以匹配其自身。比如,正则表达式 'hello' 可以匹配字符串 'hello'。

命令行神器 Click 简明笔记

2016-12-20
阅读 7 分钟
6.7k
Click 是用 Python 写的一个第三方模块,用于快速创建命令行。我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argparse,就好比 requests 相比于 urllib。

异步任务神器 Celery 简明笔记

2016-12-13
阅读 8 分钟
16.2k
在程序的运行过程中,我们经常会碰到一些耗时耗资源的操作,为了避免它们阻塞主程序的运行,我们经常会采用多线程或异步任务。比如,在 Web 开发中,对新用户的注册,我们通常会给他发一封激活邮件,而发邮件是个 IO 阻塞式任务,如果直接把它放到应用当中,就需要等邮件发出去之后才能进行下一步操作,此时用户只能等待...

实例讲解基于 Flask+React 的全栈开发和部署

2016-12-06
阅读 11 分钟
14.1k
我有时在 Web 上浏览信息时,会浏览 Github Trending, Hacker News 和 稀土掘金 等技术社区的资讯或文章,但觉得逐个去看很费时又不灵活。后来我发现国外有一款叫 Panda 的产品,它聚合了互联网大多数领域的信息,使用起来确实很不错,唯一的遗憾就是没有互联网中文领域的信息,于是我就萌生了一个想法:写个爬虫,把经...

Python: 函数参数魔法

2016-12-01
阅读 5 分钟
4.6k
在 Python 中,定义函数和调用函数都很简单,但如何定义函数参数和传递函数参数,则涉及到一些套路了。总的来说,Python 的函数参数主要分为以下几种:

Python: 熟悉又陌生的字符编码

2016-11-25
阅读 6 分钟
5.8k
字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概念。本文主要分以下几个部分介绍:

Python: 会打扮的装饰器

2016-11-22
阅读 5 分钟
4.4k
装饰器 我们知道,在 Python 中,我们可以像使用变量一样使用函数: 函数可以被赋值给其他变量 函数可以被删除 可以在函数里面再定义函数 函数可以作为参数传递给另外一个函数 函数可以作为另一个函数的返回 简而言之,函数就是一个对象。 对一个简单的函数进行装饰 为了更好地理解装饰器,我们先从一个简单的例子开始,...

Python: 携带状态的闭包

2016-11-17
阅读 3 分钟
2.9k
上面的代码中,函数 make_pow 里面又定义了一个内部函数 inner_func,然后将该函数返回。因此,我们可以使用 make_pow 来生成另一个函数:

我的第一本 gitbook: Flask Web 开发笔记

2016-11-15
阅读 2 分钟
7.2k
Python 中有许多 Web 开发框架,比如 Django,Flask,Tornado,Bottle 和 web.py 等,其中,Django 可以说是一个全能型(all in one)的框架,自带管理后台;而 Flask 则是一个非常轻量级的框架,提供了搭建 Web 服务的必要组件,如果你不喜欢自带的组件,由于 Flask 良好的扩展性,你也可以使用其他开源的 Flask 扩展插...

Python: 陌生的 metaclass

2016-11-12
阅读 6 分钟
6k
元类 Python 中的元类(metaclass)是一个深度魔法,平时我们可能比较少接触到元类,本文将通过一些简单的例子来理解这个魔法。 类也是对象 在 Python 中,一切皆对象。字符串,列表,字典,函数是对象,类也是一个对象,因此你可以: 把类赋值给一个变量 把类作为函数参数进行传递 把类作为函数的返回值 在运行时动态地...

Python: 你不知道的 super

2016-11-09
阅读 3 分钟
6.5k
在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了,可通过使用 super 来实现,比如:

Flask 插件系列 - Flask-MongoEngine

2016-11-08
阅读 3 分钟
7k
MongoDB 是一个文档型数据库,是 NoSQL (not only SQL) 的一种,具有灵活、易扩展等诸多优点,受到许多开发者的青睐。MongoEngine 是一个用来操作 MongoDB 的 ORM 框架,如果你不知道什么是 ORM,可以参考 Flask-SQLAlchemy 一节。在 Flask 中,我们可以直接使用 MongoEngine,也可使用 Flask-MongoEngine ,它使得在 Fl...

Flask 插件系列 - Flask-SQLAlchemy

2016-11-06
阅读 5 分钟
5.5k
Web 开发中,一个重要的组成部分便是数据库了。Web 程序中最常用的莫过于关系型数据库了,也称 SQL 数据库。另外,文档数据库(如 mongodb)、键值对数据库(如 redis)近几年也逐渐在 web 开发中流行起来,我们习惯把这两种数据库称为 NoSQL 数据库。

Flask 插件系列 - Flask-Mail

2016-11-04
阅读 5 分钟
7.7k
给用户发送邮件是 Web 应用中最常见的任务之一,比如用户注册,找回密码等。Python 内置了一个 smtplib 的模块,可以用来发送邮件,这里我们使用 Flask-Mail,是因为它可以和 Flask 集成,让我们更方便地实现此功能。