阿里三面居然被问到HTML?? 我:那就不好意思了...

HTML/CSS制作阿里巴巴注册界面 HTML/CSS制作阿里巴巴注册界面 源代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge 阅读详情

 

阿里二面被问到HTML? 我:那就不好意思了

直接干货搞起!

目录

一. 认识WEB

浏览器的分类和内核

图解web标准

二.什么是HTML

HTML文档基本结构

HTML文档基本结构示例

文件类型描述(DOCTYPE)

根标签(html)

元数据(meta)

网页标题(title)

主题部分(body)

三.标签的分类

单标签/双标签

块级元素/内联元素

内联元素定义

块级元素有哪些

内联元素有哪些

四. HTML基础

文档类型

页面语言lang

字符集

标签语义化

锚点定位

base 标签

特殊符号

 五.面试干货知识点

html元素布局分类有哪些?

html中b标签和strong标签的区别?

减少dom数量的办法?

一次性给你大量dom如何优化?

如何禁用a标签默认事件且禁用后如何实现跳转?

什么是SEO?

前端如何进行seo优化?

什么是meta标签及其常用属性?

script的async与defer区别?

preload,prefetch,dns-prefetch?

什么是Html语义化及语义化的优点?


一. 认识WEB

网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等

浏览器的分类和内核

五大常见浏览器介绍:

  1. IE (edge)(Trident) 👉 (blink)
  2. 火狐(firefox)(Gecko)
  3. 谷歌(chrome)(blink)
  4. 苹果(safari)(webkit)
  5. 欧朋(Opera)(blink 早期:presto )

浏览器的内核相当于汽车的发动机,是最核心的存在,它负责将代码转换成用户眼中的界面

图解web标准

  • 添加入了JS


 

二.什么是HTML

HTML是Hyper Text Markup Language(超文本标记语言)的简写,是一种标记语言,而不是一种编程语言,是网页制作所必备的。超文本,本质也是文本。

自HTML3.2之后,由W3C推荐标准,定义了多种类型的元素(div,p...)和众多类型的属性值(id,name...)。

HTML文档基本结构

HTML基本结构图

 

HTML文档基本结构示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>Hello World</div>
</body>
</html> +wx:machinegunjoe666 免费领取资料

文件类型描述(DOCTYPE)

为了说明文档使用的超文本标记语言标准,所有超文本标记语言文档应该以“文件类型声明”(外语全称加缩写)开头,引用一个文件类型描述或者必要情况下自定义一个文件类型描述。举例来说: html5:

<!DOCTYPE HTML>

html4:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">

根标签(html)

html文档的最高节点标签。

元数据(meta)

  • 元数据(Metadata)是数据的数据信息。
  • 标签提供了 HTML 文档的元数据。元数据不会显示在客户端,但是会被浏览器解析。
  • META元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据。
  • 元数据可以被使用浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 Web 服务调用。

网页标题(title)

title是网页的标题元素包含在head中例如:<title>百度一下你就知道</title>在网页上方的标签中显示:百度一下你就知道,相当于一个关键字搜索引擎可以通过关键字查找到此页面。

主题部分(body)

body元素是网页的主体部分,网页的内容都写在里面,包括文本,图像,表单,音频,视频等其他内容。

我们编写网页的头部在head里编写,主体是在body内编写。在head里面可编写的内容大多是固定的,而在主体中的标签却是繁多且灵活组合使用的。

带5标识的,是HTML5新增的标签: HTML标签

 

三.标签的分类

如此多的标签,看得眼花缭乱,可以适当的将它们分分类。例如单标签/双标签,块级元素/内联元素,或者根据功能分类。

单标签/双标签

单标签:

<br><hr><img><input><param><meta><link>

双标签: 除去以上的单标签都是双标签

块级元素/内联元素

块级元素定义

  • 总是在新行上开始;
  • 高度,行高以及外边距和内边距都可控制;
  • 宽度缺省是它的容器的100%,除非设定一个宽度。
  • 它可以容纳内联元素和其他块元素

