从想法到完成项目的历程

datasupporter数据分析及展示

为什么做该项目

从三月开始一直在筹备该项目,想法源自于去年一次Android课老师展示天气预报的一次实例,发现日常生活中的场景原来是这么实现的,勾起了我的好奇心。但由于当时即将毕业,面临着各种各样的问题,想法也就不了了之了。几个月之后要做毕业设计了,我想着正好借这个机会来完成这次想法。感谢在选择课题时导师的引导,因为当时我并不知道要做的是什么方向的,只知道要做个天气预报和路况信息相关的。老师是非常耐心的讲解了相关知识,我记得好像有三四个小时,有幸解了数据分析相关知识,确定了毕业设计要做的方向。而当时我也有疑问为什么后面会谈到经济。经过之后翻看资料发现数据分析算是核心的步骤是偏向金融领域。感叹老师的用心和知识渊博。

项目简介

项目域名:datasupporter.cn。 该项目的目的:顾名思义,为使用者提供需要的数据。主要围绕数据获取-数据分析-数据展示的思路来完成。项目主要通过爬虫来获取数据,python和相关库来整理数据和分析。mysql存储数据。前端通过bootstrap,echarts,js来完成交互和展示。项目的完成当然少不了我同事和朋友的鼎力支持,解决了很多前端问题。

项目展示

在这里插入图片描述

项目导航

在这里插入图片描述

搜索框,搜索相应城市的天气预报
在这里插入图片描述

在这里插入图片描述

数据展示,为使用者提供可视化数据,帮助做精准的决策。

在这里插入图片描述

租房搜索,通过不同条件搜索相应的租房信息。
在这里插入图片描述

图书推荐,目前只是我推荐的书籍,不确定要做成什么形式的推荐图书功能。
在这里插入图片描述

产生的问题与优化

该项目属于数据分析方向,对我来说是一个新的领域。我是看了一个demo看了本python从入门到实践就开始做了。中间遇到了很多问题,也产生了很多思考。

1.项目结构

与其说项目结构,不如说设计模式,我是按照java的mvc模式来编写代码的。由于用的flask框架写的项目不同于spring相关框架。出现了一个很严重的问题,不利于扩展… 这简直是给该项目判了死刑,我终于体会到改一个功能而动全身的尴尬。我感觉就是设计模式没学好。好好的利用对象,抽象等概念会让项目更利于扩展。

2.项目部署

对于只部署过一次项目的我,又要部署一个flask项目可真是难为我了。第一,买过服务器后我根本不知道从什么地方开始… 开始面向百度和同事了 哈哈。第二,项目在本地运行正常,但到服务器后就开始莫名其妙的错误了,比如前端有些请求明明代码和本地一样,但到服务器后就是时不时的请求出错,谨记项目部署时一定要集成日志。不然错都不知道哪错了。

3.项目优化

第一:租房页面开始是显示将近几百条租房信息,打个比方,一张图片1M,1000张图片就是1个G,严谨点是1024张图片 哈哈。想下一个人访问这个页面就需要1个G,那服务器得需要多大的带宽。这时其中一个优化策略可以使用懒加载来在可视化范围内加载图片,并且后端也做分页功能就会好很多,而不是一次把整个数据集都传送到前端。
第二:mysql,我遇到的问题mysq在本地时运行速度正常,但到服务器后运行速度慢的不止一两倍,初始化查询时需要请求20多秒才能完成,显然是不可取的。解决:我通过ID主键来截断查询,使用between来查询一个范围(between会使索引失效),因为用户一次也不可能把全部数据都看完。

思考

做项目过程中,发现了一些问题,也产生了一些思考。从IT发展的角度来看:前后不分离-前后分离,单一本地-分布式,微服务,再到如今火热的区块链,想想这之间发生了什么?
其中一个问题:面对越来越多的需求,单一职责已经很难满足现有的功能了,项目的发展在趋向于去个人化,去中心化。反观社会的发展似乎也在趋于合作更重要。一些事个人完成不是不可以,而是困难程度要比团队难不止一星半点。
优势:把各个模块分开来不同的人开发对大型项目显然是最优的选择。各分其责,把大问题分解成各个小问题逐步解决,常听到的分而治之的思想。
劣势:交流的复杂性。当前后分离时,怎么规范更有效的开发文档。当分布式时,选择哪种最优的方案解决数据不一致,高可用。开发周期不同人员如何协作交流来有效的完成项目。
关于交流举个例子:回顾清朝末年,为什么在康乾盛世之后清朝迅速走向衰退,
第一:没有看到世界发展的趋势,在当时清朝还在沉浸在我天朝大国时,西方已经完成工业革命,并走向现代化国家制度。
第二:平民和官员之间没有个良好的交流方式,当时一些思想先进人士提出开国会,主要意识到如大小官司无所卸其责,草野小民无所积其怨,王朝不会一朝而灭。
沟通的重要性,前端与后端的沟通,通过开发文档规范来约定。分布式通过CAP理论来选择最优策略,开发人员与项目经理之间的沟通,项目负责人与客户之间的沟通。我觉得良好的沟通可以解决大量本不该发生的问题。

最后

项目之后会开源到github,有时间还会继续优化个别功能和更新。目前打算系统学习数据分析相关知识主要是基于兴趣,打算先从爬虫开始。该项目其实也在督促自己别忘了继续努力学习,加油!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值