教程

2019

旧文迁移|Django 部署:Nginx+Gunicorn+virtualenv+supervisor+PostgreSQL

Django 是最受欢迎的基于 Python 的 web 框架之一,也非常适合新手入门。虽然 Django 为我们提供了一个用于测试的轻量级 server,但这个 server 不能用于实际生产环境的部署。最早的 Django 的部署方法推荐的是 Apache+mod_wsgi。演化到现在,django 的部署方法也变得越来越弹性、有效,也更加的复杂了。在下面的教程中我们需要使用下面的这些工具:

  • Nginx: Web 服务器
  • Gunicorn: WSGI 服务器
  • virtualenv: Python 虚拟环境工具
  • supervisor: 进程监管工具
  • PostgreSQL: 数据库(也可以使用 MariaDB)
Aug 30
CPP: STL map 的用法

抛开具体的编程语言场景,map 是一类非常基本的数据组织形式,其作用是将一个可 Hash 的值,映射到另一个值,而且一般来讲是一对一的(存在一对多的情况)。map 内部使用了红黑树,这棵树具有对数据自动排序的功能,使得对 map 的检索意义达到非常高的效率。基于键值的查找的复杂度是 Log(N)。

这里讲讲 C++标准库里面 map 的用法。

Jul 01