今年步入大三回望这半年来我学到了哪些:
一.首先第一次接触偏进工程的大项目
里边的很多东西不能再像小项目一样随便了,规范很重要;
这里列出另一个项目的目录: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经典三层架构;(还有各种框架应该都有所了解并实例运用)
包括2016国产的前端layui框架;
这学期也参加了个Java的比赛,重温了一下相关算法;
c#语言,python语言;