一、软件开发流程(重要)

​ 我们作为一个后端,虽然一般情况下只专注自己的那一部分事情,但是有时候小公司,人员架构没那么细化,或者老板就是想省钱少招点人,我们就得大致熟悉软件开发流程,知道上司、其他同事在干嘛

​ 重点词汇:原型图、分任务开发、联调

流程

# 真正的企业里软件从立项到交付整个过程
-立项:确定公司要开发这个软件 公司高层
-软件来源
-产品经理设计出来的----》互联网项目 互联网公司
-用户(医院,政府部门,企业。。) 传统软件公司
-需求分析
# 互联网项目
-需求调研和分析:产品经理设计出来的
# 传统软件
-需求调研和分析:市场人员跟客户对接
-产品经理 ,开发人员跟客户对接,生成需求文档
-原型设计:产品经理
-懂业务
-画出原型图:app,网页款
-分任务开发
-UI设计
-根据原型图设计 切图
-前端团队
-前端拿着切图写代码(pc,小程序,移动端)
-mock数据:搞假数据,先把功能开发出来
-后端团队(我们,甚至只是极小极分化的一个后端是我们)
-组里开会,需求文档和原型图,设计后台
-架构,数据库设计
-分任务开发:用户,商品板块
-测试(质量控制部)
-普通功能测试
-接口测试
-压力测试,jmeter
-自动化测试
-联调测试 -项目上线(运维) -持续维护项目 # 作为后端开发,公司里开发的流程
-开新项目,先开会,设计技术选型,数据库设计
-产品,原型图做好了
-老大在项目管理平台(禅道)分配任务给手下
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn)
-管理平台点完成
-所有都开发完了,分支合并(一般领导做)
-跟前端联调
-发版 -如果是老项目
-老大在项目管理平台(禅道)分配任务给我
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn) -所有都开发完了,分支合并
-跟前端联调
-发版

二、路飞课程商城项目

需求分析

这是一个在线购买、观看视频的知识付费商城项目
要用到的大框架:
前端:vue2
后端:django drf
后台管理:simpleui 具体有哪些功能:
首页:
1.首页展示一条导航栏可以点击查看师资力量、查看python课、查看go等等的课
2.下方轮播图,展示课程封面
3.根据课程(大类)的总点击数推荐课程 用户功能:
1.登录注册
2.手机号码验证登录
3.是否商城vip——全课程9折,新上课程95折
4.用户能改密码、改昵称、邮箱等
5.用户能评论视频,能删除自己的评论 课程列表功能:
1.课程分类,排序,展示
2.排序、过滤、分页 点击课程观看:
1.课程详情接口
2.在线视频播放(非购买用户5分钟试看)
3.页面评论功能 下单功能
1.添加购物车
2.结算购物车,调用支付宝接口支付
3.购买成功后和用户绑定,用户可以永久观看

三、pip永久换源

​ 因为pipy服务器在国外,我们不改镜像源去下资源非常卡,虽然我们已经学会了自己加国内镜像源或者给Pycharm下载换源,但是如果能给不管cmd还是pycharm都可以直接用到设置好的镜像源那就更方便了。

查看目前pip的源

cmd输入:
pip config list

换源教程

常见的国内源有以下几种:
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
中国科学技术大学 :https://pypi.mirrors.ustc.edu.cn/simple/ # 配置本地镜像站为阿里云,以后只要pip install 就是去阿里云下载
- 1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
-2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
-3、新增 pip.ini 配置文件内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
use-mirrors =true
mirrors =https://mirrors.aliyun.com/pypi/simple
trusted-host =mirrors.aliyun.com -4.换源后再次去查看pip目前的源

四、虚拟环境

​ 以前我们也学过虚拟环境,也知道以后写项目,基本都是新开一个干净的环境,需要啥模块再下以节省资源容量,节省打包大小,这样就不会出现有个模块用不了,又不知道删除原本环境里的啥啥啥。

​ 达到多项目独立环境,同时开发