内联元素定义

  • 和其他元素都在一行上;
  • 高,行高及外边距和内边距不可改变;
  • 宽度就是它的文字或图片的宽度,不可改变
  • 内联元素只能容纳文本或者其他内联元素

块级元素有哪些

 <address>//定义地址 
 <caption>//定义表格标题 
 <dd>    //定义列表中定义条目 
 <div>     //定义文档中的分区或节 
 <dl>    //定义列表 
 <dt>     //定义列表中的项目 
 <fieldset> //定义一个框架集 
 <form> //创建 HTML 表单 
 <h1>    //定义最大的标题
 <h2>    // 定义副标题
 <h3>     //定义标题
 <h4>     //定义标题
 <h5>     //定义标题
 <h6>     //定义最小的标题
 <hr>     //创建一条水平线
 <legend>    //元素为 fieldset 元素定义标题
 <li>     //标签定义列表项目
 <noframes>    //为那些不支持框架的浏览器显示文本,于 frameset 元素内部
 <noscript>    //定义在脚本未被执行时的替代内容
 <ol>     //定义有序列表
 <ul>    //定义无序列表
 <p>     //标签定义段落
 <pre>     //定义预格式化的文本
 <table>     //标签定义 HTML 表格
 <tbody>     //标签表格主体(正文)
 <td>    //表格中的标准单元格
 <tfoot>     //定义表格的页脚(脚注或表注)
 <th>    //定义表头单元格
 <thead>    //标签定义表格的表头
 <tr>     //定义表格中的行

内联元素有哪些

 <a>     //标签可定义锚 
 <abbr>     //表示一个缩写形式 
 <acronym>     //定义只取首字母缩写 
 <b>     //字体加粗 
 <bdo>     //可覆盖默认的文本方向 
 <big>     //大号字体加粗 
 <br>     //换行 
 <cite>     //引用进行定义 
 <code>    // 定义计算机代码文本
 <dfn>     //定义一个定义项目
 <em>     //定义为强调的内容
 <i>     //斜体文本效果
 <img>     //向网页中嵌入一幅图像
 <input>     //输入框
 <kbd>     //定义键盘文本
 <label>     //标签为 input 元素定义标注(标记)
 <q>     //定义短的引用
 <samp>     //定义样本文本
 <select> // 创建单选或多选菜单
 <small>     //呈现小号字体效果
 <span>     //组合文档中的行内元素
 <strong> //加粗
 <sub>     //定义下标文本
 <sup>     //定义上标文本
 <textarea>     //多行的文本输入控件
 <tt>     //打字机或者等宽的文本效果
 <var>    // 定义变量

根据块级元素/内联元素分类的话,还有一些元素根据内容才能判断元素类型,例如:

<button>     //按钮
<del>    // 定义文档中已被删除的文本
<iframe>     //创建包含另外一个文档的内联框架(即行内框架)
<ins>     //标签定义已经被插入文档中的文本
<map>     //客户端图像映射(即热区)
<object>     //object对象
<script>     //客户端脚本

我们可以通过css的display属性对块级元素、行内元素进行转换,也可以设置行内块元素。

行内块元素

1、和其他元素都在一行上; 2、元素的高度、宽度、行高以及顶和底边距都可设置

四. HTML基础

文档类型<!DOCTYPE>

作用: 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

页面语言lang

<html lang="en">  指定html 语言种类

最常见的2个:

  1. en定义语言为英语
  2. zh-CN定义语言为中文

字符集

<meta charset="UTF-8" />

utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312。

  • gb2312 简单中文 包括6763个汉字 GUO BIAO
  • BIG5 繁体中文 港澳台等用
  • GBK包含全部中文字符 是GB2312的扩展,加入对繁体字的支持,兼容GB2312
  • UTF-8则基本包含全世界所有国家需要用到的字符
  • 这句代码非常关键, 是必须要写的,否则可能引起乱码的情况

作用: 这句话是让 html 文件是以 UTF-8 编码保存的, 浏览器根据编码去解码对应的html内容

