关于前端开发的一些心得

本贴最后更新于 2286 天前,其中的信息可能已经沧海桑田

最近在做一些前端的工作,有一些小小的心得,在此和大家分享一下。

之前一直在做服务端的开发,对前段的开发只是停留在js操作dom节点,提交ajax请求等一些初级的操作,并没有对整个js前段开发做系统的理解,开发的思路也晚上是后端的思路,所以这次吃亏也就是在这个方面了。

这次做的工作是,后端服务通过mr对日志做处理,通过前段展现,包括表格展现和图形展现。 我对表格和图形做了一些封装,通过amd做成了插件(之前是做成jquery插件了,由于js太多,为了能够很好的管理和做异步加载,所以改为amd模块结构了)。插件的实现基本上都是传入后端的rest服务,通过ajax请求到数据后进行组装。问题来了,由于我的思路一直停留在后端服务的思路上,表格和图形的组装,都是和数据相关的,所以必须等待service返回数据后才能做表格和图形数据的组装。所以所有插件的ajax请求都必须同步请求,等待数据返回之后,再做组装。这样,整个js就变成同步了。这个在后端service请求快的情况下,其实也没有什么太大的问题,但是因为后端请求的一些数据,是从hdfs经过mr处理之后,生成一些基本的mongo数据表,然后通过mongo的mr生成目标缓存表来实现了。所以,如果请求发现自己访问的缓存表不存在,就会去执行mongo的mr去临时生成目标缓存表,这个过程是比较漫长的。这样就造成了,整个前段卡死在那里,整个浏览器都没有办法操作了。

要是不改变思路,这个问题是没有办法解决的。所以只能抛弃之前服务端开发的思路。比如在生成表格的时候,之前是需要将所有的数据返回后再做组装。现在就需要改变想法,整个表格在ajax请求钱就将除tbody

部分生成好,ajax做请求的时候,返回一部分数据,就组装一部分。这样,就可以将ajax请求改为异步,前段也不会处于卡死的状态了。想法其实很简单,但是在原有的基础上做修改就不是那么容易了。因为之前ajax请求后success返回的是整个数据集,然后我对整个数据集做操作,组装table。现在我们必须让他一列一列的返回数据集(因为目前表格中每列的数据来自于不同的数据源),然后返回一列,就组装一列的数据。

整个修改过程很沉重,如果我之前能有前段开发的一点经验或者思路,也就不会造成这样的重复劳动了。才疏学浅啊。

  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    245 引用 • 1338 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 213 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 5 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 408 回帖 • 487 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 234 关注
  • 倾城之链
    23 引用 • 66 回帖 • 159 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 44 关注
  • danl
    163 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 13 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    84 引用 • 324 回帖 • 1 关注
  • OneDrive
    2 引用 • 3 关注
  • AWS
    11 引用 • 28 回帖 • 10 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 259 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 1 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖 • 2 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2040 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 444 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 758 关注
  • gRpc
    11 引用 • 9 回帖 • 89 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 652 关注
  • 笔记

    好记性不如烂笔头。

    311 引用 • 796 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 568 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    169 引用 • 3834 回帖 • 1 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 45 关注
  • Follow
    4 引用 • 12 回帖 • 8 关注