一、学习计划

根据对Web知识层次的梳理,我觉得可以把它分别以技术和思想两个维度进行分类。从技术维度上讲,Web知识有内容、结构、样式、操作(静态的修改与动态的修改(动态,例如使用定时器))、交互(与浏览器以及硬件设备)、数据处理(增删改查、算法使用)、请求与通信、BUG调试这些层面。只有讲这些掌握,才能完成开发需求。而从思想维度上讲,完成技术维度中的种种过程,可以使用不同的方法完成,高级的编程思想以库和框架的形式被封装备用。这些库和框架可以将写好的代码提升开发效率、优化开发逻辑、大幅提升性能。

二、Web知识层次

  • 技术维度

     

    • 内容、结构以及相关操作

      • 静态内容与结构:

        • Html:Html语言,是超文本标记语言,使用标记标签标记纯文本。它不是编程性语言,它决定了一个网页的内容而不是功能。该语言构建了网页的结构和内容。
      • 动态内容与操作:
        • DOM(文档对象模型):DOM 是一个 可以访问和修改当前文档的 API。DOM 提供了一种表述形式——将文档作为一个结构化的节点组(Node和Element)以及包含属性和方法的对象。它所提供的API可以为JS等语言提供能力去访问和操作这些节点(Node和Element)的属性和方法。HTML,XML 和 SVG 都扩展了基本的 DOM 接口来操作它们各自私有的元素类型。(本文特指用JS去操作HTML)

          • 图形化编程:在文档中建立一个相应标签(canvas、svg),可通过DOM API直接生成图像,通过JS定时器以及API操作,可以生成强大的Web动画;
        • 模板引擎(本文特指JS):是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
          • 描述:模板引擎不属于特定技术,是跨领域的技术。PHP、.ASP、C#、Javascript等都有属于自己的模板引擎。由于本文背景只涉及JS一种编程语言,所以本文中模板引擎将特指Js模板引擎。
          • 实现方式:
            • 置换型:模板引擎的实现方式有很多,最简单的是“置换型”模板引擎,这类模板引擎只是将指定模板内容(字符串)中的特定标记(子字符串)替换一下便生成了最终需要的业务数据(比如网页)。
            • 其他:置换型模板引擎实现简单,但其效率低下,无法满足高负载的应用需求(比如有海量访问的网站),因此还出现了“解释型”模板引擎和“编译型”模板引擎等。
    • 样式
      • 静态样式:

        • CSS:CSS样式表(除C3动画外的部分用来控制页面内容展示的样式,可通过选择器选中HTML元素,并为他设置样式)
      • 动态样式:
        • C3样式动画:可根据样式变化生成补间动画;
        • JS定时器:可利用定时器操作DOM,生成样式的变化;
    • 浏览器以及硬件接口访问与交互
      • 例如触控事件、全屏、地理位置访问、浏览器滚动等与浏览器以及硬件设备的交互行为;
      • 事件冒泡
      • 事件委托
    • 内容数据与状态数据的处理
      • 利用JS算法对内容数据和状态数据进行有目的的增删改查;
    • 内容数据与状态数据输入与输出
      • 本地:利用JS与本地数据(用户输入数据、缓存数据)控制内容数据与状态数据的更新;
      • 云端请求与通信:利用HTTP请求与后端进行交互,进行内容数据与状态数据的更新;
    • 调试
      • 利用调试工具(例如浏览器调试工具)对样式与功能进行调试;
  • 思想维度

     

    • 普通

      • 原生原理的理解与原生代码驾驭
      • API使用
      • 算法实现
    • 方法的升级与性能的优化
      • JS高级(函数封装)
      • 库与框架的使用
      • 库与框架的封装

参考资料:

(1)超文本标记语言Html详解:

    上:http://blog.csdn.net/a464057216/article/details/52226285

    下:http://blog.csdn.net/a464057216/article/details/52332548

(2)HTML5:https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5

