在Django中实现一个高性能未读消息计数器
计数器(Counter)是一个非常常用的功能组件,这篇blog以未读消息数为例,介绍了在 Django中实现一个高性能计数器的基本要点。 故事的开始:.count() 假设你有一个Notification Model类,保存的主要是所有的站内通知: class Noti … … 阅读全文
Python下的苹果推送服务(APNS)模块选择
APNS 是苹果为IOS设备提供的推送服务,全称是(Apple Push Notification service)。 如果你有接触移动互联网相关的开发的话,应该对它很熟悉。 接下来我会给大家简单介绍一下Python下的一些APNS相关的模块以及其特点。 模块介绍 Py … … 阅读全文
不可不知的Python模块: collections
Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块。比如今天想给大家 介绍的 collections 就是一个非常好的例子。 基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, … … 阅读全文
Charming Python: 从Flask的request说起
piglei: 接触Python也有一段时间了,Python相关的框架和模块也接触了不少,希望把自己接触到的自己 觉得比较好的设计和实现分享给大家,于是取了一个“Charming Python”的小标,算是给自己开了一个头吧, 希望大家多多批评指正。 :) from fl … … 阅读全文
替换你的print(logging模块超简明指南)
替换print?print怎么了? print 可能是所有学习Python语言的人第一个接触的东西。它最主要的功能就是往控制台 打印一段信息,像这样: print 'Hello, logging!' print也是绝大多数人用来调试自己的程序用的最多的东西,就像写js … … 阅读全文
一个由Django的save方法引发的bug
bug的产生 我已经很久没碰到让人比较头疼的bug了,前两天的时候碰到了一个。写个文章记录下来。 希望看过文章的同学下次碰到类似bug就不用被烦恼到。 出现问题的这段代码简化过的逻辑大概是这个样子的: from app.models import User from c … … 阅读全文
Python中的__init__和__new__
__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候。例如: # -*- coding: utf-8 -*- class Person(object … … 阅读全文
写了个豆瓣FM的Chrome插件
有那么一段时间,我是豆瓣FM的重度用户,因为豆瓣FM的推荐算法真的很不错,但是久而久之慢慢的受不了豆瓣FM刺耳的128k mp3的音质了,于是就慢慢的转向使用网易云音乐了。 前几天突然有了一个想法,觉得是不是能够依靠chrome插件来让豆瓣FM使用更高品质的音源,于是就写了 … … 阅读全文