Claus's Tech Blog

leave me alone i know what to do


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Flask 从入门到放弃1: Hello World

发表于 2017-07-25 | 更新于 2018-04-04 | 分类于 Flask从入门到放弃 | 阅读次数
| 字数统计 541 字

除了Flask,常见的Python Web框架还有:

  • Django:全能型Web框架;
  • web.py:一个小巧的Web框架;
  • Bottle:和Flask类似的Web框架;
  • Tornado:Facebook的开源异步Web框架。

Flask简介

Flask 是一个用于 Python 的微型网络开发框架,依赖两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 套件。Flask也被称为microframework,因为它使用简单的核心,用加载扩展的方式增加其他功能。

Flask 没有默认使用的数据库、窗体验证工具。但是,Flask 保留了扩增的弹性,可以用Flask扩展加入这些功能:ORM、窗体验证工具、文件上传、开放式身份验证技术。

FlaskLogo

阅读全文 »

搞懂Python装饰器

发表于 2017-07-20 | 更新于 2018-04-04 | 阅读次数
| 字数统计 2,914 字

装饰器是Python中的一个高阶概念,装饰器是可调用的对象,其参数是另外一个函数。装饰器可能会处理被装饰的函数然后把它返回,或者将其替换成另外一个函数或者可调用对象。

这么介绍装饰器确实很难懂,还是以例子逐步理解更容易些。

装饰器的强大在于它能够在不修改原有业务逻辑的情况下对代码进行扩展,常见的应用场景有:权限校验、用户认证、日志记录、性能测试、事务处理、缓存等。

下面记录一下我逐步理解装饰器的过程。

阅读全文 »

Python dict类型的实现

发表于 2017-07-18 | 更新于 2018-04-04 | 阅读次数
| 字数统计 2,025 字

程序员们的经验里面,通常都会认为字典和集合的速度是非常快的,字典的搜索的时间复杂读为O(1),

为什么能有这么快呢?在于字典和集合的后台实现。

散列表 Hash table

散列表是一个稀疏数组,散列表里面的单元叫做表元 bucket, 在dict的散列表中,每个键值对都占用一个表元,每个表元有两个部分:一个对键值的引用,一个对值的引用。因为所有表元大小一致,可以通过偏移量来读取某个表元。由于是稀疏数组,python会设法保证还有大约三分之一的表元是空的,快要到达这个阈值的时候,会把原有的散列表复制到一个更大的空间里面。

阅读全文 »

MongoDB索引操作

发表于 2017-06-29 | 更新于 2018-04-04 | 阅读次数
| 字数统计 659 字

上面那篇MongoDB Documentation关于查询优化的案例,数据只有10条,看不出来性能有多少提升,这篇再尝试一个例子。

阅读全文 »

MongoDB 分析查询计划

发表于 2017-06-29 | 更新于 2018-04-04 | 阅读次数
| 字数统计 526 字

查询计划

和传统的关系型数据库的执行计划类似,MongoDB也提供了查询计划。MongoDB的查询优化器处理查询语句,并且从生成的执行计划中选择最优的来执行查询过程。下图显示了MongoDB查询计划的逻辑步骤:

QueryPlannerLogic

分析查询的性能

MongoDB 提供了一个 explain 命令让我们获知系统如何处理查询请求。利用 explain 命令,我们可以很好地观察系统如何使用索引来加快检索,同时可以针对性优化索引。

阅读全文 »
1…567…15
Shuo Lv

Shuo Lv

72 日志
15 分类
50 标签
GitHub Weibo 知乎 LinkedIn Facebook
友情链接
  • 公式编辑器
  • 可视化Python代码
  • Python最佳实践
© 2015 - 2018 Shuo Lv
由 Hexo 强力驱动
主题 - NexT.Pisces