2017年3月5日14:56:23
任务进度延迟了整整三周:这个周末本应该提交ch7的任务,却还没有开始ch5的任务。回忆一下前面几周在干什么?
- ch3任务:170123-170206,春节放假,因此该周任务时间调整为两周。回来之后陪家人,在2月8号才提交ch3作业,比较累。
- ch4任务:170206-170213,春节回来,工作节奏加快。周末才开始拆分ch4任务。
- ch5任务:170213-170220,周末开始追赶ch4任务,终于在18号做完。
- ch6任务:170220-170227,周末陪家人,没有做作业。
- ch7任务:170228-170305,昨天加班,今天决定开始ch5任务。
ch5任务的主题是“深入Web后端”,重点是“体验数据库魅力”,过程中将涉及到“SQL语言”和“SQLite数据库”。任务目标是基于ch4之上提供如下两个新增功能:
- 使用SQLite存储天气数据。
- 增加天气数据更正功能。
任务分解
依照卡包上的介绍,分解任务。
1.初探数据库
真实的项目当中都会涉及到数据库,所以先需要针对数据库有所了解。
参考文档:
- Database - Wikipedia
- NoSQL or Relational Database? - Quora
- What are the most popular database systems? - Quora
- DB-Engines Ranking - popularity ranking of database management systems
2.使用SQL语言与SQLite进行交互
SQLite是一种应用非常广泛的关系型数据库,在Python3中内置了SQLite(Python2怎么办?)。
参考文档:
- About SQLite
- sqlite3 — DB-API 2.0 interface for SQLite databases
- Build a CRUD Web App With Python and Flask
- Sams Teach Yourself SQL in 10 Minutes
3.使用SQLite存储数据
将查询到的API存储到SQLite数据库当中,需要设计数据表,之前在微信群里面看到教练们提醒到小项目不要超过3个。
4.更新SQLite中的数据
添加天气数据矫正功能:增加一个更新按钮,接受用户输入并更新数据库。
5.使用FLask-SQLAIchemy(选作)
SQLAIchemy是一个数据库框架。
参考文档:
6.多用户记录(选作)
记录不同用户的查询信息。
参考文档:
BGM&彩蛋
不自然的为每周的菜单起了兴趣,依旧记录下来。
ch5推荐的BGM是山居歲月,这些我都没有听过,想来应该很好听哒。
彩蛋有Khan Academy 拍摄的视频You Can Learn Anything - YouTube,当遇到困难和挑战的时候请记得You can learn anything - Khan Academy。