Redis 选择hash还是string 存储数据?

2019-06-22
阅读 4 分钟
7.5k
I want to store a JSON payload into redis. There's really 2 ways I can do this: One using a simple string keys and values.key:user, value:payload (the entire JSON blob which can be 100-200 KB) SET user:1 payload Using hashesHSET user:1 username "someone" HSET user:1 location "NY" HSET user:1 bio ...

并发模型:线程与锁

2019-05-19
阅读 12 分钟
2.6k
并发程序含有多个逻辑上的独立执行块,他们可以独立的并行执行,也可以串行执行。并行程序解决问题的速度比串行程序快的多,因为其可以同时执行整个任务的多个部分。并行程序可能有多个独立执行块,也可能只有一个。

JWT refreshtoken 实践

2019-04-29
阅读 3 分钟
12.3k
Json web token (JWT), 根据官网的定义,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些...

python设计模式-状态模式

2019-01-01
阅读 9 分钟
2k
这是一个状态图,每个圆圈都是一种状态。很明显,有有25分钱、 没有25分钱、 售出糖果、 糖果售罄四个状态,同时也对应四个动作:投入25分钱,退回25分钱,转动曲柄和发放糖果。

python设计模式-模板方法模式

2018-12-02
阅读 4 分钟
2k
date: 2018-12-02T17:23:56+08:00description: python 设计模式 模板方法模式draft: falseslug: "python-design-pattern-template-pattern"categories: ["development", "python", "设计模式"]tags: ["python", "读书笔记", "设计模式"]

python设计模式-外观模式

2018-11-25
阅读 3 分钟
1.8k
上一篇《python设计模式-适配器模式》介绍了如何将一个类的接口转换成另一个符合期望的接口。这一篇将要介绍需要一个为了简化接口而改变接口的新模式-外观模式(Facade-Pattern)。

python 设计模式-适配器模式

2018-11-03
阅读 2 分钟
2k
问题:假设有一个软件系统,你希望它能在不改变现有代码的前提下和一个新的厂商类库搭配使用,但是这个新厂商所设计出来的接口不同于旧厂商的接口 这个问题和下图的问题类似 美国标准的插头?无法在欧洲标准的插座上使用,通常的做法是什么呢? 添加一个插头适配器,适配器的作用是将欧式插头转换成美式插座,以便于让美...

SQLAlchemy in 查询空列表问题分析

2018-09-27
阅读 6 分钟
2.9k
问题场景 有model Account,SQLAlchemy 查询语句如下: {代码...} 这里 uids 如果为空,执行查询会有如下警告: {代码...} 这里的意思是使用一个空的列表会花费较长的时间,需要优化以提高性能。 为什么会有这个提示呢?一个空列表为什么会影响性能呢? 首先打印 query 可得到如下 sql 语句: {代码...} 会发现生成的语...

使用github+travis将Python包部署到Pypi

2018-07-25
阅读 4 分钟
3.2k
我在 github 托管 Python 代码,然后将包发布到 Pypi,通常的操作步骤是,更新完代码将提交到 github ,然后手动将包更新到 pypi,这样比较繁琐,就想到了使用github+travis-ci 构建一个自动部署环境。

微信公号生成便签

2018-07-08
阅读 5 分钟
3.6k
最近有文字转图片的需求,但是不太想下载 APP,就使用 Python Pillow 实现了一个,效果如下: PIL 提供了 PIL.ImageDraw.ImageDraw.text 方法,可以方便的把文字写到图片上,简单示例如下: {代码...} 为什么要计算文字的宽高呢?把文字直接写到背景图不可以么? Pillow PIL.ImageDraw.ImageDraw.text写文字是按换行符\n...

Python gRPC 入门

2018-06-08
阅读 7 分钟
10.6k
gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。 本文通过一个简单的 Hello World 例子来向您介绍 gRPC 。

newrelic python agent 源码分析-1

2018-05-16
阅读 5 分钟
2.4k
Newrelic 是APM(Application Performance Management)(应用性能管理/监控)解决方案提供商。项目中,通常用它来追踪应用的性能。最近看了一下 newrelic-python-agent 源码,这是查看源码过程中的一些记录。

AWS-Lambda 使用入门

2018-01-13
阅读 7 分钟
9.6k
场景:现在需要开发一个前后端分离的应用,后端采用 RESTful API 最为方便,但是如果这个后端服务会在一天中的某些时候有高并发的情况,使用什么样的架构最为简单呢?

python 设计模式-命令模式

2018-01-09
阅读 7 分钟
3.7k
命令模式 题目: 现在要做一个智能家居控制遥控器,功能如下图所示。 下图是家电厂商提供的类,接口各有差异,并且以后这种类可能会越来越多。 观察厂商提供的类,你会发现,好多类提供了 on()、off() 方法,除此之外,还有一些方法像 dim()、setTemperature()、setVolumn()、setDirection()。由此我们可以想象,之后还...

Python数据结构:字典

2017-12-03
阅读 7 分钟
3.1k
collections.abc 模块中有 Mapping 和 MutableMapping 这两个抽象基类,它们的作用是为 dict 和其他类似的类型定义形式接口。

python设计模式-单例模式

