1、该系列为ACWing中Django框架课,已购买正版,课程作者为yxc。
2、为啥写在这儿,问就是oneNote的内存不够了QAQ
后端功能概述
后端用于协调各类组件
Django优势:
- 开发效率高,生态完善,有官方社区长期支持 运行效率高(常见误区:python运行效率低,所以python写的应用运行效率低)
- 项目运行效率瓶颈有很多,比如:数据库查询、网络带宽/延迟、硬盘读写速度等,这些与框架关系不大。
- 计算密集型的模块可以用C/C++实现,然后编译成动态链接库再import进来。
- 计算密集型的微服务可以通过thrift等工具对接,微服务的Server端代码可以用C/C++语言实现。
- 有很多工具可以将Python代码翻译成C/C++,比如Cython、Pypy、AcWing
- 题库中的不少题目,会发现Python3比Java还快一些。 既适合大公司,也适合个人开发者,平均开发一个Web/AC App只需要半个月-1个月。
开发项目
- 前后端分离的好处:一个后端支持多种前端。
- 数据库分为两大类:Mysql 和 Redis,Redis是内存数据库,在内存中存储map(键值对)。
- 项目中存储数据的层 (server端) :Redis (内存)>Mysql(存代码、文本、题解、账户分值信息)>云盘(硬盘,存视频和图片)
- 项目中存储数据的层 (client端): Web sotrage 浏览器缓存 (刷新页面不会消失)、 js内存 (刷新页面会消失)
- websocket协议:是一个允许两端都可以发送消息的通信协议。其在用户端和服务端建立一个长连接。
开发环境
- 完全无需配置本地环境。使用工具:vim(编辑)、tmux(多窗口分屏)等。不推荐在本地开发。(ag可以全文检索)
- 本项目会涉及多台服务器间的网络通信,如果在本地开发,未来不方便调试和部署。
- 在本地开发无法统一开发环境,部分python包在windows系统上安装困难。
- 需要租一台具有公网IP的云服务器,并安装docker。
- 服务器配置无要求 。
- 后期可以利用docker随意迁移
- 标准化开发环境,避免未来出现软件版本不兼容。 省去配环境的环节。 方便回滚代码。