【从html到算法框架】科技白学习计划书
一、学习计划
根据对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模板引擎。
- 实现方式:
- 置换型:模板引擎的实现方式有很多,最简单的是“置换型”模板引擎,这类模板引擎只是将指定模板内容(字符串)中的特定标记(子字符串)替换一下便生成了最终需要的业务数据(比如网页)。
- 其他:置换型模板引擎实现简单,但其效率低下,无法满足高负载的应用需求(比如有海量访问的网站),因此还出现了“解释型”模板引擎和“编译型”模板引擎等。
- DOM(文档对象模型):DOM 是一个 可以访问和修改当前文档的 API。DOM 提供了一种表述形式——将文档作为一个结构化的节点组(Node和Element)以及包含属性和方法的对象。它所提供的API可以为JS等语言提供能力去访问和操作这些节点(Node和Element)的属性和方法。HTML,XML 和 SVG 都扩展了基本的 DOM 接口来操作它们各自私有的元素类型。(本文特指用JS去操作HTML)
- 静态内容与结构:
- 样式
- 静态样式:
- 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到算法框架】科技白学习计划书的更多相关文章
- 强化学习(十七) 基于模型的强化学习与Dyna算法框架
在前面我们讨论了基于价值的强化学习(Value Based RL)和基于策略的强化学习模型(Policy Based RL),本篇我们讨论最后一种强化学习流派,基于模型的强化学习(Model Base ...
- 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架
目录 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构. 文章目录 @ 一.知识图谱商业应用 01 唯品金融大数据 02 PlantData知识图谱数据智能平台 03 ...
- 机器学习算法总结(三)——集成学习(Adaboost、RandomForest)
1.集成学习概述 集成学习算法可以说是现在最火爆的机器学习算法,参加过Kaggle比赛的同学应该都领略过集成算法的强大.集成算法本身不是一个单独的机器学习算法,而是通过将基于其他的机器学习算法构建多个 ...
- 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别
一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...
- 机器学习框架ML.NET学习笔记【3】文本特征分析
一.要解决的问题 问题:常常一些单位或组织召开会议时需要录入会议记录,我们需要通过机器学习对用户输入的文本内容进行自动评判,合格或不合格.(同样的问题还类似垃圾短信检测.工作日志质量分析等.) 处理思 ...
- 机器学习框架ML.NET学习笔记【2】入门之二元分类
一.准备样本 接上一篇文章提到的问题:根据一个人的身高.体重来判断一个人的身材是否很好.但我手上没有样本数据,只能伪造一批数据了,伪造的数据比较标准,用来学习还是蛮合适的. 下面是我用来伪造数据的代码 ...
- 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录
一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...
- 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)
一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...
- 机器学习框架ML.NET学习笔记【6】TensorFlow图片分类
一.概述 通过之前两篇文章的学习,我们应该已经了解了多元分类的工作原理,图片的分类其流程和之前完全一致,其中最核心的问题就是特征的提取,只要完成特征提取,分类算法就很好处理了,具体流程如下: 之前介绍 ...
随机推荐
- AlloyTouch与three.js 3D模型交互
如你所见,上面的cube的旋转.加速.减速停止都是通过AlloyTouch去实现的. 演示 代码 <script src="asset/three.js"></s ...
- hexo博客-性能优化
前言 刚开始搭建博客的时候觉得很好玩,可是玩的久了,问题慢慢就出来了,就跟谈恋爱一样==.比如现在我访问博客的时候就感觉慢的要死,不可否认,使用hexo搭建服务器方便快捷,但是由于github作为服务 ...
- ipython notebook 浏览器中编写数学公式和现实
Python Notebook简介1 http://www.cnblogs.com/cbscan/p/3545084.html $ python -m IPython http://pypi.pyth ...
- 在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下:
Asp.net MVC中的ViewData与ViewBag ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP. ...
- js中的constructor
定义和用法 constructor 属性返回对创建此对象的 Date 函数的引用. 语法 object.constructor constructor属性不影响任何JavaScript的内部属性.in ...
- [MySQL性能优化系列]巧用索引
1. 普通青年的索引使用方式 假设我们有一个用户表 tb_user,内容如下: name age sex jack 22 男 rose 21 女 tom 20 男 ... ... ... 执行SQL语 ...
- Android使用C++截屏并显示
使用android底层自带的截屏源码进行修改后,将截取屏幕的内容再次显示在屏幕上,使屏幕呈现出暂停的效果. android自带的截屏代码在android\JB\frameworks\base\cmds ...
- web视频添加webvtt字幕测试
1.使用MP4硬字幕,如下, 2.使用HTML5 添加webvtt字幕,可惜到现在还没有测试成功.
- 新建structs2 web应用及structs.xml常用基础配置
建立一个structs2 web应用程序 1. 创建一个基本的web应用程序 2. 添加structs2的jar文件到Class Path 将structs2的最小jar包拷到WEB-INF/lib目 ...
- 大众点评cat系统的搭建笔记
项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...