https://www.cnblogs.com/wznn125ml/p/16980743.html#autoid-h2-2-0-0

1.新的解决方案

​ 两个模块

​ Virtualenv

​ pipenv

先安装
安装模块
pip3 install virtualenv # 虚拟环境是它
pip3 install virtualenvwrapper-win # 对虚拟环境的加强,
后配置

​ 这个配置完后,以后创建的虚拟环境,都会被丢到Virtualenvs文件夹中,一个虚拟环境一个包

1.新增一对环境变量的键值对,建议加给用户
WORKON_HOME: D:\Virtualenvs
2.去D盘建一下文件夹
Virtualenvs
3.最后去自己的解释器的目录,去双击打开Scripts中的virtualenvwrapper.bat
来使用
1.创建一个虚拟环境
(记得把前面打开过的cmd关了)
mkvirtualenv -p python38 luffy #解释器版本按自己的来啊
2.创建后cmd自动更新为虚拟环境下的cmd准备模式
3.退出虚拟环境
deactivate
4.再次进入虚拟环境
workon 虚拟环境包名
5.删除虚拟环境
rmvirtualenv 虚拟环境包名

2.总结

​ 以后一定要分清,工作环境在哪里,模块下载后会被装到哪里

​ Pycharm也可以用,不过还是推荐命令行的那种创建虚拟环境

五、路飞项目开始

1.先创建好前后端项目

# 创建路飞后端
-创建路飞项目前,虚拟环境中先装好 django 3.2.2
-选中虚拟环境,起名叫luffy_api # 前端项目创建
建议和后端项目放同一层级目录,好找一点,注意windows cmd不能拿着一个路径直接去CD,得先进入大盘符 vue create luffy_city

2.开始调整后端项目目录

以前我们都是使用一个app,如果我们写真正的项目,不可能就一两个app,app一多,我们看目录结构就眼花了,所以得做一下整理

"""
├── luffy_api
├── logs/ # 项目运行时/开发时日志目录 - 包
├── manage.py # 脚本文件
├── luffy_api_in/ # 项目主应用,开发时的代码保存 - 包
├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包
├── settings/ # 配置目录 - 包
├── dev.py # 项目开发时的本地配置
└── prod.py # 项目上线时的运行配置
├── urls.py # 总路由
└── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件]
└── scripts/ # 保存项目运行时的脚本文件,小的测试脚本 - 文件夹,不提交到git上
"""

3.目录改动后要做的

settings动了要重新配置

如果是自己开发阶段(未上线),改manage.py ,run server性能比较低,后期用uwsgi上线

如果是上线阶段,去改asgi.py和wsgi.py

然后去改一下用的多的django启动按钮配置

创建、注册app
创建随意,在外面创建了移动入apps可以,cd进去apps再创建也行
--------------------------------
注册
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'lufei_api.apps.home'
] 也要注意下,app下的apps.py 中,name 要='lufei_api.apps.home'
把小路飞这一层设置为根路径
dev中

import os
import sys BASE_DIR = Path(__file__).resolve().parent.parent #这个就是小路飞的路径,我们可以直接加到环境变量中去
path=os.path.join(BASE_DIR,'apps') sys.path.append(path)
sys.path.append(BASE_DIR) # 如果设置了小路飞根路径,我们就不用上面的name ='lufei_api.apps.home' 这些了

