大屏踩坑,火花启蒙
2023-10-28 20:20:02
踩坑经历
坑一:对大屏一无所知
刚开始做大屏的时候,我对大屏一无所知。什么是大屏?大屏有什么用?大屏怎么开发?这些问题我统统不知道。
为了搞清楚这些问题,我开始上网查资料,看博客,看视频。但是,这些资料大多都是一些理论性的东西,对实际开发帮助不大。
后来,我终于找到了一篇比较实用的文章。这篇文章介绍了如何使用 Apache ECharts 开发大屏。这篇文章写的非常好,我按照文章中的步骤一步一步地操作,终于做出了我的第一个大屏。
坑二:数据不一致
做完第一个大屏后,我信心大增。觉得自己已经掌握了大屏开发的窍门。于是,我开始着手开发第二个大屏。
这次,我选择了一个更复杂的数据源。数据源中的数据量很大,而且数据结构也很复杂。
在开发过程中,我遇到了一个问题。数据不一致。
我用 Python 从数据源中提取数据,然后用 ECharts 将数据可视化。但是,当我在 ECharts 中查看数据时,发现数据与我在 Python 中看到的數據不一致。
这个问题困扰了我很久。我反复检查代码,但还是没有找到问题所在。
最后,我终于发现了问题。原来,问题出在数据清洗上。
我在 Python 中对数据进行了清洗,但是我没有把清洗后的数据保存下来。当我在 ECharts 中查看数据时,ECharts 使用的是未清洗的数据。
这个问题解决后,我的大屏终于能够正常显示数据了。
坑三:性能太差
我的第二个大屏做好了,但是性能太差了。
大屏的数据量很大,而且数据结构也很复杂。在加载数据时,ECharts 需要花费很长时间。
为了解决这个问题,我做了两件事。
第一,我优化了数据清洗代码。我将数据清洗代码从 Python 移植到了 Spark SQL。Spark SQL 是一个分布式计算框架,它可以并行处理数据。使用 Spark SQL 可以大大提高数据清洗的速度。
第二,我优化了 ECharts 代码。我在 ECharts 代码中启用了 lazy load 功能。Lazy load 功能可以让 ECharts 在加载数据时只加载一部分数据。当用户滚动大屏时,ECharts 再加载剩下的数据。
这两件事做完后,我的大屏性能有了很大的提升。
坑四:用户体验差
我的第三个大屏做好了,但是用户体验很差。
大屏的数据量很大,而且数据结构也很复杂。用户在查看大屏时,需要花费很长时间来理解数据。
为了解决这个问题,我做了两件事。
第一,我简化了大屏的数据。我删除了不必要的数据,只保留了重要的数据。
第二,我重新设计了大屏的布局。我将数据分组,并使用不同的颜色来区分不同组的数据。这样,用户就可以更轻松地理解数据。
这两件事做完后,我的大屏用户体验有了很大的提升。
收获
在自服务大屏的开发过程中,我遇到了很多坑。但是,这些坑也让我学到了很多东西。从最初的对大屏一无所知,到最后能够独立完成一个大屏的开发,这其中的经历让我成长了很多。
我把这些坑记录下来,希望能够帮助到其他人,少走一些弯路。
除了这些坑之外,我还有一些收获。
收获一:掌握了大屏开发技术
我已经掌握了大屏开发技术。我知道如何使用 Apache ECharts 开发大屏,我知道如何优化 ECharts 代码,我知道如何简化数据,我知道如何重新设计大屏的布局。
收获二:学会了数据清洗
我学会了数据清洗。我知道如何使用 Spark SQL 清洗数据,我知道如何优化 Spark SQL 代码。
收获三:学会了数据分析
我学会了数据分析。我知道如何从数据中提取有价值的信息,我知道如何将数据可视化。
收获四:提升了我的沟通能力
在自服务大屏的开发过程中,我与产品经理、设计师、开发人员进行了多次沟通。我学会了如何与不同的人沟通,如何说服别人。
收获五:提升了我的抗压能力
在自服务大屏的开发过程中,我遇到了很多困难。但是,我没有放弃。我一次又一次地尝试,最终克服了困难。这让我提升了我的抗压能力。
总结
自服务大屏的开发是一个充满挑战的过程。但是,这也是一个很有趣的过程。在自服务大屏的开发过程中,我学到了很多东西。我掌握了大屏开发技术,学会了数据清洗,学会了数据分析,提升了我的沟通能力,提升了我的抗压能力。
我非常感谢自服务大屏项目给我这个机会,让我能够学习到这么多东西。我相信,这些东西将在我的职业生涯中发挥重要的作用。