标签语义化

  • 一个需求可以用不同的标签来完成,那么这之间有什么区别呢?
  • 一个是标签语义强,起强调作用。一个是没有语义,没有强调作用 语义好的网页更受SEO的喜欢,在搜索引擎里面的排名会更靠前

SEO优化 ===> 在输入关键字的时候,搜索引擎会罗列很多很多的网页出来,而用户基本习惯都是点前面的网页,不会去点后面的网页,所以如果网页在搜索引擎中的排名更加靠前,那么自然而然会带来更多的用户点击访问。

如何优化(了解):

1.花钱买关键字  见效快,花钱多
2.让页面更加规范,语义更加明确(在合适的地方使用合适的标签)

作用: 根据标签的语义,在合适的地方给一个最为合理的标签,让结构更清晰。

锚点定位

通过创建锚点链接,用户能够快速定位到目标内容。

创建锚点链接分为两步:

<!--1.使用<a href="#id名">链接文本</a>点击,锚点到对应的位置 -->
<a href="#two"> 点击进行锚点跳转  </a>

<!-- 2.使用相应的id名标注跳转目标的位置 -->
<h3 id="two">锚点目标</h3> 

base 标签

<base target="_blank" />

**总结: **

  1. base 可以设置整体链接的打开状态
  2. base 写到 <head> </head> 之间
  3. 把所有的连接 都默认添加 target="_blank"

特殊符号

一些特殊的符号,我们再html 里面很难或者不方便直接使用,我们此时可以使用下面的替代代码

显示结果描述实体名称
 空格&nbsp;
<小于号&lt;
>大于号&gt;
×乘号&times;
¥元(yen)&yen;
©版权(copyright)&copy;
™商标&trade;
®注册商标&reg;

 五.面试干货知识点

html元素布局分类有哪些?

  • 内联元素(display:inline):无法设定宽高,元素大小由内容大小决定,不会自动换行,从左到右排列,内部不能嵌套块级元素
  • 块级元素(display:block):会自动换行,宽度默认父元素的宽度,高度默认内容高度
  • 内联块级元素(display:inline-block):可以设置宽高,排列方式从左向右

html中b标签和strong标签的区别?

  • b:为了加粗而加粗
  • strong:为了标明重点加粗 (盲人使用阅读设备strong会重读,b不会)

减少dom数量的办法?

  • 使用伪元素替代dom元素解决方案,比如清除浮动,样式实现等。
  • 不滥用dom标签,结构合理。
  • 按需加载,减少不必要的渲染。

一次性给你大量dom如何优化?

  • 缓存dom对象,比如循环插入大量dom对象,将父dom在循环外获取,循环内插入。
  • 使用document.createDocumentFragement创建文档碎片节点或者创建一个不在dom树上的节点,将大量dom一次性更新进入该节点,然后批量替换或插入dom中。
  • 将连续的appendChild替换成使用innerHtml,避免多次对dom造成影响(ps:appendChild向父元素最后一个子节点插入元素,innerHtml直接替换父元素下所有元素,appendChild添加的元素如果是页面上已有的元素,执行完原元素会被销毁。)

如何禁用a标签默认事件且禁用后如何实现跳转?

  • 禁用a标签默认事件

    • a标签的href属性设置为href="javascript:;"||href="javascript:void(0);",通过执行空js代码,阻止跳转
    • 在a标签点击事件上使用e.preventDefault()与window.event.returnValue=false,后者兼容ie,以此阻止dom元素默认行为
  • 实现跳转

    • 点击事件 使用location.href = url 进行跳转。

什么是SEO?

搜索引擎后台有个非常庞大的数据库,数据库存储海量关键词,每个关键词对应多个网址。这些数据由蜘蛛每天在互联网中收集获取,从一个链接爬行到另一个链接,对当前网页进行提炼关键词,之后将关键词与对应网站保存在数据库中,而当我们使用搜索引擎时,搜索引擎肯定会将与搜索词与数据库中存在的关键词对比,匹配程度越高的关键词对应的网站越是优先展示在前面。
而seo(seach engine optimization)就是在此基础上,对当前网站进行优化,改进网站对应关键词在搜索引擎中的排名,获取更多的曝光程度。

