AcWing Django框架课第一节笔记

     阅读:27

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随意迁移
    • 标准化开发环境,避免未来出现软件版本不兼容。 省去配环境的环节。 方便回滚代码。

Python语法

(来源python官网)

发现基础还有点差,Linux基础课见。。