路飞项目day01 软件开发流程、PIP永久换源、虚拟环境、路飞项目开始的更多相关文章

  1. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  2. Thrift项目Server端开发流程

    Thrift项目Server端开发流程 首先,先了解工程中所有包的功能(见下图) 该图为用户中心项目的目录结构,以下依次介绍. 1.     src/main/java com.framework:该 ...

  3. Vue 框架-12-Vue 项目的详细开发流程

    Vue 框架-12-Vue 项目的详细开发流程 首先,如果你还不了解 Vue 脚手架怎么搭建? 默认的环境中有哪些文件? 文件大概是什么作用? 那么,您要先查看之前的文章才有助于你理解本篇文章: Vu ...

  4. SoC的软件开发流程,主要包含一些Linux下的操作命令

    该笔记主要记录SoC的软件开发流程,主要包含一些Linux下的操作命令 1. 编写design file .c .h 2. 编写makefile    可执行文件名,交叉编译环境,compile fl ...

  5. 今天学弟问我pip如何永久换源?

    pip如何永久换源 临时使用 我们在使用Python开发的时候,经常要下载第三方模块,最常用的方式就是直接pip install 模块名,但是默认是使用国外的源,从pypi仓库中查找目标模块,不管是网 ...

  6. pip 安装更新卸载 pip/yum换源

    pip安装:sudo apt-get install python3-pip pip更新:sudo pip3 install --upgrade pip pip卸载:sudo apt-get remo ...

  7. vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境

    目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...

  8. [转]3天搞定的小型B/S内部管理类软件定制开发项目【软件开发实战10步骤详解】

    本文转自:http://www.cnblogs.com/jirigala/archive/2010/10/07/1845275.html 2010-10-07 21:39 by 通用C#系统架构, 5 ...

  9. 一般软件开发流程和BBS表设计

    项目开发流程 需求分析 架构师+产品经理+开发组组长 和客户公司谈需求之前 ,事先需要想一下这个项目要怎么做 里面的坑点提前想好比较简单的解决方案 在跟客户谈的时候有意识的引导客户朝你已经想好的方案上 ...

  10. pip&conda 换源

    PIP 各种可用源 清华源:https://pypi.tuna.tsinghua.edu.cn/simple 临时指定源 pip install -i https://pypi.tuna.tsingh ...

随机推荐

  1. 线程基础知识17 Quene

    1 ConcurrentLinkedQueue 1.1 简介 它是一个基于链接节点的无界线程安全队列.此队列按照 FIFO(先进先出)原则对元素进行排序. 新的元素插入到队列的尾部,队列获取操作从队列 ...

  2. Lodop打印小票

    使用Lodop打印小票 1.html页面 <head> <meta http-equiv="Content-Type" content="text/ht ...

  3. MongoDB Compass的安装及使用图文说明(非常详细)

    1.下载 MongoDB Compass 预编译二进制包下载地址:https://www.mongodb.com/try/download/compass 2.安装 MongoDB Compass 的 ...

  4. 视觉SLAM:滑动窗口

    1.SLAM问题 1.1建模 考虑某个状态 \(\xi\),以及一次与该变量相关的观测 \(r_{i}\).由于噪声存在,观测服从概率分布 \(p(r_{i}|\xi)\).多个观测时,各个测量值相互 ...

  5. 安卓逆向 ARM基础篇

    1.ARM  与 Andorid 的关系 android 的操作系统是 LINUX 内核 LINux又是ARM 2.ARM汇编规范 3.ARM指令格式 ARM常用指令开始 1.ARM 的跳转指令 PC ...

  6. Java刷题常用的数据结构总结

    目录 1. 基础运算 2. 字符串类 3. 数组类与链表 4. 栈和队列 5. 字典类 6. 树 1. 基础运算 //int型相关操作 Integer.INT_MAX;//int型最大值 Intege ...

  7. Sequelize.js + Express.js 开发 API

    什么是 Sequelize 我们知道 Web 应用开发中的 Web 后端开发一般都是 Java.Python.ASP.NET 等语言.十年前,Node.js 的出现使得原本仅限于运行在浏览器中的 Ja ...

  8. Gateway集成Netty服务

    目录 一.Netty简介 二.Netty入门案例 1.服务端启动 2.通道初始化 3.自定义处理器 4.测试请求 三.Gateway集成 1.依赖层级 2.自动化配置 四.配置加载 1.基础配置 2. ...

  9. Integer使用==比较的问题

    Integer使用==比较的问题 new一个对象 public Integer(int value) { this.value = value; } 自动装箱 public static Intege ...

  10. CGLB动态代理

    CGLB动态代理 一.CGLIB实现接口 public interface ProductInterface { void test(); } /** * 用来测试接口 */ private stat ...