前端如何进行seo优化?

前端进行seo优化无非是期望通过对网页的处理,使得爬虫对当前网站提取出的关键词更加贴切,提高网站关键词在搜索引擎中的排名。

  • 合理控制网站首页链接数量,链接足够多蜘蛛才能爬取内页,提高网站收录数量,但也不能太多,过多无意义链接不仅影响用户体验也会降低网站首页权重
  • 控制网站结构层次在三层以内,让蜘蛛跳转三次就能到到达网站任何一个内页,这意味着层次低越容易被蜘蛛收录,如果层次太多蜘蛛可能就不愿意继爬取
  • 导航尽量使用文字的方式,如果是图片也必须加入alt与title属性,告诉搜索引擎导航的定位
  • 利用布局,将重要的的html放在前面,便于蜘蛛的优先爬取
  • 控制页面大小,提高页面加载速度,如果页面加载速度很慢,蜘蛛就会离开
  • 页面的<meta keywords>keywords><meta description>尽量强调重点关键词,不要重复过分堆砌
  • 正文标题使用h1标签,h1标签自带权重,蜘蛛认为它最重要
  • 使用strong标签em标签而不是b标签,因为strong与em目的就是标明重点而加粗,在搜索引擎能够得到高度重视
  • 重要内容不要使用js输出,蜘蛛不会读取js输出,可以采用服务端渲染的办法将中药内容直接呈现在当前html中。
  • 蜘蛛只抓取get请求页面,不抓去post请求页面,合理控制页面请求方式
  • 外部链接需要加上el = nofollow属性,告诉蜘蛛不要去爬取,因为爬取外链可能蜘蛛就不回来了。
  • 不要使用iframe框架,蜘蛛一般不会读取其内容

什么是meta标签及其常用属性?

meta标签位于html的head区域,它描述了当前网页的各种信息,比如页面的说明,关键字,修改日企等。对于用户它是不可见的,它服务于浏览器,搜索引擎及其他网络服务。

  • charset:定义文档字符编码
  • content:定义name属性或者http-equiv属性相关元信息
  • name:将content属性关联到一个名称
  • http-equiv:将content属性关联到http头部
// 当前网页字符编码utf-8
<meta charset="utf-8"/>
// 当前网页关键字,seo优化会用到
<meta name="keywords" content="便于seo优化"/>
// 描述当前网页干什么的
<meta name="description" content="当前网页说明"/>
// 声明网页字符编码
<meta name="content-Type" content="text/html"/>
+wx:machinegunjoe免费领取资料

script的async与defer区别?

浏览器在解析html时遇到script标签会停止解析,先去下载执行js文件,再继续解析,所以如果该标签至于html前面会影响html解析给用户带来不好体验,而async与defer就是处理这个事情。

  • defer:defer加载完成时会等到dom解析完毕执行 (当dom加载完会执行DOMContentLoaded事件,defer标签未加载或未执行完,将推迟该事件执行,直到defer标签加载执行完才会触发该事件 ),这就相当于将script标签放在html文档底部,且defer按原本script标签出现顺序执行
  • async:async加载完毕立即执行,所以js执行顺序与标签出现顺训很有可能不一样(js创建的脚本默认都是以async加载的)
  • ps:
    • 二者都是使得script标签异步加载,加载时不阻塞dom解析
    • 且对内联js脚本不起作用(<script>var a = 1</script>)
    • 脚本内不可是用document.write
    • 二者都会阻塞onload事件(onload意味着所有依赖资源加载完成执行)
    • defer阻塞DOMContentLoaded事件,async不阻塞(DOMContentLoaded:当dom资源下载解析完执行该事件,此时css图片等资源可能未加载完成)
    • defer与async同时出现,async优先级更高,除非浏览器不兼容async,则以defer为准。

