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

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

python设计模式-观察者模式

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

redis 学习笔记

2017-09-17
阅读 6 分钟
6.2k
这篇 redis 学习笔记主要介绍 redis 的数据结构和数据类型,并讨论数据结构的选择以及应用场景的优化。 redis 是什么? Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。 Redis 数据结构 动态字符串 (Sds) 双端列表 (LINKEDLIST) 字典 跳跃表 (SKIPLIST) 整数...

为什么要从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) 其实就是把一个函数当参数传到另一个函数中,然后再回调,但是值得注意的是装饰器必须返回一个...

CSS入门指南-4:页面布局

2017-08-10
阅读 11 分钟
5k
display是 CSS 中最重要的用于控制布局的属性。每个元素都有一个默认的 display 值。对于大多数元素它们的默认值通常是 block 或 inline 。一个 block 元素通常被叫做块级元素。一个 inline 元素通常被叫做行内元素。

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 + 微信小程序实现用户快速注册登录全栈方案。

CSS入门指南-3:定位元素

2017-07-26
阅读 5 分钟
6.2k
CSS 布局的核心是 position 属性,对元素盒子应用这个属性,可以相对于它在常规文档流中的位置重新定位。position 属性有4个值:static、relative、absoulte、fixed,默认值为 static。

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

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

CSS入门指南-2:盒子模型、浮动和清除

2017-07-19
阅读 7 分钟
6.8k
这是CSS设计指南的读书笔记,用于加深学习效果。 上一篇介绍了css 的工作原理,这一篇主要介绍盒子模型和浮动。 盒子模型 所谓盒子模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。这些盒子们都要按照可见版式模型在页面上排布。 可见的页面版式主要由三个属性控制:position、display和float。 position:控制...

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

微信公号DIY:一小时搭建微信聊天机器人

2017-07-05
阅读 13 分钟
21k
最近借用了女朋友的公号,感觉如果只是用来发文章,太浪费微信给提供的这些功能了。想了想,先从最简单的开始,做一个聊天机器人吧。 使用Python实现聊天机器人的方案有多种:AIML、chatterBot以及图灵聊天机器人和微软小冰等。 考虑到以后可能会做一些定制化的需求,这里我选择了chatterBot(github 项目地址:https://...

python并发3:使用asyncio编写服务器

2017-07-01
阅读 11 分钟
14.2k
asyncio 上一篇我们介绍了 asyncio 包,以及如何使用异步编程管理网络应用中的高并发。在这一篇,我们主要介绍使用 asyncio 包编程的两个例子。

python 最快 web 框架 Sanci 快速入门

2017-06-25
阅读 8 分钟
10k
Sanic 是一个和类Flask 的基于Python3.5+的web框架,它编写的代码速度特别快。除了像Flask 以外,Sanic 还支持以异步请求的方式处理请求。这意味着你可以使用新的 async/await 语法,编写非阻塞的快速的代码。

python并发2:使用asyncio处理并发

2017-06-23
阅读 16 分钟
15.6k
asyncio 是Python3.4 之后引入的标准库的,这个包使用事件循环驱动的协程实现并发。asyncio 包在引入标准库之前代号 “Tulip”(郁金香),所以在网上搜索资料时,会经常看到这种花的名字。

python并发 1:使用 futures 处理并发

2017-06-17
阅读 10 分钟
13.3k
作为Python程序员,平时很少使用并发编程,偶尔使用也只需要派生出一批独立的线程,然后放到队列中,批量执行。所以,不夸张的说,虽然我知道线程、进程、并行、并发的概念,但每次使用的时候可能还需要再打开文档回顾一下。

python协程3:用仿真实验学习协程

2017-06-15
阅读 7 分钟
5.4k
离散事件仿真将系统随时间的变化抽象成一系列的离散时间点上的事件,通过按照事件时间顺序处理事件来演进,是一种事件驱动的仿真世界观。离散事件仿真将系统的变化看做一个事件,因此系统任何的变化都只能是通过处理相应的事件来实现,在两个相邻的事件之间,系统状态维持前一个事件发生后的状态不变。

python协程2:yield from 从入门到精通

2017-06-14
阅读 8 分钟
17k
上一篇python协程1:yield的使用介绍了: 生成器作为协程使用时的行为和状态 使用装饰器预激协程 调用方如何使用生成器对象的 .throw(...) 和 .close() 方法控制协程 这一篇将介绍: 协程终止时如何返回值 yield新句法的用途和语义 同时会用几个协程的示例展示协程用法。 让协程返回值 先看一个例子:这段代码会返回最终...

python协程1:yield 10分钟入门

2017-06-13
阅读 7 分钟
9.2k
最近找到一本python好书《流畅的python》,是到现在为止看到的对python高级特性讲述最详细的一本。看了协程一章,做个读书笔记,加深印象。

CSS 入门指南:(1)工作原理

2017-05-27
阅读 5 分钟
2.5k
每个html元素都有一组样式属性,可以通过css来设定。当html元素的同一个样式属性有多种样式值的时候,css就要靠层叠机智来决定最终应用哪种样式。

100行代码实现任务队列

2017-03-21
阅读 6 分钟
3.5k
高效延时消息,包含两个重要的数据结构: 1.环形队列,例如可以创建一个包含3600个slot的环形队列(本质是个数组) 2.任务集合,环上每一个slot是一个Set<Task>

python并发4:使用thread处理并发

2017-03-15
阅读 15 分钟
16k
考虑一下这个场景,我们有10000条数据需要处理,处理每条数据需要花费1秒,但读取数据只需要0.1秒,每条数据互不干扰。该如何执行才能花费时间最短呢?

Amazon DynamoDB 入门8:删除项目

2017-03-15
阅读 5 分钟
4k
DELETE FROM MusicWHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';我们可以修改 WHERE 子句以删除多个行。例如,删除某个特殊艺术家的所有歌曲,如下所示:

Amazon DynamoDB 入门7:项目更新

2017-03-15
阅读 8 分钟
4.2k
上一节介绍了DynamoDB 的查询,本来计划这一节介绍使用索引的查询,不过随机看到了更新操作,就先写更新操作吧 update (修改表中的数据) SQL 语言提供用于修改数据的 UPDATE 语句。DynamoDB 使用 UpdateItem 操作完成类似的任务。 SQL 在 SQL 中,可使用 UPDATE 语句修改一个或多个行。SET 子句为一个或多个列指定新值,...

Amazon DynamoDB 入门6:query 和 scan

2017-02-01
阅读 8 分钟
13.4k
DynamoDB Query 操作提供对存储数据的物理位置的快速高效访问。 可以将 Query 用于任何具有复合主键(分区键和排序键)的表。这里的表必须指定分区键的相等条件,并且可以选择性为排序键提供另一个条件。 KeyConditionExpression 参数指定要查询的键值。