实训日记 | Day 12. Flask框架
总述
2020年8月4日。是实训的第12天。
今天上午孟老师带我们回顾了过去在Django这一块所学的一些知识,然后开始讲授flask。完成从flask的创建到部署,再是路由、跨域、连接数据库等等任务。
Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2模板引擎。 Flask使用BSD授权。 Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
通过今天的学习,我确实感受到了Flask比Django要简单一些。花费较少的精力和时间就能达到和Django同样的效果。但是即便如此,我依然决定在我的大作业上使用Django。因为就我自身而言,我对Django更加熟悉。
今天的知识把握程度还行,基于对Django的理解上再去学习Flask就没有那么难。但是对于ajax嵌套,我仍是有一些不 ...
实训日记 | Day 11. 数据的可视化
总述
2020年8月3日。到了实训的第三周的第一天。
今天主要讲了如何用echarts实现数据的可视化。
主要的活动有:
数据打包
echarts远程包
echarts本地包(重点)
数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令人感到枯燥乏味,或者是为了看上去绚丽多彩而显得极端复杂。为了有效地传达思想概念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,从而实现对于相当稀疏而又复杂的数据集的深入洞察。然而,设计人员往往并不能很好地把握设计与功能之间的平衡,从而创造出华而不实的数据可视化形式,无法达到其主要目的,也就是传达与沟通信息。
因此,我们不仅要掌握数据可视化的办法,也更要懂得如何让组织形式使得传达与沟通的效益最大化。
今天圆满地完成了主要工作,不仅完成了一边听课一边记录笔记,而且课中也没有遇到什么疑难杂症而纠结良久。
今天的操作流程,一言以蔽之。对于本地存在的Excel数据、CSV数据等等,可以使用pandas或xlrd来进行提取,而后用echarts把它绘制在网页上。
EChar ...
实训日记 | Day 04. 简单的爬虫
总述
2020年7月22日。今天主要讲的内容有:
使用Requests包和BeautifulSoup4进行简单的网页爬虫
爬虫
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
我们知道,在WWW上我们访问的网页基本上都是用HTML文档来进行描述的。在浏览器按下F12键,可以打开开发者工具,选择Elements页签,即可查看HTML的文档内容。如图所示:
我们就可以从HTML中获取想要的数据/信息。
如果我们要进行对某个网页的爬虫,需要解决的问题有两个:
获取HTML文档的内容
解析这个HTML文档,按照一定规则获取其中的信息/数据
对于上面两个问题,进行针对性的解决:
用Requests包来获取HTML文档
用BeautifulSoup4来解析HTML文档
Requests
在线文档
简单介绍
引用以下来自官方文档的内容:
Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全 ...
实训日记 | Day 03. 函数、包和数据库
总述
2020年7月22日。今天主要讲的内容有:
条件与循环
函数的定义
包的引用
连接MySQL
连接MongoDB
条件与循环
注意,以下语句都用到了此前提到过的代码块概念,若您已经忘记了,可以查看之前的章节复习。
条件if
使用类似如下的结构,即可在Python中创建一个条件分歧语句。可以把
123456if condition_1: statement_block_1 #当条件表达式1为真值时执行的代码块elif condition_2: #如果不需要条件2, 可以省略这一块 statement_block_2 #当条件表达式1为假值时, 条件表达式2为真值执行的代码块else: #如果不需要不满足1,2的情况, 可以省略这一块 statement_block_3 #当条件表达式1为假值时, 条件表达式2为假值执行的代码块
例如,要编写一段程序,判断输入的数字是否为1。
123456789num = input()if num.isdigit() == False: print("输入的含有非 ...
Windows | 应用程序的Zorua有机分类使用管理办法
引言
Windows作为广泛地被使用的个人计算机操作系统,在学习和工作中发挥着举足轻重的作用。但是,就我身边的人而言,大家似乎都是到手即用,而没有事先对其作一番设置让自己使用得更加舒适。本文简要地谈谈,我是怎么样理解并发挥Windows提供的一些功能的,仅供参考。
正如题文的应用程序的Zorua有机分类使用管理办法,这是我随意地对这篇见解起的名字,英文名为Zorua Organic Rating Utilization Administration,简称ZORUA。
应用程序的启动
在我们日常使用计算机的时候,必然是需要启动应用程序的。按照使用频率,我把这些应用程序分成如下几类:
强必定启动项:每次开启计算机,必定会启动的应用程序,但是希望它是自动启动
弱必定启动项:每次开启计算机,必定会启动的应用程序,但是希望它是手动启动
偶尔启动项:正在进行工作时,出于一时的需求需要启动的应用程序
非必定启动项:其他不常使用的应用程序
对于不同类别的应用程序,全部都使用桌面快捷方式,是非常不科学高效的。
桌面壁纸混搭各种风格的图标,美观度下降
桌面图标过多,难以迅速找到自己需要启动应用程 ...
实训日记 | Day 02. 有趣的数据结构们
总述
2020年7月21日。今天主要讲了一些Python比之其他编程语言特有的一些数据结构。
有列表 元组 字典 集合。
他们之中有共同点,也有差异。重点把握列表和字典即可。
列表
定义:一个有序的,可修改的,元素以逗号分割的,以中括号包裹的,元素可以是任何数据类型的序列。
创建一个列表,只要把逗号分隔的各个数据项使用方括号括起来即可。
12thislist = ['Zorua', 'Blog', 2000, 2020]emptylist = [ ] #空列表
除此以外,也可以使用list函数来创建列表。
1thislist = list(("apple", "banana", 123)) #参数是元组
list函数中的参数应是一个可迭代的对象,例如字符串、元组等等。list函数将可迭代对象的元素重新返回为列表。
将字典类型的数据作为参数时,返回的是字典的键(后文会提及)。
将range()函数作为参数,返回的是一个整数元素的列表。
无参数时,返回的是一个空列表。
访问列表中的值
列表同样 ...
实训日记 | Day 01. Hello Python.
前言
2020年7月20日,实训开始了。
这个日记系列将用于记录我在这一个月内的成长与收获。由于一天的工作量很大,很难再安排时间进行整理😂。
先说说这个实训相关的一些情况叭。
日程安排使用到的工具7月20日到8月14日,周末正常休息。
节次
时间
1–2节
🕣 8:30–10:00
3–4节
🕙 10:15–11:45
5–6节
🕜 13:30–15:00
7–8节
🕞15:15–16:45
Python 3.7.4
Pycharm
Navicat
腾讯QQ
腾讯会议 WeMeet
什么是Python
以下内容援引自百度百科。
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
Python是一种解释型脚本语言,可以应用于以下领域:
Web 和 Internet开发
科学计算和统计
人工智能
桌面界面开发
软件开发
后端开发
网络爬虫
以下内容援引自菜鸟教程 ...
计算机网络 | 4. 网络层
思维导图
网络层
网络层提供的两种服务
虚电路是逻辑连接
因特网采用的设计思路
尽最大努力交付的好处
虚电路服务与数据报服务的对比
网际协议 IP
虚拟互连网络
网络互相连接起来要使用一些中间设备
网络互连使用路由器
虚拟互连网络的意义
从网络层看 IP 数据报的传送
分类的 IP 地址
IP 地址及其表示方法
IP 地址的编址方法
分类 IP 地址
点分十进制记法
常用的三种类别的 IP 地址
IP 地址的一些重要特点
IP 地址与硬件地址
地址解析协议 ARP 与逆地址解析协议 RARP
地址解析协议 ARP
ARP 高速缓存的作用
应当注意的问题
使用 ARP 的四种典型情况
什么我们不直接使用硬件地址进行通信?
逆地址解析协议 RARP
IP 数据报的格式
IP 层转发分组的流程
查找路由表
特定主机路由
默认路由(default route)
必须强调指出
划分子网和构造超网
划分子网
三级的 IP 地址
划分子网的基本思路
划分子网后变成了三级结构
子网掩码
默认子网掩码
子网掩码是一个重要属性
使用子网时分组转 ...
数据库原理 | 6. 关系查询处理和查询优化
思维导图
关系查询处理和查询优化
关系查询优化
查询优化概述
由DBMS进行查询优化的好处
查询优化目标
代价模型
查询优化的一般准则
关系代数等价变换规则
连接、笛卡尔积交换律
连接、笛卡尔积的结合律
投影的串接定律
选择的串接定律
选择与投影的交换律
选择与笛卡尔积的交换律
选择与并的交换
选择与差运算的交换
投影与笛卡尔积的交换
投影与并的交换
关系代数表达式的优化算法
详细流程
优化的一般步骤
把查询转换成某种内部表示
代数优化
物理优化
生成查询计划
关系查询优化
查询优化概述
查询优化的必要性
查询优化极大地影响RDBMS的性能。
查询优化的可能性
关系数据语言的级别很高,使DBMS可以从关系表达式中分析查询语义。
级别越高,越接近自然语言。
由DBMS进行查询优化的好处
用户不必考虑如何最好地表达查询以获得较好的效率,
系统可以比用户程序的优化做得更好。
优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息
如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划 ...
数据库原理 | 5. 数据库完整性
思维导图
数据库完整性
完整性约束条件
完整性约束条件作用的对象
完整性控制
DBMS的完整性控制机制
定义功能
检查功能
违约反应
完整性规则
关系系统三类完整性的实现
参照完整性的实现
什么是数据库的完整性
指数据的正确性和相容性
防止不符合语义的数据进入数据库。
例: 学生的年龄必须是整数,取值范围为14~29;
学生的性别只能是男或女;
学生的学号一定是唯一的;
学生所在的系必须是学校开设的系;
完整性:是否真实地反映现实世界
完整性约束条件定义机制
数据模型的组成部分约束数据库中数据的语义
DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中
完整性检查机制
检查用户发出的操作请求是否违背了完整性约束条件
违约反应
完整性约束条件
完整性约束条件作用的对象
列:对属性的取值类型、范围、精度等的约束条件
元组:对元组中各个属性列间的联系的约束
关系:对若干元组间、关系集合上以及关系之间的联系的约束
静态
对静态对象的约束是反映数据库状态合理性的约束
动态
对动态对象的 ...






