无状态服务
· ☕ 4 分钟
1.问题描述 背景:一个 Django 开发的 SaaS 应用,对外提供文档服务功能。其中,搜索功能通过 Django Haystack 实现。 问题:搜索功能有时可用,有时不可用。多次测试,发现可用和不可用会交替出现,出现概率各占约 50%。 补充一下搜索功能实现的细节: Django Haystack 在提供搜索功能之前,需要

HTTP Header 之 Content-Type
· ☕ 5 分钟
1. HTTP Header HTTP 协议是建立在 TCP/IP 协议之上的应用层规范,以 ASCII 码传输。HTTP 规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: 1 2 3 4 5 <method><request-URL><version> <headers> <entity-body> HTTP Header 包括通用头、请求头、响应头和实体头这四个部分。每个头域由一个头域的域名,冒号和域值组成。

Python 的类函数方法
· ☕ 4 分钟
1. 函数方法 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码片段。函数能提高应用的模块性,代码的重复利用率。Python 提供了许多内建函数,比如 print()、str()。同时,Python 也允许用户创建函数,这被叫做自定义函数。

交互式笔记本-Jupyter
· ☕ 4 分钟
1. 简介 Jupyter Notebook(前称 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 实际上是一个 Web 应用程序,可以创建和共享程序文档,支持实时代码,数学方程,可视化和 Markdown。 用途包括:数据清理和转换,数值模拟,统计建模

RabbitMQ 消息队列
· ☕ 4 分钟
1. 消息队列的适用场景 1.1 异步处理 应用场景:用户注册后,需要发注册邮件和注册短信。同步的处理方法,系统的性能(并发量,吞吐量,响应时间)会有瓶颈。 1.2 应用解耦 应用场景:用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口