2019后半年学期总结

今年步入大三回望这半年来我学到了哪些:

一.首先第一次接触偏进工程的大项目

里边的很多东西不能再像小项目一样随便了,规范很重要;

这里列出另一个项目的目录:view视图放jsp;static放css与js;接口与实现

还有就是查询:(类似知网)

分类树查询;

高级检索,多条件查询;

 一框式查询(高亮显示);

对查询结果的二次查询(还没有实现);

二.再就是接触到了大数据的清理以及处理分析;

第一次碰见一个文件大到连打都打不开,对文件的内容一无所知(给出了样例,不过我没想到给的数据仍需要清理,我当时多少次以为自己的代码错了),操作起来心里也是没有底的;

大数据来了也是需要清洗的,这时候就要对每一行的数据进行划分(split);

其中常见的对时间,url的处理,爬下来的这些数据基本差不多,所以清理函数也差不多(注意积累自己的方法);

附我一篇清理数据的样例博客:使用mapreduce清洗简单日志文件并导入hive数据库

 三.数据清理完了就是可视化展示了

这里调用的是百度提供的接口echarts(当然谷歌等都会提供自己的接口);

将分析完的数据存入数据库,然后前端调用显示;

这里也是学到了好多前端的东西:

jQuery:一个简洁而快速的 JavaScript库;可以使用里边现成的方法,非常方便;例如一个简单的运用js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数

Ajax:是一种客户端 Web 开发技术,用于生成交互式 Web 应用程序;附上Ajax学习

json:一种基于 JavaScript 语法子集的开放标准数据交换格式。JSON 是基于文本的,轻量级的,通常被认为易于读/写。

四.python对数据的爬取

用什么语言写爬虫?

C,C++:高效率,快速,适合通用搜索引擎做全网爬取。缺点,开发慢,写起来又臭又长,例如:天网搜索源代码。

脚本语言:Perl, Python, Java, Ruby。简单,易学,良好的文本处理能方便网页内容的细致提取,但效率往往不高,适合对少量网站的聚焦爬取

这里我选择python:

语言接触的多了,学习python其实挺好理解的,很容易上手;

不过开始要适应一下Python中的缩进:Python中的缩进决定了代码的作用域范围。这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号花括号{}符决定作用域的范围;python使用缩进空格来表示作用域的范围,相同缩进行的代码是处于同一范围);所以代码一定要规范。

简单爬虫示例:python爬虫实例——爬取歌单

五.设计模式

首先复习一下面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。

其实那么多的设计模式,那么多的实验;做下来没什么感觉,可能目前的项目用不到所以体会不到设计模式的妙处。

不过七大原则结合当前的项目倒是有些许体会;依赖倒转原则与合成复用原则---实例

设计模式原则名称简单定义
开闭原则 对扩展开放,对修改关闭
单一职责原则 一个类只负责一个功能领域中的相应职责
里氏代换原则 所有引用基类的地方必须能透明地使用其子类的对象
依赖倒转原则 依赖于抽象,不能依赖于具体实现
接口隔离原则 类之间的依赖关系应该建立在最小的接口上
合成/聚合复用原则 尽量使用合成/聚合,而不是通过继承达到复用的目的
迪米特法则 一个软件实体应当尽可能少的与其他实体发生相互作用

六.杂项

学习了解了一下MVC框架模式和Javaweb经典三层架构;(还有各种框架应该都有所了解并实例运用)

以及C++ STL(标准模板库)的学习了解

包括2016国产的前端layui框架;

这学期也参加了个Java的比赛,重温了一下相关算法;

c#语言,python语言;

原文地址:https://www.cnblogs.com/sengzhao666/p/12031208.html