作者:骆昊
说明:从项目上线到获得8w+星标以来,一直收到反馈说基础部分(前15天的内容)对新手来说是比较困难的,建议有配套视频进行讲解。最近把基础部分的内容重新创建了一个名为“Python-Core-50-Courses”的项目,用更为简单通俗的方式重写了这部分内容并附带了视频讲解,初学者可以关注下这个新项目。国内用户如果访问GitHub比较慢的话,也可以关注我的知乎号Python-Jack上的“从零开始学Python”专栏,专栏会持续更新,还有大家比较期待的“数据分析”的内容也即将上线,欢迎大家关注我在知乎的专栏、文章和回答。
创作不易,感谢大家的打赏支持,这些钱基本不会用于购买咖啡,而是通过腾讯公益、美团公益、水滴筹等平台捐赠给需要帮助的人(点击了解捐赠情况)。需要加入QQ交流群的可以扫描下面的二维码,交流群会为大家提供学习资源和问题解答,还会持续为大家带来免费的线上Python体验课和行业公开课,敬请关注。
简单的说,Python是一个“优雅”、“明确”、“简单”的编程语言。
目前几个比较流行的领域,Python都有用武之地。
作为一名Python开发者,主要的就业领域包括:
下图显示了主要城市Python招聘需求量及薪资待遇排行榜(截止到2018年5月)。
给初学者的几个建议:
网站优化第一定律
在Django项目中使用Redis提供缓存服务
在视图函数中读写缓存
使用装饰器实现页面缓存
为数据接口提供缓存服务
温馨提示:数据分析和机器学习的内容在code文件夹中,是用jupyter notebook书写的代码和笔记,需要先启动jupyter notebook再打开对应的文件进行学习。2020年会持续补充相关文档,希望大家持续关注。
软件过程模型
经典过程模型(瀑布模型)
瀑布模型最大的缺点是无法拥抱需求变化,整套流程结束后才能看到产品,团队士气低落。
敏捷开发(Scrum)- 产品所有者、Scrum Master、研发人员 - Sprint
补充:敏捷软件开发宣言
- 个体和互动 高于 流程和工具
- 工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划
角色:产品所有者(决定做什么,能对需求拍板的人)、团队负责人(解决各种问题,专注如何更好的工作,屏蔽外部对开发团队的影响)、开发团队(项目执行人员,具体指开发人员和测试人员)。
准备工作:商业案例和资金、合同、憧憬、初始产品需求、初始发布计划、入股、组建团队。
敏捷团队通常人数为8-10人。
工作量估算:将开发任务量化,包括原型、Logo设计、UI设计、前端开发等,尽量把每个工作分解到最小任务量,最小任务量标准为工作时间不能超过两天,然后估算总体项目时间。把每个任务都贴在看板上面,看板上分三部分:to do(待完成)、in progress(进行中)和done(已完成)。
项目团队组建
团队的构成和角色
说明:谢谢付祥英女士帮助我绘制了下面这张精美的公司组织架构图。
编程规范和代码审查(flake8、pylint)
Python中的一些“惯例”(请参考《Python惯例-如何编写Pythonic的代码》)
影响代码可读性的原因:
团队开发工具介绍
请参考《团队项目开发的问题和解决方案》。
选题范围设定
CMS(用户端):新闻聚合网站、问答/分享社区、影评/书评网站等。
MIS(用户端+管理端):KMS、KPI考核系统、HRS、CRM系统、供应链系统、仓储管理系统等。
App后台(管理端+数据接口):二手交易类、报刊杂志类、小众电商类、新闻资讯类、旅游类、社交类、阅读类等。
其他类型:自身行业背景和工作经验、业务容易理解和把控。
需求理解、模块划分和任务分配
制定项目进度表(每日更新)
模块 | 功能 | 人员 | 状态 | 完成 | 工时 | 计划开始 | 实际开始 | 计划结束 | 实际结束 | 备注 |
---|---|---|---|---|---|---|---|---|---|---|
评论 | 添加评论 | 王大锤 | 正在进行 | 50% | 4 | 2018/8/7 | 2018/8/7 | |||
删除评论 | 王大锤 | 等待 | 0% | 2 | 2018/8/7 | 2018/8/7 | ||||
查看评论 | 白元芳 | 正在进行 | 20% | 4 | 2018/8/7 | 2018/8/7 | 需要进行代码审查 | |||
评论投票 | 白元芳 | 等待 | 0% | 4 | 2018/8/8 | 2018/8/8 |
OOAD和数据库设计
UML(统一建模语言)的类图
通过模型创建表(正向工程)
python manage.py makemigrations app
python manage.py migrate
使用PowerDesigner绘制物理模型图。
通过数据表创建模型(反向工程)
python manage.py inspectdb > app/models.py
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。