preload,prefetch,dns-prefetch?

  • preload:顾名思义预加载资源<link rel='preload' as='script' src = 'main.js' onload="_load()"/>,提升了你所需要资源加载优先级,提前加载你所需要的资源,该方式不会阻塞DOMContentLoaded与onload事件,但是该方式不管你是否是用都会预先加载资源,使用该资源需要手动指定,一般我们使用preload方案为先头部预加载资源,在window.onload事件中去使用,在预加载字体时需要设置crossorigin,使用匿名跨域模式,否则字体文件会被加载两次(当你期望不影响当前页面性能去加载某个脚本资源时preload+window.onload是最优方案)

  • prefetch:顾名思义预先获取资源, <link rel="prefetch" href="main.jpg">使用该方式可以利用浏览器空闲时间去获取将来可能用的上的资源缓存起来,当我们用到该资源可以直接从缓存获取,不需要发送请求。他将下载优先级降到最低。(可以这么说,prefetch专注于未来的资源,preload专注于当前资源)

  • dns-prefetch:顾名思义预先进行dns解析,dns解析需要耗时,所以我们当前页面如果可能跳转到别的网站可以使用dns-prefetch<link ref="dns-prefetch" href="xxx.com."/>,这将在浏览器空闲时解析该网站的dns,当我们前往该网站时就不需要在进行dns解析。

  • preconnect:顾名思义预先链接,dns-prefetch是提前dns解析,而preconnect则是提前完成与某个网站的连接,包括dns解析,tls协商,tcp握手,与dns-prefetch进行优化区别是一般我们知道用户可能一定会使用的某个链接可以使用preconnect,其他不确定的可以dns-prefetch,否则全部进行preconnect,不管用不用得到反而得不偿失。

什么是Html语义化及语义化的优点?

h5出现后,新增了很多语义化标签,比如header,footer,nav,article等,能够清楚的向浏览器或者开发者解释当前内容的意义。

  • 便于开发者阅读代码,清晰代码结构
  • 利于Seo蜘蛛爬取数据时对数据的理解

最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

我是一名渗透测试工程师,为了感谢读者们,我想把我收藏的一些CTF夺旗赛干货贡献给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2021密码学/隐身术/PWN技术手册大全

各位朋友们可以关注+评论一波 然后点击下方 

资料分享​

阿里云验证码邮件html代码模板 阿里云验证码邮件html代码模板 前端时间我为了一个简单的邮件美观做了很大的头脑,后来想想就算了,还不如直接去别人的邮件里直接扒模板 代码:HTML 日期:2019/6/16 模板类型:验证码 效果图 下面代码 <head> <base target="_blank" /> <style type="text/css">::-webkit-... 阅读详情

相关推荐

HTML中引入阿里Unicode图标

@[HTML引入阿里Unicode图标]a HTML引入阿里Unicode图标 暑假的时候刚开始使用阿里的Unicode图标,但有时候总是加载不出来,后来不知道怎么回事好了,就没有再去研究他,最近又有用到这个图标,所以又重新看了一下;我觉得大家可能会有和我一样的问题,希望会有点帮助。 下载Unicode的图标压缩包 首先我们可以去阿里巴巴矢量图标库上下载。 1.进入网站登录上自己的账号; 2.选择...

优快云QQQ的博客 3167

iframe嵌套页面禁用a标签_blank_target =“_ blank”背后的隐藏漏洞

通常,在网页中使用链接时,如果希望浏览器在新选项卡中打开指定的 URL,就会在 a 标记上添加属性 target = “_blank”。但也恰恰是这个属性为网络钓鱼攻击者提供了可趁之机。基础知识parent 和 opener在谈论 opener 之前,让我们首先看一下我们知道,用于父子页面交互的对象通常是在opener 与 parent 一样,但它只用于通过在新标签页中打开页面。你可以直接使用 w...

weixin_36049047的博客 2214

ESP32搭配LVGL显示图片的两种方法详解:内部存储 vs 外部文件

