任务列表(Task Board)
1 2018年11月21日
- 将“评论模块”使用 Vue 和 ElementUI 重构一遍
- 尝试重构“知乎日报”
- 从产品的角度设计自己的知乎日报,尝试在市场发布 :)
2 2018年11月19日
使用 Vue 组件的方式,实现以下功能:

要求:
- 使用 Vue 实现
- 使用组件
- 用户输入用户名和评论,点击按钮后,评论发布成功
- 用户名和评论都不能为空
- 将用户名缓存到本地的 localStorage 里面,如果刷新页面,直接使用上次缓存的名字
- 将评论列表的内容也缓存到本地 localStorage 里面。首次加载页面,先到缓存里读取并渲染,如果有修改,那么缓存也要更新
- 实现评论的删除功能
3 2018年11月14日
4 2018年11月12日
为下面项目增加两个功能:
- 通过 Excel 批量上传
- 将数据批量导出为 Excel

5 2018年10月31日
- 复习,验证+国际化
- 实现一下,在页面上通过点击动态改变语言的功能
- 预习,Spring 中的异常处理
- Petstore 项目,务必在周五之前完成,提交。分值 10
6 2018年10月25日
- 复习
- 认真 筹划个人项目
- 预习 RESTful
- 预习 Spring MVC 如何返回 JSON
7 2018年10月19日
根据文档 https://wenku.baidu.com/view/ee2c760f581b6bd97f19eac8.html 中介绍:
- 了解物流配送的基本业务流程
- 学习其数据库设计的方式
- 按照介绍,创建表,插入必要测试数据
- 创建 Maven 项目,使用 Mybatis Generator 为此数据库生成相应文件
要求:
- 将创建的项目放到自己的 github 上,起为 distribution !
- 将建库的脚本放到项目根目录
- 使用 Maven 构建项目,单模块即可
- 注意 编码规范
- 周一上课前务必完成
- 杜绝抄袭、应付
8 2018年10月18日
- 预习 Mybatis-Generator
- 预习 mybatis 的 pageHelper 插件
9 2018年10月09日
- 复习今天所学内容
- 预习 Maven,了解 Maven 中的基本概念,以及运行原理
- 尝试使用 Maven 重构 bookstore 项目
10 2018年10月08日
- 使用 xml 的方式构建 BeanFactory
- 使用 Annotation 的方式构建 BeanFactory
- 完成项目单例模式的改造(静态内部类)
- 了解 Spring 的基本实现原理
11 2018年09月29日
写一个方法,实现算法:
求取字符串中出现的第一个非重复字符。
比如, "hello" 中的 h, "hello, how r you?" 中的 e
要求,有思路,有代码。
使用 TDD 的方式,实现一个 StringUtil 类,至少包括以下方法:
- rotate, rot13加密解密。比如 StringUtil 加密后的结果为 FgevatHgvy,Hello 加密的结果为 Uryyb。
- reverse, 翻转一个字符串
- isEmpty, 检查一个字符串是否为空(包括 null 的判断)
12 2018年09月28日
- 将之前任务 漂漂亮亮 地完成。请务必完成!
- 预习
junit
和tdd
的知识
13 2018年09月26日
整合 SSM 框架,增加功能 添加图书,要求逻辑是这样的:
- 第一次用户请求,返回一个页面,即添加图书的 form 表单
- 用户添加书籍信息后,点击提交,是第二个请求
- 如果书籍不存在(根据 name 判断),那么添加新的书籍
- 如果书籍已经存在,那么,更新已经存在的书的库存 (cnt)
- 创建一张表
ssm_log
,用来保存用户的所有操作,即任何要对数据库进行改动的操作,都要记录到这张表中 - 测试一下,添加
@Transactional
与否,对结果的影响
复习今天内容,整理 java 日志框架方面的知识
14 2018年09月18日
- 复习今天所讲,认真总结笔记(今天的笔记已经更新到了 mysql 页面中)
- 将插入随机数据的存储过程中的生成随机字符串功能分离到单独的函数中,完毕实现
- 之前的作业,没完成的赶紧完成
新的作业,行列转换
-- 表中的数据是这样的 INSERT INTO `t_score` VALUES ('王海', '语文', '86'), ('王海', '数学', '83'), ('王海', '英语', '93'), ('陶俊', '语文', '88'), ('陶俊', '数学', '84'), ('陶俊', '英语', '94'), ('刘可', '语文', '80'), ('刘可', '数学', '86'), ('刘可', '英语', '88'), ('李春', '语文', '89'), ('李春', '数学', '80'), ('李春', '英语', '87');
要求查询的结果是这样:
Name Chinese Math English score 刘可 80 86 88 254 李春 89 80 87 256 王海 86 83 93 262 陶俊 88 84 94 266 TOTAL 343 333 362 1038 方法不拘,但是要思考,要实现。
15 2018年09月14日
- 一、测试 jdbc 中连接关闭的时机
- 写一段程序,测试 jdbc 连接的关闭情况
- 使用 show processlist 查看所有数据库连接
- 测试调用 conn.close 之后,连接的变化情况
- 测试如果不写 conn.close 而是调用 System.gc() 之后,连接的变化情况
- 测试如果不写 conn.close 而是让程序执行完或退出,连接的变化情况
- 思考为什么必须要手动写 conn.close 语句释放资源
- 思考为什么要手动释放 resultset 和 statement
- 二、创建一张表,插入随机的 10w 条数据
- 使用 存储过程 的方式插入数据,存储过程的参数是插入数据的条数
- 需要使用到生成随机字符串的功能,使用一个 函数 来实现
- [扩展,可选] 了解 out 类型的参数
- [扩展,可选] 了解游标的使用
- [扩展,可选] 使用 jdbc 调用 mysql 存储过程,详细了解
- 三、了解 echart 插件
- http://echarts.baidu.com/
- [扩展,可选] 使用 echart + jdbc 将 lagou_position 中相关统计数据进行可视化渲染
16 2018年09月13日
- 表的分割已更新到笔记!请 认真复习!
- 总结分割方法!存入 github HomeWork 仓库下的
migrate.md
文件!至少500字! - 前几次的作业,没做完的花点功夫补一下。
- 扩充题(选做):
- 使用存储过程完成数据表的处理
- 使用 jdbc 完成数据表的处理
17 2018年09月12日
- 复习今天所学
- 勤加练习,手眼心要协调
- 将 lagou_position 表分离出 company 和 city 两张表
将任务“查询出所有广东省的市、县”做思路总结,并发布在 github
仓库名为 HomeWork, 在根目录创建文件 join.md,使用 markdown 语法编辑文件
18 2018年09月11日
- 请大家亲手把 jdbc 迁移数据的代码敲一下,谢谢。
- 为 lagou_position 进行数据清理
- 了解三大范式,对 lagou_position 进行分表处理
- 先进行简单查询:
- 查询全国工资最高的50个职位
- 查询平均工资最高的企业
- 查询每个城市的平均工资,并排序
- 查询每个城市 Java 工程师的平均工资,并排序
- 全国各省公司的分布情况(数目、融资、规模)
- 全国各省招聘岗位的需求情况(数目、平均工资)
- 各大语言的需求情况(Java. .net. 前端)
- 了解 echart 的使用
19 2018年09月07日
预习整理 mysql 相关知识
- 常用函数, 字符串/数值/逻辑运算函数等
- 存储过程的定义,如何使用 jdbc 调用存储过程
- 函数与触发器
将 lagou.db 里的数据,迁移到 mysql 数据库
第一步、使用这两种方式:
- 首先,尝试使用数据导入导出的方式实现
- 其次,使用 jdbc 的方式,实现数据的迁移
第二步、导入 mysql 成功之后:
- 清理无效数据。position/salary 等字段为空,说明数据是不完整的,需要被清理
- 删除重复数据。如果两条数据存在重复,只保留其中一条
第三步、将给定的表按照范式进行分表处理,至少 要分为两个表
- position 工作表
- company 公司表
- 其他表
根据这个购物小票,为其设计数据库结构