2017-11-26
阅读 5 分钟
2.5k
问题:现代化的巧克力工厂具备计算机控制的巧克力锅炉。锅炉做的事情就是把巧克力和牛奶融在一起,然后送到下一个阶段,以制成巧克力棒。下边是一个巧克力公司锅炉控制器的代码,仔细观察一下,这段代码有什么问题?

python设计模式-抽象工厂模式

2017-10-28
阅读 6 分钟
4.3k
为了确保每家加盟店都是用高质量的原材料,我们打算建造一加原材料工厂,并将原材料运送到各个加盟店。每个加盟店会对原材料有不同的需求,这里我们就可以用上上一篇介绍的工厂方法模式了。

使用腾讯云配置小程序服务端开发环境

2017-10-21
阅读 4 分钟
5.7k
之所以选腾讯云的原因很简单,那就是便宜,选用成都区,最低配置每月只需29¥。在 腾讯云 官网注册登录就可以直接购买服务器了。服务器系统我选择的是 ubuntu。

python设计模式-工厂方法模式

2017-10-15
阅读 8 分钟
4k
但是现在你遇到了一个问题,你的 pizza 店需要更多的 pizza,所以现在你需要增加一些代码,来决定适合的 pizza 类型,然后再制造这个 pizza:

python设计模式-观察者模式

2017-09-24
阅读 7 分钟
3.8k
题目:现在你有一个数字,默认格式化程序是以十进制格式展示此数值,但需要提供一个功能,这个程序要支持添加/注册更多的格式化程序(比如:添加一个十六进制格式化程序和一个二进制格式化程序)。每次数值更新时,已注册的程序就会收到通知,并显示更新后的值。

为什么要从0开始计数

2017-09-10
阅读 5 分钟
2.5k
这一篇是《流畅的 python》读书笔记。主要介绍元组、分片、序列赋值以及引用了大师 Edsger W.Dijkstra为什么序列从0开始计数的解释。

Python 列表推导及优先级队列的实现

2017-09-03
阅读 5 分钟
5.6k
这一篇是《流畅的 python》读书笔记。主要介绍列表、列表推导有关的话题,最后演示如何用列表实现一个优先级队列。 Python 内置序列类型 Python 标准库用 C 实现了丰富的序列类型: 容器序列: list、tuple和 collections.deque 这些序列能存放不同类型的数据。 扁平序列: str、bytes、bytearray、memoryview 和 array....

小程序开发:上传图片到腾讯云

2017-08-27
阅读 6 分钟
15.4k
这是小程序开发第二篇,主要介绍如何上传图片到腾讯云,之所以选择腾讯云,是因为腾讯云免费空间大? 准备工作 上传图片主要是将图片上传到腾讯云对象存储(COS)。 要使用对象存储 API,需要先执行以下步骤: 购买腾讯云对象存储(COS)服务 在腾讯云 对象存储控制台 里创建一个 Bucket 在控制台 个人 API 密钥 页面里获...

Python 装饰器使用指南

2017-08-15
阅读 13 分钟
10.5k
装饰器是可调用的对象,其参数是另一个函数(被装饰的函数)。 装饰器基础知识 首先看一下这段代码 {代码...} 在用某个@decorator来修饰某个函数func时 {代码...} 其解释器会解释成下面这样的语句: func = decorator(func) 其实就是把一个函数当参数传到另一个函数中,然后再回调,但是值得注意的是装饰器必须返回一个...

Python web 框架Sanic 学习: 自定义 Exception

2017-08-05
阅读 5 分钟
6.2k
Sanic 是一个和类Flask 的基于Python3.5+的web框架,它使用了 Python3 异步特性,有远超 flask 的性能。 编写 RESTful API 的时候,我们会定义特定的异常错误类型,比如我定义的错误返回值格式为: {代码...} 不同的错误信息指定不同的 http 状态码。 sanic 提供了几种常用的 exception: NotFound(404) Forbidden(403) ...

微信小程序开发:python+sanic 实现小程序登录注册

2017-07-30
阅读 11 分钟
25.4k
开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步。这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案。

理解JWT(JSON Web Token)认证及python实践

2017-07-23
阅读 6 分钟
35.5k
最近想做个小程序,需要用到授权认证流程。以前项目都是用的 OAuth2 认证,但是Sanic 使用OAuth2 不太方便,就想试一下 JWT 的认证方式。这一篇主要内容是 JWT 的认证原理,以及python 使用 jwt 认识的实践。

微信公号DIY:MongoDB 简易ORM & 公号记账数据库设计

2017-07-16
阅读 9 分钟
6.1k
介绍了如何使用搭建&训练聊天机器人以及让公号支持图片上传到七牛,把公号变成一个七牛图片上传客户端。这一篇将继续开发公号,让公号变成一个更加实用的工具账本(理财从记账开始)。

使用swagger 生成 Flask RESTful API

2017-07-11
阅读 9 分钟
38.7k
REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文 中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。

微信公号DIY:训练微信聊天机器人&公号变身图片上传工具

2017-07-09
阅读 7 分钟
8k
上一篇 一小时搭建微信聊天机器人 介绍了如何搭建一个可用的聊天机器人,但是和机器人聊完你会发现,聊天机器人实在是太傻了,来回就那么几句。这是因为我们给聊天机器人的数据太少,他只能在我们给的训练集中找它认为最合适的。那么,如何导入更多的训练数据呢?我能想到最简单的方法是找对话的数据,然后把这些数据作...