本文详细介绍了ESP32搭配LVGL显示图片的两种方法:内部存储与外部文件。内部存储方案适合快速响应的小图片,而外部文件方案则适用于需要灵活更新和大容量图片的场景。通过对比分析,帮助开发者根据项目需求选择最优方案,提升嵌入式系统的UI性能。

weixin_30399821的博客 519

前端进阶笔记之核心基础知识---那些HTML标签你熟悉吗?

文章目录1、交互实现1.1 meta标签:自动刷新/跳转1.2 title标签:消息提醒2、性能优化2.1 script标签:调整加载顺序提升渲染速度2.2 link标签:通过预处理提升渲染速度3、搜索优化3.1 meta标签:提取关键信息3.2 link标签:减少重复3.3 延伸内容:OGP(开放图表协议)总结 提到HTML标签,我们会非常熟悉,开发中经常使用。但我们往往关注更多的是页面渲染效果及交互逻辑,也就是对用户可见可操作的部分,比如表单、菜单栏、列表、图文等。其实还有一些非常重要却容易忽视的标签,

TDX的专栏 414

别再为批次效应发愁了!手把手教你用Harmony整合10x单细胞数据(附完整R代码)

本文详细介绍了如何使用Harmony工具消除单细胞数据中的批次效应,提供完整的R代码实现跨样本数据整合。通过模糊聚类和渐进校正技术,Harmony能有效区分技术噪音与真实生物信号,适用于大型数据集处理。文章包含质控要点、参数设置建议及常见问题解决方案,助力研究者获得高质量整合结果。

weixin_27215403的博客 197

嵌入式Linux Qt应用程序卡死问题分析记录

根据应用和系统层面的分析,软件功能异常和卡死现象的原因是系统控制台/dev/console阻塞导致依赖其的相关应用和命令异常。系统控制台/dev/console阻塞的原因还未确定,最近的软件版本和其他测试同事未出现该问题,所以很大可能是串口线的问题,待后续有进展了继续更新。

V10_x的博客 1648

preconnect 预解析

preconnect是一种浏览器优化技术,用于告诉浏览器提前与指定的域名建立连接,包括DNS解析、TCP握手和TLS协商(如果适用)。这样做可以减少客户端在请求资源时所需的往返时间(RTT),从而提高页面加载速度。

坚定目标,超越自我 775

【Get深一度】小波分析概念1——紧支撑集是什么意思,通俗解释

最近学到小波,在仿真中也用到了紧支撑函数;紧支撑性越好,说明能量越集中;用最通俗的话来讲,紧支撑是这样的: 对于函数f(x),如果自变量x在 0附近的取值范围内,f(x)能取到 C; 而在此之外,f(x)取值为 0; 那么这个函数f(x)就是紧支

Trey_优快云 的优快云博客 8349

HTML link标签中preload,prefetch,dns-prefetch,preconnect,prerender

Preload 在我们的浏览器加载资源的时候,对于每一个资源都有其自身的默认优先级,倘若我们能修改每一个资源的默认优先级,那我们几乎可以按照我们的预期加载想要加载的资源。 以谷歌浏览器为例,我们打开控制台,并切换到Network选项,点击刷新页面,在网络下面的title一行点击鼠标右键,勾选Priority即可看到加载资源的优先级,我们可以看到样式的级别比脚本的优先级高,毕竟页面的一加载进来...

chaoguo1234的专栏 1630

Microsoft Defender防病毒扫描添加排除项