【从html到算法框架】科技白学习计划书的更多相关文章

  1. 强化学习(十七) 基于模型的强化学习与Dyna算法框架

    在前面我们讨论了基于价值的强化学习(Value Based RL)和基于策略的强化学习模型(Policy Based RL),本篇我们讨论最后一种强化学习流派,基于模型的强化学习(Model Base ...

  2. 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架

    目录 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构. 文章目录 @ 一.知识图谱商业应用 01 唯品金融大数据 02 PlantData知识图谱数据智能平台 03 ...

  3. 机器学习算法总结(三)——集成学习(Adaboost、RandomForest)

    1.集成学习概述 集成学习算法可以说是现在最火爆的机器学习算法,参加过Kaggle比赛的同学应该都领略过集成算法的强大.集成算法本身不是一个单独的机器学习算法,而是通过将基于其他的机器学习算法构建多个 ...

  4. 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别

    一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...

  5. 机器学习框架ML.NET学习笔记【3】文本特征分析

    一.要解决的问题 问题:常常一些单位或组织召开会议时需要录入会议记录,我们需要通过机器学习对用户输入的文本内容进行自动评判,合格或不合格.(同样的问题还类似垃圾短信检测.工作日志质量分析等.) 处理思 ...

  6. 机器学习框架ML.NET学习笔记【2】入门之二元分类

    一.准备样本 接上一篇文章提到的问题:根据一个人的身高.体重来判断一个人的身材是否很好.但我手上没有样本数据,只能伪造一批数据了,伪造的数据比较标准,用来学习还是蛮合适的. 下面是我用来伪造数据的代码 ...

  7. 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录

    一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...

  8. 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)

    一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...

  9. 机器学习框架ML.NET学习笔记【6】TensorFlow图片分类

    一.概述 通过之前两篇文章的学习,我们应该已经了解了多元分类的工作原理,图片的分类其流程和之前完全一致,其中最核心的问题就是特征的提取,只要完成特征提取,分类算法就很好处理了,具体流程如下: 之前介绍 ...

随机推荐

  1. 我的屌丝giser成长记-工作篇之A公司

    A公司是我研究生毕业的第一家GIS公司,一家专门做GIS应急的公司,接的项目还是可以的.A公司的项目框架GIS部分采取的是flexviwer,当然最近一两年来,flex技术在gis行业慢慢的被淘汰了, ...

  2. React Native:使用 JavaScript 构建原生应用

    [转载] 本篇为联合翻译,译者:寸志,范洪春,kmokidd,姜天意 数月前,Facebook 对外宣布了正在开发的 React Native 框架,这个框架允许你使用 JavaScript 开发原生 ...

  3. [转]ThoughtWorks(中国)程序员读书雷达

    http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/#rd?sukey=f64bfa68330 ...

  4. css之浮动

    标准文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流.每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 标准流的微 ...

  5. 在DBeaver中phoenix查询报错:org.apache.phoenix.exception.PhoenixIOException: The system cannot find the path specified

    环境:Phoenix:4.4,win7系统 问题:Phoenix在查询hbase时,报"系统找不到指定路径". 解决: 请参见 https://distcp.quora.com/C ...

  6. sql 优化

    1.选择最有效率的表名顺序(只在基于规则的优化器中有效): oracle的解析器按照从右到左的顺序处理 from 子句中的表名,from子句中写在最后的表(基础表driving table)将被最先处 ...

  7. zabbix-3.0.3 mysql表分区的方法

    目的:解决mysql空间越来越大,mysql性能出现瓶颈,zabbix会无端出现大量agent超时报警 中间遇到一个mysql问题:5.1版本的mysql不支持分表(其实是支持的,需要重新编译mysq ...

  8. java日志组件介绍(common-logging,log4j,slf4j,logback )

    转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...

  9. C语言文法

    C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明   → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...

  10. Java开发的几个注意点

    原文出处: 后端技术杂谈 1. 将一些需要变动的配置写在属性文件中 比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置.那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无 ...