Navigation

    西南IT社区
    • Register
    • Login
    • Search
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 工作机会
    • 活动
    • 项目

    数据的底层逻辑

    极客生涯
    数据的底层逻辑
    1
    1
    23
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 水灵
      水灵 last edited by

        我们身处在信息时代之中,在这之中最能够明显感受到的一点就是密集数据的大量爆发,人们积累的数据也随之增多。这些庞杂的数据一时间出现在一起,传统使用的很多数据记录、查询、汇总工具变得不能满足人们的需求。从而出现很多更有效的将这些大量数据处理,让计算机听懂人类需要的数据效果,从而形成更加自动化、智能的数据处理方式。

        为了处理这些海量数据,出现了各种各样的大数据引擎、搜索引擎、计算引擎和3D引擎等,这些引擎的出现被用以更好解决数据庞杂带来的一些人工无法处理的问题。而作为其中比较基础的计算公式引擎,是一个在计算程序中负责对数据进行处理的非常核心的部分。后文中我们将展开介绍计算引擎的基本原理、计算链和异步函数构成,并从计算公式引擎的基本概念出发,用我们的表格电子组件作为例子,为大家演示这些内容如何在JavaScript中实现。

        计算引擎大多数时候负责解决数据来源的统计,数据的操作或者数据的管理,并且会将合适的计算结果按照要求给予返回。针对数据处理的目的有所不同,需要返回的内容也会不同,同时也有很对会多应不同的类别。

        为了能够使计算机更好的识别我们需要的处理操作,需要进过编译的过程,将我们书写的语言翻译成机器可以识别的语言。
      2aaa084b-fb0b-44d5-82a3-07d59e80d89f-image.png
        在这中间比较关键的是词法分析和语法分析这两个环节,在这两部分中会将我们的输入逐渐拆分并且转化为程序能够识别出的内容。

        输入内容后,编译器先对内容进行词法分析,在这一步编译器的任务是识别源程序中的单词是否有误,并且在编译程序中实现这种功能的环节被称为是词法分析器。通常词法分析的输出模式是一个个单独的单词符号。

        我们以JS为例,在这个过程中会被分为三个主要部分分别是:分析函数参数、分析变量声明、分析函数声明。语法分析阶段的目的通常是要识别出源程序的语法结构是否错误,这一阶段通常是会发现语法的错误。在这个阶段中,编译器实际处理的是来自词法分析得出的单词符号。

        而在计算公式引擎中用来处理数据的方式和编译原理中处理语言这一环节十分的相似,从实际应用出发实现一个类似Excel的计算公式的计算公式引擎,我们可以采用的思路是从词法分析出发,将完整的长串公式语句拆分成小块内容,然后再进行语法分析,最后对生成语法结构树进行运算。接下来让我们一起看看细节如何实现。
      39e78b46-a0ee-4bdf-9c48-771c5a9cf32c-image.png

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      使用HTML构建办公软件 使用HTML构建办公软件 使用HTML构建办公软件
      1
      光
      A
      庆
      小
      U
      Y
      L
      I
      Z
      I
      Y
      C
      Z
      E
      Y
      U
      I
      A
      Z
      Y
      Y
      罗
      R

      西南地区IT社群(QQ)
      云南
      【昆明网页设计交流吧】243627302
      【昆明nodejs交流吧】 243626749
      【VUE】838405306
      【云南程序员总群】343606807
      【昆明UI设计】104031254
      【云南软件外包】15547313
      贵州
      【PHP/java源码/站长交流群】55692114
      四川
      【成都Java/JavaWeb交流】86669225
      【vaScript+PHP+MySql】116270060
      【UI设计/设计交流学习群】135794928
      重庆
      【诺基亚 JAVA游戏博物馆】 559479780
      【PHP,Java,Python,C++接单】 442103442
      西藏
      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      ©2019-2021 滇ICP备20006698号