Win10与Win11上的“**Microsoft Defender防病毒**”功能默认会自动扫描所有非压缩文件,如果发现病毒或疑似病毒甚至经过手动修改后某些安装文件,会自动将其删除,如果是后面两种情况,则可能会造成误报,对我们正常办公或学习造成不利影响。 此时, 我们可以将某个目录或文件设置为“**Microsoft Defender防病毒不会扫描已排除的项目**”(<red>但要注意:这些被排除的目录或文件会给笔记本造成一定的安全风险,如果真有病毒感染这些目录或文件它们也不会被“**Micr

weixin_42148668的博客 6484

STM32 SYSTICK定时器及延时函数详解

STM32 SYSTICK及延时函数详解 SysTick定时器 SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心

w1050321758的博客 2368

preload、preconnect、prefetch 的作用

preload、preconnect和prefetch是HTML中用于优化网页性能的标签。preload通过<link rel="preload">提前加载关键资源(如JS、CSS);preconnect(rel="preconnect")预建服务器连接,减少DNS解析和TCP握手时间;prefetch(rel="prefetch")在空闲时预获取非关键资源(如下一页面)。三者分别针对资源加载、连接建立和未来使用场景,共同提升页面加载速

555

28、沉浸式体验技术:概念、类型与应用

本文全面介绍了沉浸式体验技术的概念、类型与应用。从双边滤波器的图像处理原理切入,系统阐述了VR、AR、MR、ER及数字孪生等核心技术的特点与区别,并通过丰富案例展示了其在商业、医疗、教育、旅游、房地产、物流等多个领域的实际应用。文章还分析了技术融合趋势、硬件升级方向、应用场景拓展潜力,同时探讨了数据处理、网络延迟、隐私安全等挑战及应对策略,最后以流程图和对比表格总结技术发展脉络,展望沉浸式技术推动社会进步的广阔前景。

wind6的博客 386

三种方式在HTML使用阿里字体图标--iconfont阿里巴巴矢量图标库

三种方式在HTML文件内引入阿里巴巴iconfont字体图标....

欢迎来到长风沛雨的博客 1万+

4.4 直流无刷电机(BLDC):控制器硬件设计

摘要 本文详细阐述了直流无刷电机(BLDC)控制器的硬件设计要点。控制器硬件主要包括微处理器单元、功率驱动模块、信号检测电路、通信接口和电源管理模块。在微处理器选型方面,分析了ARM Cortex-M系列、DSP等架构的适用场景,并对比了不同处理器的性能参数。功率驱动模块设计重点包括栅极驱动电路、逆变桥热管理和电流保护机制。信号检测部分介绍了位置传感器接口和模拟信号调理技术。此外,还讨论了通信接口设计、电源管理方案以及硬件布局与EMC设计规范。最后强调了硬件测试验证的重要性,包括故障注入测试等验证方法。整体

技术工作者 185

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

7.18 阿里巴巴企业黄页HTML实现、HTML标签介绍、frameset框架、HTML5标签、CSS

阿里巴巴企业黄页HTML实现、HTML标签介绍、frameset框架、HTML5标签、CSS

PYH的博客 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

关于HTML页面使用阿里字体

4、<style>里继续加入以下代码,其中,.b是自定义的类选择器。3、 在HTML页面的<head>里的<style>里加入以下代码。5、在HTML页面的<body>里的写一个div,使用阿里字体,3、 在项目里新建一个font目录,然后把字体包解压到这里。iconfont-阿里巴巴矢量图标库。阿里图标库iconfont地址。1、点击字体库选择字体。

m0_45938038的博客 1796

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

在HTML种引用阿里巴巴iconfont字体图标

概述 什么是阿里巴巴iconfont字体图标呢? iconfont字体图标就是用字体来代替图标、图片文件的做法,并且通过字体图标可以对图标的大小、颜色等进行控制。 以前要引用各种图标需要使用的是图标图片,而使用图片需要向服务器请求图片资源,如果有请求次数非常多而用户量又很大那么会很麻烦,造成很多问题,而使用iconfont字体图标,即跟HTML加载一样,减少请求次数,缓解服务器压力。 在国...

二木成林 2564

HTML实战案例6:制作阿里巴巴用户注册页面

HTML实战案例6:制作阿里巴巴用户注册页面 一、完整的页面效果图 二、代码展示 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>阿里巴巴会员注册</title> </head> <body> <table width="954" border="0" align="center" cellpadding="0" cell

海鱼专属博客 7314

「面经」阿里蚂蚁金服 offer 之路

总结一下我的阿里面试,做一个记录吧。分享给需要的人。 整体时间流程 8月12日 14:00 通过猎头投递简历 8月13日 20:01、20:11 电话没有接到,是初面电话。 8月14日 21:10 接到初面的电话面试,面试内容多为基础内容,还有做过的项目。明确告知我初面过了,会有后续的面试 8月15日 20点左右,接到了 HR 的联系电话,约定二面现场面试时间 8月19日 15:30...

weixin_30673611的博客 382

html使用阿里巴巴图标库

使用ico字体图标 登录阿里巴巴矢量图标库 https://www.iconfont.cn/collections/index?spm=a313x.7781069.1998910419.4 把想要的图标添加购物车-添加项目 打开项目,选择“Unicode” 类型,点击下载至本地 解压缩iconfont.css放入代码文件夹中 html上使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT

zyx127的博客 749

将静态html网页部署至云服务器(阿里云)

在此仅介绍如何将一个简单的html网页放到阿里云上并通过浏览器进行访问。 首先你要有个云服务器,这里以阿里的轻量应用服务器为例,系统为cent os 7,若为Ubuntu系统,将命令中yum改为install即可。 远程登陆服务器后,在命令行输入命令: [root@centos]yum -y install httpd 可使用SecureCRT等远程连接工具连接,也可使用阿里云网页上的远程连接...

SupremacyXXXXX的博客 1万+

阿里云OSS图片文件和html文件无法直接打开,只能下载

这个是阿里云在2018年和2019年分别对其OSS进行策略调整之后的结果。         2018年8月13日之后开启的Bucket,直接使用OSS访问域名,从互联网访问OSS上的htm、 html、jsp、plg、htx 和stm类型文件时,都会被阿里云直接强制下载,具体升级公告: 【升级】8月13日OSS网页类型文件访问返回Header策略调整通知     &n

ClarenceWang_CN的博客 9666

html引入阿里巴巴图标

前言:           用第三方图标库,我觉得比较方便的就是可以很方便的替换颜色,图标也是矢量的,不会拉伸失真            不用设计人员再单独做雪碧图或其他操作了 1,先搞点事情,在阿里巴巴矢量图标库网站首页,搜索自己想要的图标 https://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2 2,搜索之后,...

幸福有多远 6021

邮箱发送html邮件,遇到的问题(如阿里邮箱如何发送html邮件、qq向阿里发送邮件样式丢失等)解决方法

缘起 公司要求制作html格式的邮件用来在邮箱里发送,要求要兼容各大主流邮箱,设计给了样式按照其实现后测试遇到诸多问题。 一、阿里邮箱、outlook无法粘贴html源代码 阿里和outlook邮箱发送html文件是直接打开你的html文件然后在网页中全选你的页面复制然后直接粘贴进去就可以发送的,不像qq和163可以复制自己源码进去直接生成的。 二、div+css布局在阿里、outlook里会有各类问题,如样式丢失问题 起初自己是使用div+css布局(css记得只能写行内,嵌入式和外联都是不允许的,js也

m0_37973043的博客 7368

把HTML5静态网页部署到阿里云服务器

把HTML5静态网页部署到阿里云服务器 注册阿里云账号 链接入口 购买服务器(ps:在校大学生优惠购买低至9.5/月)链接入口 购买成功后,点击进入管理控制台 点击站点设置—>域名—>添加域名—>域名解析(没有域名可以在阿里云进行注册)链接入口 点击应用管理—>应用详情—>按照步骤操作进入网站管理页面 接下来就可以添加自己的站点了! 步骤①登录阿里云官网购买服务器 步骤②购买成功 步骤③进入管理控制台 步骤④注册域名(需要实名认证) 步骤⑤绑定域名并解析 步骤⑥登

weixin_44167504的博客 3098
上一篇: 硬核!一文教你图片伪装反爬虫的原理和破解方法
下一篇: 反射XSS和CORS漏洞的组合拳引发的血案
AI小模型
博客等级 码龄6年 6863粉丝 487原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小模型

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值