【从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图片分类
一.概述 通过之前两篇文章的学习,我们应该已经了解了多元分类的工作原理,图片的分类其流程和之前完全一致,其中最核心的问题就是特征的提取,只要完成特征提取,分类算法就很好处理了,具体流程如下: 之前介绍 ...
随机推荐
- 关于MySQL数据库优化的部分整理
在之前我写过一篇关于这个方面的文章 <[原创]为什么使用数据索引能提高效率?(本文针对mysql进行概述)(更新)> 这次,主要侧重点讲下两种常用存储引擎. 我们一般从两个方面进行MySQ ...
- 五个典型的 JavaScript 面试题
阅读原文 在IT界,需要大量的 JavaScript 开发者.如果你的能力能够胜任这一角色,那么你将获得许多更换工作和提高薪水的机会.但是在你被公司录取之前,你需要展现你的技术实力,以便通过面试环节. ...
- hexo博客-性能优化
前言 刚开始搭建博客的时候觉得很好玩,可是玩的久了,问题慢慢就出来了,就跟谈恋爱一样==.比如现在我访问博客的时候就感觉慢的要死,不可否认,使用hexo搭建服务器方便快捷,但是由于github作为服务 ...
- ABAP关键字SUBMIT的简单例子和学习小记
网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...
- 苹果的MDM简介
MDM(Mobile Device Management)移动设备管理,一般会用于企业管理其移动设备,鉴于iOS是比较封闭的系统很多的功能都难以实现,所以利用苹果的MDM可以达到远程控制设备,像远程定 ...
- 【容器云】十分钟快速构建 Influxdb+cadvisor+grafana 监控
本文作者:七牛云布道师@陈爱珍,DBAPlus社群联合发起人.前新炬技术专家.多年企业级系统的应用运维及分布式系统实战经验.现专注于容器.微服务及DevOps落地的研究与实践. 安装过程 三个都直接下 ...
- 整理分享原生态mac AndroidStudio的快捷键
使用AndroidStudio开发半年了,一路爬坑至今,刚由Windows转mac一个星期.通过查些资料和自己摸索,记录一些常用的快捷键,犹豫个人不喜欢改快捷键,所以都是原生的.特此分享给大家!欢迎补 ...
- django 第三天 有关pip使用
软件应用开发的经典模型有这样几个环境:开发环境(development).集成环境(integration).测试环境(testing).QA验证,模拟环境(staging).生产环境(product ...
- Curator框架的使用
Curator框架的目的是减少用户的复杂度,毕竟原生的Zookeeper难以使用. 这里举一个使用例子. 第一步:建立连接 // 以下代码与192.168.1.101:2181建立了连接Curator ...
- 怎么修改与设置.jsp文件属性?
1.首先 打开 >> Myeclipse或Eclipse.(我用的是Myeclipse) 2.打开 >> Window >> Preferences ...