20 2018年08月23日
- 明天填坑 WebSocket,请没预习的预习
- 请大家重视并认真完成之前安排的作业
阶段性作业:
仿照 BookStore 自行实现一个项目,可选主题为 香水,汽车,手机。
请大家尽力完成,辛苦班委和组长做好协助、督促。
要求:
- 使用 bootstrap 进行页面渲染,请自行选择其他的 bootstrap 主题,尽量不要用我们课堂上演示使用的。当然,如果你想不使用主题而是自己布局,那就更好了。不过界面要尽量美观大方
- 使用 sitemesh 对页面进行切割布局
- dao 层可以暂时使用 InMemory 方式实现,但是必须要有接口跟实现类
- 要包含 完整的增删改查 功能
- 以上是硬性要求。之外,请大家尽量多发挥
提交:
- 在 github 上创建仓库,并将作业上传
- 仓库的命名规范: homework-你的名字拼音。比如 homework-mayun。请大家不要搞错
- 请将项目完成的效果图,以及创建项目的 idea 截图,放到项目根目录,一并上传到 github
21 2018年08月21日
鉴于目前大家任务完成情况不甚乐观,咱们现在暂时再慢一下
- bootstrap + sitemesh + servlet,理解、掌握
- 使用 JSTL 替换 JSP 中 Java 代码
- 练习 bootstrap modal 使用。将“书籍更新”改为传递id、ajax 形式获取书籍、JS填充方式
- 有余力的同学,尝试使用 ajax 方式实现整个 book_list.jsp
22 2018年08月20日
- 多敲代码
- 练习并总结,如何使用 bootstrap + sitemesh + servlet 快速搭建网站,实现完整的增删改查功能
- 将 jsp 中所有的 java 代码替换为相应的 jstl 表达式
- 将书籍的修改,改为弹出页面的形式完成
- 预习登录、注册功能
23 2018年08月16日
- 请大家务必 认真、仔细 并 亲手 将今天的示例代码敲打一遍
- 遇到问题要问,不丢人。以后找工作的时候还不会才丢人。。。
- 希望每个人都能真正理解
session
的含义,并可以自己实现 - 有余力的同学,请对照 servlet 中
HttpSession
的定义,进一步完善对我们的代码
24 2018年08月14日
- 复习 Java 中内部类、静态内部类、枚举类的知识
- 充分复习单例模式的概念跟使用,做好总结与笔记
- 明天会示例建立基本web工程。页面渲染分别用 jsp 和 ajax 形式。
- 有余力者,了解数据库,SQLITE/MySQL
25 2018年08月13日
- 总结并整理 Java 中随机数获取的方案
- 复习多线程相关知识,整理笔记中面试题答案
- 亲手写代码,验证
StringBuffer/StringBuilder/String
区别,理解 线程安全 概念。务必做好笔记 - 了解预习 单例模式 的概念
26 2018年08月10日
- 写代码理解 equals/== 的区别
- 学习并总结
StringBuffer/StringBuilder/String
的区别(到时候希望有人能上台讲述) - 了解原生的 XMLHttpRequest 以及 FetchAPI 的使用,务必整理笔记
- 了解 HTTP 协议的基本知识,包括请求流程、请求方法等
- 了解 Servlet 接口的实现,思考总结“接口设计~实现”分离的好处
- 其他,好像还有,暂时忘了。。。
27 2018年8月9日
通过 Idea 创建一个项目,名字为 hello_module:
- 项目类型为 Web 项目
- 需要额外添加模块,至少有 dao、service、entity 模块
- 为各个模块设置好依赖关系
- 上传项目到自己的 github
之后通过以上项目,复习:
@WebServlet
@WebFilter
@WebListener
jstl
另外:
什么是解耦? 对项目划分为多个模块这种做法你有什么看法?优势、劣势有哪些?做个总结到自己的笔记。
28 2018年8月8日
- 如何让 github 项目 免密码 同步
- emmet 工具的基本使用,总结
- markdown 语法的基本总结
- viewport 的基本原理以及使用
29 2018年8月7日
- 使用 intellij idea 创建一个项目并配置运行(Tomcat)
- 添加 .gitignore 并将项目发布到 github 服务器
- 预习 WebSocket 的来龙去脉,以及简单使用
- 预习 Java 中定时任务的使用方式(Timer)
30 2018年8月6日
- 学习 Intellij Idea 的基本使用
- 学习使用 Intellij Idea 搭建基本项目
- 整理 Intellij Idea 的快捷键