传智健康day03
第3章 预约管理-套餐管理学习目标:
了解常见的图片存储方案
掌握新增套餐实现过程
掌握套餐分页查询实现过程
掌握编辑套餐实现过程
掌握删除套餐实现过程
1. 图片存储方案【目标】传智健康项目,图片存储方案
【路径】1:介绍
(1)文件上传功能介绍
2:七牛云存储
(1)注册
(2)新建存储空间
(3)查看存储空间信息
(4)开发者中心
文件上传
文件删除
(5)鉴权
(6)Java SDK操作七牛云
(7)封装工具类
【讲解】1.1. 介绍在实际开发中,我们会有很多处理不同功能的服务器。例如:
应用服务器:负责部署我们的应用
数据库服务器:运行我们的数据库
文件服务器:负责存储用户上传文件的服务器
分服务器处理的目的是让服务器各司其职,从而提高我们项目的运行效率。
常见的图片存储方案:
方案一:使用nginx搭建图片服务器
方案二:使用开源的分布式文件存储系统,例如Fastdfs==、HDFS等
方案三:使用云存储,例如阿里云、==七牛云==等
1.2. 七牛云存储七牛云(隶属于上海七牛信息技术有限公司)是国内领先的以视觉智能和数据智能为核心的 ...
传智健康day04
第4章 预约管理-定时任务Quartz、预约设置目标:
掌握Quartz使用方式 什么是quartz 有什么作用?什么时候用?怎么用?
了解什么是Apache POI
掌握Apache POI的使用方法 【重点】
掌握批量导入预约设置信息的实现过程 (预约设置 业务 使用poi) 【重点】
掌握日历方式展示预约设置信息的实现过程 (看前端需要什么数据,后台提供什么数据) 【重点】
掌握基于日历实现预约设置信息的实现过程 【重点】
了解常见的移动端开发方式 混合方式原因
了解微信公众号开发过程
1. 定时任务组件Quartz【目标】定时任务组件Quartz
清除文件上传所产生的垃圾图片
【路径】1:Quart介绍
掌握场景(定时任务)
2:Quartz入门案例
spring整合Quartz(spring中配置)
3:cron表达式
4:cron表达式在线生成器
【讲解】1.1. Quartz介绍Quartz是Job scheduling(任务调度)领域的一个开源项目,Quartz既可以单独使用也可以跟spring框架整合使用,在实际开发中一般会使用后者。使用Qu ...
传智健康day06
第6章 移动端开发-体检预约、手机快速登录学习目标:
了解体检预约流程业务
能够基于阿里云短信服务实现短信发送
掌握体检预约的实现过程【重中之重】
掌握预约成功页面展示的实现过程
了解移动端手机快速登录需求
掌握手机快速登录实现过程
1. 回顾体检预约流程需求用户可以通过如下操作流程进行体检预约:
1、在移动端首页点击体检预约,页面跳转到套餐列表页面
2、在套餐列表页面点击要预约的套餐,页面跳转到套餐详情页面
3、在套餐详情页面点击立即预约,页面跳转到预约页面,使用页面静态化技术
4、在预约页面录入体检人信息,包括手机号,点击发送验证码
5、在预约页面录入收到的手机短信验证码,点击提交预约,完成体检预约
效果如下图:
点击【提交预约】完成预约。
health_web 系统管理员录入检查项, 检查组管理,套餐管理,预约设置
health_mobile, 手机/微信用户户 套餐列表->套餐详情->预约页面
2. 短信发送【目标】能够基于阿里云短信服务实现短信发送
【路径】
短信服务介绍
注册阿里云账号
设置短信签名
设置短信模板
设置acce ...
传智健康day09
第9章 PDF报表
掌握IText实现导出预约订单信息
掌握JasperReport的模板设计器Jaspersoft Studio
掌握JasperReport导出PDF报表
在前面的课程中我们完成了将运营数据导出到Excel文件的功能。在企业开发中,除了常见的Excel形式报表,还有PDF形式的报表。那么如何导出PDF形式的报表呢?
1. 常见的PDF报表生成方式【目标】1:了解iText
2:了解JasperReport
【路径】1:iText报表的使用(需要的坐标)
2:JasperReports报表的使用(需要的坐标)
【讲解】1.1. iTextiText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。
maven坐标:
<!--导入Itext报表-->
&l ...
传智健康day08
第8章 图形报表、Excel报表
了解Echarts
掌握Echarts实现会员数量折线图的实现过程
掌握Echarts实现套餐预约占比饼形图的实现过程
掌握运营数据统计的实现过程
掌握运营数据统计报表导出的实现过程
掌握报表sql语句的编写步骤
1. 图形报表ECharts【目标】了解Echarts
【路径】1:ECharts简介
2:5分钟上手ECharts
3:查看ECharts官方实例
【讲解】1.1. ECharts简介ECharts缩写来自Enterprise Charts,商业级数据图表,是百度的一个开源的使用JavaScript实现的数据可视化工具,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表。
官网:https://echarts.baidu.com/
下载地址:https://echarts.baidu.com/download.html
下载完成可以得到如下文件:
解压 ...
传智健康day07
第7章 系统管理-权限设置学习目标
了解认证和授权的概念
掌握Spring Security入门案例开发过程
掌握Spring Security实现认证的过程
掌握Spring Security实现授权的过程
1. 权限控制、SpringSecurity入门及进阶【目标】了解认证和授权的概念
【路径】1:认证和授权的概念
认证:登录(用户名和密码)
授权:访问系统功能的权限
2:权限模块的数据模型
用户表
角色表
权限表
菜单表
用户,角色是多对多
权限,角色是多对多
菜单,角色是多对多
【讲解】1.1. 认证和授权概念【理解】前面我们已经完成了传智健康后台管理系统(health_web)的部分功能,例如检查项管理、检查组管理、套餐管理、预约设置等。接下来我们需要思考2个问题:
问题1:在生产环境下我们如果不登录后台系统就可以完成这些功能操作吗?
答案显然是否定的,要操作这些功能必须首先登录到系统才可以。(用户登录系统—>认证)
问题2:是不是所有用户,只要登录成功就都可以操作所有功能呢?
答案是否定的,并不是所有的用户都可以操作这些功能。不同的用户可能拥有不 ...
Node 第 7 天笔记
Node 第 7 天1. 学习目标◆ 完成登录功能的开发
◆ 能够获取用户的信息并重置密码和头像
2. 登录功能2.1 实现步骤
检测表单数据是否合法
根据用户名查询用户的数据
判断用户输入的密码是否正确
生成 JWT 的 Token 字符串
2.2 检测表单数据是否合法
将 /router/user.js 中 登录 的路由代码修改进行修改
// 注册新用户
router.post('/reguser', expressJoi(reg_login_schema), userHandle.regUser)
// 登录功能
router.post('/login', expressJoi(reg_login_schema), userHandle.login)
2.3 根据用户名查询用户的数据
接收表单的数据
// 接收表单传递过来的数据
const userInfo = req.body
定义 sql 语句
// 定义 sql 语句
const sql = `select * from ev_users where username=?`
执行 sql 语句,查询用户的 ...
Node 第 8 天笔记
Node 第 8 天1. 学习目标◆ 完成获取文章分类列表的功能◆ 完成新增文章分类的功能◆ 完成根据 ID 删除文章分类的功能◆ 完成根据 ID 获取文章分类的功能◆ 完成根据 ID 更新文章分类的功能◆ 完成发布新文章的功能
2. 新建 ev_article_cate 数据表2.1 创建表结构
2.2 新增两条初始化的数据
3. 获取文章分类列表3.1 实现步骤
初始化路由模块
初始化路由处理函数模块
获取文章分类列表数据
3.2 初始化路由模块
创建 /router/artcate.js 路由模块,并初始化如下的代码结构
// // 导入 express
const express = require('express')
// 创建路由对象
const router = express.Router()
// 获取文章分类的列表数据
router.get('/cates', (req, res) => {
res.send('ok')
})
// 向外共享路由对象
module.exports = router
在 app.js 中导入并使用文章分类的 ...
Node 第 6 天笔记
Node 第 6 天1. 学习目标◆ 前后端的身份认证
◆ 能够了解 Session 的实现原理
◆ 能够了解 JWT 的实现原理
◆ 大事件项目初始化
◆ 大事件注册新用户功能
2. web 开发模式2.1 主流的两种开发模式
基于服务端渲染的传统 Web 开发模式
基于前后端分离的新型 Web 开发模式
2.2 了解服务端渲染的概念以及优缺点
服务端渲染的概念:服务器发送给客户端的 HTML 页面,是在服务器通过字符串的拼接动态生成的。因此,客户端不需要使用 Ajax 这样的技术额外请求页面的数据
服务端渲染的优点
前端耗时少。因为服务器端负责动态生成 HTML 内容,浏览器只需要直接渲染页面即可。尤其是移动端,更省电
有利于SEO。因为服务器端响应的是完整的 HTML 页面内容,所以爬虫更容易爬取获得信息,更有利于SEO
服务端渲染的缺点
占用服务器端资源。即服务器端完成 HTML 页面内容的拼接,如果请求较多,会对服务器造成一定的访问压力
不利于前后端分离,开发效率低。使用服务器端渲染,则无法进行分工合作,尤其对于前端复杂度高的项目,不利于项目高效开 ...
Node 第 5 天笔记
Node 第 5 天1. 学习目标◆ 能够知道如何配置 MySQL 数据库环境
◆ 能够认识并使用常见的 SQL 语句操作数据库
◆ 能够在项目中操作 MySQL 数据库
2. 数据库的基本概念2.1 什么是数据库
数据库(database)是用来组织、存储和管理数据的仓库
为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作
2.2 常见的数据库以及分类
常见的数据库分类下面几种
MySQL 数据库(目前使用最广泛、流行度最高的开源免费数据库;Community + Enterprise)
Oracle 数据库(收费)
SQL Server 数据库(收费)
Mongodb 数据库 (Community + Enterprise)
数据库分类
传统数据库(关系型数据库或SQL数据库)
MySQL、Oracle、SQL Server,这三者的设计理念相同,用法比较类似
新型数据库(非关系数据库或NoSQL数据库)
Mongodb,它在一定程度上弥补了传统型数据库的缺陷
2.3 传统型数据库的 ...
Node 第 4 天笔记
Node 第 4 天1. 学习目标◆ 能够熟练 express 路由的使用
◆ 掌握中间件的使用方式
◆ 能够说出中间件分为哪几类
◆ 了解如何自定义中间件
◆ 能够基于 exprss 写接口
◆ 能够说出解决跨域问题的方法 cors
◆ 掌握如何实现 JSONP 接口
2. Express 路由2.1 路由的概念
路由就是映射关系
根据不同的用户 URL 请求,返回不同的内容
本质:URL 请求地址与服务器资源之间的对应关系
2.2 Express 中的路由
在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系
Express 中的路由分 3 部分组成,分别是请求的类型、请求的 URL 地址、处理函数
Express 中的路由的例子
2.3 路由的匹配过程
每当一个请求到达服务器之后,需要先经过路由的匹配,只有匹配成功之后,才会调用对应的处理函数。
在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的 URL 同时匹配成功,则 Express 会将这次请求,转交给对应的 function 函数进行处理。
...
网络爬虫开发
网络爬虫开发第1章 课程介绍
什么是爬虫
爬虫的意义
课程内容
前置知识
什么是爬虫可以把互联网比做成一张“大网”,爬虫就是在这张大网上不断爬取信息的程序
所以一句话总结:爬虫是请求网站并提取数据的自动化程序
爬虫的基本工作流程如下:
向指定的URL发送http请求
获取响应(HTML、XML、JSON、二进制等数据)
处理数据(解析DOM、解析JSON等)
将处理好的数据进行存储
爬虫的意义爬虫就是一个探测程序,它的基本功能就是模拟人的行为去各个网站转悠,点点按钮,找找数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。
你可以简单地想象:每个爬虫都是你的“分身”。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。
你每天使用的百度和Google,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,存到数据库中等你来检索。
抢票软件,就相当于撒出去无数个分身,每一个分身都帮助你不断刷新 12306 网站的火车余票。一旦发现有票,就马上下单,然后对你喊:大爷快来付款呀。
在现实中几乎所有行业的网站都会被爬虫所 “骚扰”,而这些骚扰都是为了方便 ...