一、XHTML简介
XHTML 是什么?
XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language)。
XHTML 的目标是取代 HTML。
XHTML 与 HTML 4.01 几乎是相同的。
XHTML 是更严格更纯净的 HTML 版本。
XHTML 是作为一种 XML 应用被重新定义的 HTML。
XHTML 是一个 W3C 标准。
之前应该掌握的知识
XHTML 是一个 W3C 标准
XHTML 于2000年的1月26日成为 W3C 标准。
W3C 将 XHTML 定义为最新的HTML版本。XHTML 将逐渐取代 HTML。
所有新的浏览器都支持 XHTML
XHTML 与 HTML 4.01 兼容。
所有新的浏览器都支持 XHTML。
二、为什么要使用XHTML?
XHTML 是 HTML 与 XML(扩展标记语言)的结合物。
XHTML 包含了所有与 XML 语法结合的 HTML 4.01 元素。
为什么要使用XHTML?
我们认为万维网上的许多页面都包含着糟糕的 HTML 代码。
下面的 HTML 代码仍然可以工作得很好,即使它没有遵守 HTML 规则:
This is bad HTML
Bad HTML
XML 是一种标记化语言,其中所有的东西都要被正确的标记,以产生形式良好的文档。
XML 用来描述数据,而 HTML 则用来显示数据。
今天的市场中存在着不同的浏览器技术,某些浏览器运行在计算机中,某些浏览器则运行在移动电话和手持设备上。而后者没有能力和手段来解释糟糕的标记语言。
因此,通过把 HTML 和 XML 各自的长处加以结合,我们得到了在现在和未来都能派上用场的标记语言 - XHTML。
XHTML 可以被所有的支持 XML 的设备读取,同时在其余的浏览器升级至支持 XML 之前,XHTML 使我们有能力编写出拥有良好结构的文档,这些文档可以很好地工作于所有的浏览器,并且可以向后兼容。
三、XHTML 与 HTML 之间的差异
通过开始编写严格的 HTML,你可以为 XHTML 做好准备。
如何为 XHTML 做好准备
XHTML 与 HTML 4.01 标准没有太多的不同。所以将你的代码升级至 4.01 是个不错的开始。我们的完整的《HTML 4.01 参考手册》会帮助你做到这一点。另外,你应该马上使用小写字母编写HTML代码,同时绝不要养成忽略类似 标签的坏习惯。
最主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
元素必须被正确地嵌套
在 HTML 中,某些元素可以像这样彼此不正确地嵌套:
This text is bold and italic
在 XHTML 中,所有的元素必须像这样彼此正确地嵌套:
This text is bold and italic
在嵌套列表中一个容易犯的错误,是忘记内部列表必须位于 li 元素中,就像下面这样: 这是错误的:
这是正确的:
之后插入了一个 标签。
XHTML 元素必须被关闭
This is a paragraph
This is another paragraph
这是正确的:
This is a paragraph
This is another paragraph
空标签也必须被关闭
空标签也必须使用结束标签,或者其开始标签必须使用/>结尾。 这是错误的:
A break:
A horizontal rule:
An image:
这是正确的:
A break:
A horizontal rule:
An image:
XHTML 元素必须小写
XHTML 规范定义:标签名和属性对大小写敏感。 这是错误的:
This is a paragraph
这是正确的:
This is a paragraph
XHTML 文档必须拥有一个根元素
所有的 XHTML 元素必须被嵌套于 根元素中。其余所有的元素均可有子元素。子元素必须是成对的且被嵌套在其父元素之中。基本的文档结构如下:
...
...
四、XHTML 语法
编写 XHTML 代码需要纯净的 HTML 语法。
更多的 XHTML 语法规则:
属性名称必须小写
属性值必须加引号
属性不能简写
用 Id 属性代替 name 属性
XHTML DTD 定义了强制使用的 HTML 元素
属性名称必须小写
这是错误的: 这是正确的:
属性值必须加引号
这是错误的: 这是正确的:
属性不能简写
这是错误的:
这是正确的:
用 id 属性代替 name 属性
HTML 4.01 针对下列元素定义 name 属性:a, applet, frame, iframe, img, 和map。
在 XHTML 中不鼓励使用 name 属性,应该使用 id 取而代之。
这是错误的:
这是正确的:
重要的兼容性提示:
你应该在 "/" 符号前添加一个额外的空格,以使你的 XHTML 与当今的浏览器相兼容。
语言属性(lang)
lang 属性应用于几乎所有的 XHTML 元素。它定义元素内部的内容的所用语言的类型。 如果在某元素中使用 lang 属性,就必须添加额外的 xml:lang,像这样:
Heia Norge!
强制使用的 XHTML 元素
所有 XHTML 文档必须进行文件类型声明(DOCTYPE declaration)。在 XHTML 文档中必须存在html、head、body元素,而 title 元素必须位于在 head 元素中。 下面是一个最小化的 XHTML 文件模板:
Title goes here
五、XHTML DTD
XHTML 定义了三种文件类型声明。
使用最普遍的是 XHTML Transitional。
是强制使用的。
一个 XHTML 文档有三个主要的部分:
基本的文档结构是这样的:
...
...
在 XHTML 文档中,文档类型声明总是位于首行。
一个 XHTML 的实例
simple document
a simple paragraph
simple document
a simple paragraph
3种文档类型声明
DTD 规定了使用通用标记语言(SGML)的网页的语法。
诸如 HTML 这样的通用标记语言应该使用 DTD 来规定应用于某种特定文档中的标签的规则,这些规则包括一系列的元素和实体的声明。
在通用标记语言(SGML)的文档类型声明或 DTD 中,XHTML 被详细地进行了描述。
XHTML DTD 使用精确的可被计算机读取的语言来描述合法的 XHTML 标记的语法和句法。
存在三种XHTML文档类型:
STRICT(严格类型)
TRANSITIONAL(过渡类型)
FRAMESET(框架类型)
XHTML 1.0 的三种 XML 文档类型
XHTML 1.0 规定了三种 XML 文档类型,以对应上述三种 DTD。
XHTML 1.0 Strict
在此情况下使用:需要干净的标记,避免表现上的混乱。请与层叠样式表配合使用。
XHTML 1.0 Transitional
在此情况下使用:当需要利用 HTML 在表现上的特性时,并且当需要为那些不支持层叠样式表的浏览器编写 XHTML 时。
XHTML 1.0 Frameset
在此的情况下使用:需要使用HTML框架将浏览器窗口分割为两部分或更多框架时。
六、如何升级至 XHTML?
如何将你的网站升级至 XHTML ?
为了将站点从 HTML 转换为 XHTML,你首先应该熟悉前几章讲解的 XHTML 语法规则。下面讲解具体的步骤。
添加文件类型声明
本站 (w3school) 使用的是严格的 DTD。不过使用过渡的 DTD 也是个不错的选择,因为对于大多数入门的开发人员来说,严格的 DTD 可能显得“太严格了”。
关于文件类型声明的一点提示
如果你希望将页面验证为正确的 XHTML,那么页面中必须含有文件类型声明。
需要注意的是,根据不同的文件类型声明,新式的浏览器对文档的处理方式也是不同的。如果浏览器读到一个文件类型声明,那么它会按照“恰当”的方式来处理文档。如果没有 DOCTYPE,文档也许会以截然不同的方式显示出来。
小写的标签和属性名
由于 XHTML 对大小写敏感,同时也由于 XHTML 仅接受小写 HTML 标签和属性名,因此你可以执行一个简单的搜索和替换命令将所有的大写标签改为小写。对属性名也要做同样的处理。我们一直在自己的网站使用小写字母,因此基本上,替换功能没有太多地派上用场。
给所有属性加上引号
由于 W3C XHTML 1.0 标准中要求所有的属性值都必须加引号,所以,如果以前没有注意到这个细节,你需要逐页地对网站进行检查。这是一项费时的工作,所以绝不要再忘记为属性值加引号了。
空标签: , 和
在 XHTML 中是不允许使用空标签(Empty tags)的。 和 标签应该被替换为 和 。
这样做又产生了一个新问题,Netscape 会误读 (/之前本没有空格)
标签。我们不清楚原因所在,不过将之改为 后就没有问题了。认识到这一点后,你需要再一次通过搜索和替换功能对标签进行更改。
其他一些标签(比如 标签)也会碰到上述同样的问题。不要使用闭合标签来关闭 ,而是要在标签的末端添加 / >。
验证站点
做完所有这一切以后,使用下面的链接根据官方的 W3C DTD 对所有修改过的页面进行验证: XHTML Validator。接下来,可能还会有少数的错误被发现,逐一对这些错误进行(手工地)修正。我们的经验是,最容易犯的错误是在列表中漏掉了
标签。
我们应该使用转换工具吗(比方说 TIDY)?对,我们本可以使用 TIDY。
Dave Raggett 的 HTML TIDY是用来清理HTML代码的免费工具。在处理那些由专门的 HTML 代码编辑器和转换工具生成的难以阅读的HTML代码方面,TIDY 还是做得很棒的。同时,它可以帮助你发现站点中哪些地方需要投入更多精力,使得对于残疾人士,网页具有更强的易用性。
我们没有使用 Tidy 是出于什么原因呢?当我们开始创建这个网站时,我们已经对 XHTML 非常地熟悉。当时我们已经知道使用小写标签以及为属性加引号。所以在网站测试的过程中,我们只是简单地通过 W3C 的 XHTML 验证器进行了测试,并修正了少许的错误。更重要的是,我们已经学到了很多关于编写 Tidy 式 HTML 代码的知识。
七、XHTML 验证
通过 DTD 验证 XHTML
XHTML 文档是根据文档类型声明(DTD)进行验证的。只有将正确的 DTD 添加到文件的首行,XHTML 文件才会被正确地验证。
严格 DTD 包含没有被反对使用的或不出现在框架结构中的元素和属性:
!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
过渡 DTD 包含严格 DTD 中的一切,外加那些不赞成使用的元素和属性。
!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
框架 DTD 包含过渡 DTD 中的一切,外加框架。
!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
simple document
a simple paragraph
八、XHTML 模块
XHTML 模块化的原因
XHTML 是简单而庞大的语言。XHTML 包含了网站开发者需要的大多数功能。
对于某些特殊的用途,XHTML 太大且太复杂,而对于其他的用途,它又太简单了。
通过将 XHTML 分为若干模块,W3C 已经创造出数套小巧且定义良好的 XHTML 元素,这些元素既可被独立应用于简易设备,又可以与其他 XML 标准并入大型且更复杂的应用程序。
通过使用模块化的 XHTML,产品和软件设计者可以:
选择被某种设备所支持的元素。
在不打破 XHTML 标准的情况下,使用 XML 对 XHTML 进行扩展。
针对小型设备,对 XHTML 进行简化。
通过添加新的 XML 功能(比如 MathML, SVG, 语音和多媒体),针对复杂的应用对 XHTML 进行扩展。
定义 XHTML 框架,比如 XHTML BASIC (针对移动设备的 XHTML 子集)。
XHTML 模块
九、XHTML 标准属性
HTML 标签拥有属性。每个标签的特殊属性均被列于每个标签描述之下。这里列出的属性是通用于每个标签的核心属性和语言属性(有个别例外)。
核心属性 (Core Attributes)
以下标签不提供下面的属性:base, head, html, meta, param, script, style, 以及 title 元素。
语言属性 (Language Attributes)
以下标签不提供下面的属性:base, br, frame, frameset, hr, iframe, param, 以及 script 元素。
键盘属性 (Keyboard Attributes)
十、XHTML 事件属性
窗口事件 (Window Events)
表单元素事件 (Form Element Events)
键盘事件 (Keyboard Events)
在下列元素中无效:base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style, 以及 title 元素。
鼠标事件 (Mouse Events)
在下列元素中无效:base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style, title 元素。
十一、你已经学习了XHTML,现在还需要学习什么呢?
XHTML 概要
本教程已经向你教授了如何创建更严谨纯净的 HTML 页面。
你已经知道所有的 XHTML 元素都必须被正确地嵌套,XHTML 必须拥有良好的结构,所有的标签必须小写,并且所有的 XHTML 元素必须被关闭。
你也学到了所有的 XHTML 文档必须拥有 DOCTYPE 声明,并且 html、head、title 和 body 元素必须存在。
如果需要关于 XHTML 的更多信息,请查看我们的 XHTML 参考手册 。
课外阅读
如果希望继续深入学习 XHTML,请务必阅读 w3school 提供的 XHTML 课外书:
XHTML 结构化之一:使用 XHTML 重构网站
XHTML 结构化之二:案例分析:W3school 的结构化标记
现在你已经学会了 XHTML,下一步学习什么呢?
下一步你需要学习 CSS 和 JavaScript 。
CSS
CSS 被用于在同时控制多重页面的样式和布局。
通过使用 CSS,所有的格式化任务均可被移出 HTML 文档,并存储于一个独立的文件中。
在不把文档内容搞乱的情况下,CSS 允许你对布局进行完全地控制。
请访问我们的 《CSS 教程》,来学习如何创建样式表。
JavaScript
JavaScript 可使网站的动态性更强。
当你仅仅想展示固定不变的内容时,静态站点是不错的。然而动态站点可以对事件作出响应,并允许用户进行交互。
JavaScript 是因特网上最流行的脚本语言,并且它可以运行于所有的主流浏览器。
请访问我们的 《JavaScript 教程》 ,来学习更多关于 JavaScript 的知识。
你可能感兴趣的:(web学习之xhtml基础教程)
【花雕学编程】ESP32 DeepSeek 之带样式的Web聊天机器人
驴友花雕
开源硬件 机器人 嵌入式硬件 单片机 c++ 带样式的Web聊天机器人 ESP32 DeepSeek
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
c#quartz触发_C# 定时调度之Quartz
林John
c#quartz触发
工作中我们经常碰到定时或者固定时间点去做一些事情,然后每天到时间点就会去做这样的事情,如果理解这样的场景,我们就要引入今天我们的主角Quartz,其实这个跟数据库的作业类似,但是不仅仅局限于数据库。一:quartZ引入&三大核心对象简介1:在项目中打开Nuget管理,然后搜索QuartZ,现在最新的版本是3.0.7,需要在Framework4.5.2上面使用。2:quartZ的三大核心对象A:IS
【花雕学编程】Arduino JSON 之跨平台兼容性
驴友花雕
开源硬件 json 嵌入式硬件 单片机 c++ 跨平台兼容性 Arduino JSON
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
【花雕学编程】Arduino FOC 之 Arduino SCARA机器人
驴友花雕
机器人 嵌入式硬件 单片机 c++ SCARA机器人 Arduino FOC
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
【花雕学编程】Arduino BLDC 之智能平衡车
驴友花雕
Arduino BLDC 嵌入式硬件 单片机 c++ Arduino BLDC 智能平衡车 智能化控制
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
html 输入框标签讲解,input标签详解
金鉴LED实验室
html 输入框标签讲解
一,标签定义及使用说明1.标签规定了用户可以在其中输入数据的输入字段。2.元素在元素中使用,用来声明允许用户输入数据的input控件。输入字段可通过多种方式改变,取决于type属性。二,HTML与XHTML的区别1.在HTML中,标签没有结束标签。2.在XHTML中,标签必须被正确地关闭。三,注示1.注意:元素是空的,它只包含标签属性。2.提示:你可以使用元素来定义元素的标注。四,属性1.type
腿足机器人之八- 腿足机器人动力学
shichaog
腿足机器人 机器人 算法
腿足机器人之八-腿足机器人动力学刚体动力学接触动力学与地面交互稳定性判据ZMP(零力矩点)CoM(CenterofMass)捕获点简化动力学模型双足机器人走路与小跑的动力学对比挑战与前沿技术腿足机器人的运动学解决“如何到达目标位置”的问题,动力学解决“如何高效稳定地到达”的问题。两者结合,使机器人能够在复杂环境中实现类生物的灵活运动,是仿生机器人领域的核心技术。如波士顿动力Atlas通过逆运动学规
GUROBI之如何快速定位模型infeasible的原因
吃面包的快乐小狗
python 数学建模
今天在用GUROBI写EVRPTW问题的模型时,遇到了很多问题参考:github上的一个用cplex来求解的paper:TheElectricVehicle-RoutingProblemwithTimeWindowsandRechargingStations(informs.org)code:E-VRPTW/E-VRPTW.modatmain·jmanzolli/E-VRPTW(github.co
架构设计之软件建模与软件设计文档
夜夜流光相皎洁_小宁
架构设计 # 架构案例分析 架构设计 软件建模 UML建模 需求分析 概要设计 软件建模流程 建模的定义与建模解决的问题 软件设计文档
目录一、概述二、软件建模2.1软件建模的定义2.2软件建模的作用2.3软件建模解决的问题2.3.1明确要解决的领域问题2.3.2最终开发出来的系统包含什么2.3.3软件模型设计流程三、软件设计方法3.1概述3.2类图3.3时序图3.4组件图3.5部署图3.6用例图3.7状态图3.8活动图四、软件设计文档4.1概述4.2需求分析4.3概要设计4.4详细设计4.5总结五、总结一、概述架构师的一系列软件
【花雕学编程】Arduino JSON 之合理设计 API 的架构
驴友花雕
开源硬件 json 嵌入式硬件 单片机 c++ 合理设计 API 的架构 Arduino JSON
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Ardui
【云原生进阶之数据库技术】第四章-GaussDB-关键技术-2.4.1-GaussDB存储引擎层关键技术方案
江中散人
云原生进阶-数据库专栏 云原生进阶-PaaS专栏 后台开发专栏 数据库 云原生 gaussdb database 存储引擎
1存储引擎概览早期计算机程序通过文件系统管理数据,到了20世纪60年代这种方式就开始不能满足数据管理要求了,用户逐渐对数据并发写入的完整性、高效的检索提出更高的要求。由于机械磁盘的随机读写性能问题,从20世纪80年代开始,大多数数据库一直围绕着减少随机读写磁盘进行设计。主要思路是把对数据页面的随机写盘转化为对WAL(WriteAheadLog,预写式日志)的顺序写盘,WAL持久化完成,事务就算提交
PySide6 GUI 学习笔记——常用类及控件使用方法(常用类尺寸QSize)
Humbunklung
PySide6 学习笔记 学习 笔记 python pyqt
尺寸类之——QSizeQSize类通过整数形式定义一个二维对象的尺寸,包括宽width()和高height()。QSize官方文档方法概述def__init__()def__reduce__()def__repr__()defboundedTo()defexpandedTo()defgrownBy()defheight()defisEmpty()defisNull()defisValid()def
Kubernetes源码分析之kubelet
「已注销」
runtime 操作系统 运维
本节所有的代码基于1.13.4版本。启动分析Kubelet的启动参数有两种,kubeletFlags和kubeletConfig。其中,kubeletFlags与我们使用的kubelet的--参数命令保持一致;kubeletConfig通过解析特定的配置文件完成参数的配置,它们共同构成kubelet启动参数的配置。如图基本参数配置完成之后,接下来就是配置启动的Run方法。Kubelet启动的Run
jenkins自动化打包android,使用Jenkins+Pipline 持构建自动化部署之安卓源码打包、测试、邮件通知...
白汐牙
一、引言Jenkins2.x的精髓是PipelineasCode,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息以steps的方式放在一个脚本里,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程,形成流水式发布,构建步骤视图化。简单来说,Pipeline适用的场景更广泛,能胜任更复杂的发布
C++11之constexpr
kazamata
C++ c++ 学习 笔记 visual studio
注:大前提,本篇文章是在介绍C++11中的constexpr,自C++14以来constexpr有了非常大的改动,如在实验中遇见与本文不符的地方还先请查阅其他资料,确定为本文错误后可留言,我会虚心接受并改正。constexpr定义编译时常量在C++11中添加了一个新的关键字constexpr,这个关键字是用来修饰常量表达式的。所谓常量表达式,指的就是由多个(≥1)常量(值不会改变)组成并且在编译过
HTML5 起步
强强学习
html5 前端 html
HTML5是W3C与WHATWG合作的结果,WHATWG指WebHypertextApplicationTechnologyWorkingGroup。WHATWG致力于web表单和应用程序,而W3C专注于XHTML2.0。在2006年,双方决定进行合作,来创建一个新版本的HTML。HTML5中的一些有趣的新特性:用于绘画的canvas元素用于媒介回放的video和audio元素对本地离线存储的更好
【MySQL】MySQL函数之JSON_EXTRACT
m0_74824025
面试 学习路线 阿里巴巴 mysql json android
在MySQL中,JSON_EXTRACT()函数用于从JSON文档中提取一个或多个值。这个函数非常有用,特别是在处理存储在JSON格式中的复杂数据时。下面是一些关于如何使用JSON_EXTRACT()的详细说明和示例。基本语法JSON_EXTRACT(json_doc,path[,path]...)json_doc:要从中提取值的JSON文档。path:一个或多个路径表达式,用于指定要提取的值的位
Windows逆向工程入门之堆栈结构与信息获取
0xCC说逆向
windows 汇编 c语言 c++ 逆向 安全
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录1.堆栈结构基础堆栈的主要操作:2.代码功能解析2.1加载ntdll.dll2.2获取NtQueryInformationThread函数指针2.3调用NtQueryInformationThread获取线程信息2.4获取线程环境块(TEB)2.5输出堆栈信息3.涉及的知识点拓展3.1线程环境块(TEB)3.2堆栈溢出与保护3.3
Windows逆向工程入门之汇编指令格式与操作数类型
0xCC说逆向
汇编 windows arm开发 WIN32 c语言 逆向 安全
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录一、汇编指令格式基础二、操作数类型详解1.立即数(Immediate)2.寄存器操作数(Register)3.内存操作数(Memory)4.端口操作数(Port)三、汇编指令格式分类1.零操作数指令2.单操作数指令3.双操作数指令4.三操作数指令四、逆向工程中的指令解析技巧五、拓展知识点一、汇编指令格式基础汇编指令由操作码(Opc
Linux系统之安装Mongodb数据库
运维开发小白丶
数据库 mongodb
1.安装包下载wgethttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.27.tgz2.安装和启动2.1解压tar-zxvfmongodb-linux-x86_64-rhel70-4.0.27.tgz2.2将解压后的目录移动到/usr/local目录下,并改名为mongodbmvmongodb-linux-x86_64
设计模式之单例模式
Forget the Dream
设计模式 设计模式 单例模式 c++
概念单例模式是一种创建型设计模式1,它保证一个类在整个系统运行期间只有一个实例,并且提供一个全局访问点来访问这个唯一实例。无论在系统的任何地方、任何时间,对该类进行实例化操作,获取到的都是同一个对象实例。这就像在一个公司中,通常会有一个唯一的总经理,无论从哪个部门去获取总经理这个角色的实例,得到的都是同一个人。实现原理实现方式一般通过将类的构造函数设置为私有,防止外部代码通过常规的new操作符来创
红队内网攻防渗透:内网渗透之Windows内网信息收集:内网和域
HACKNOE
红队攻防内网渗透研究院 web安全 网络安全 系统安全
红队内网攻防渗透1.内网渗透之信息收集1.内网信息收集的目的2.本机信息收集网络配置查询操作系统及版本信息查看系统体系结构查看安装的软件及版本、路径等查询本机服务查询进程列表查毒软件查看启动程序信息查看计划任务查看主机开机时间查询用户列表获取本地管理员查看当前在线用户列出或断开本地计算机与所连的客户端之间的会话查看端口列表查看补丁列表查看共享连接保存当前主机上的所有WiFi信息查看本机共享列表查询
Windows奇技淫巧之网络命令行
沉迷单车的追风少年
服务端编程 计算机网络 经验问题汇总 windows 网络
写在前面:Linux老鸟会深度沉迷命令行,各种奇技淫巧心中涨,但是windows上的命令行相当好用,各种骚操作也是眼花缭乱。其中网络操作经常使用,本文做一个简单的总结。目录1、ipconfig:显示当前TCP/IP配置的设置值2、ping:测试目的站是否可达及相关状态3、arp:地址解析协议4、traceroute:路由跟踪5、route:操作路由表6、netstat:显示协议统计信息7、nbts
人工智能的发展领域之GPU加速计算的应用概述、架构介绍与教学过程
m0_74824592
面试 学习路线 阿里巴巴 人工智能 架构
文章目录一、架构介绍GPU算力平台概述优势与特点二、注册与登录账号注册流程GPU服务器类型配置选择指南内存和存储容量网络带宽CPU配置三、创建实例实例创建步骤镜像选择与设置四、连接实例SSH连接方法远程桌面配置一、架构介绍GPU算力平台概述一个专注于GPU加速计算的专业云服务平台,隶属于软件和信息技术服务业。主要面向高校、科研机构和企业用户。该平台提供多种NVIDIAGPU选择,适用于机器学习、人
Python学习之cookies及session用法
一个人旅行*-*
Python Python cookies session
当想利用Python在网页上发表评论的时候,需要一些账号密码登录的信息,这个时候用requests.get()请求的话,账号密码全部会显示在网址上,这显然不科学!这个时候需要用post请求,可以这么理解,get是明文显示,post是非明文显示。通常,get请求会应用于获取网页数据,比如我们之前学的requests.get()。post请求则应用于向网页提交数据,比如提交表单类型数据(像账号密码就是
15. MySql高级之常用SQL技巧☆
喵先生呢
# MySql高级 mysql
文章目录MySql高级之常用SQL技巧☆1.SQL执行顺序2.正则表达式使用3.MySQL常用函数3.1数字函数3.2字符串函数3.3日期函数3.4聚合函数☆MySql高级之常用SQL技巧☆1.SQL执行顺序编写顺序selectdistinctfromjoinONwheregroupbyhavingorderbylimit执行顺序fromonjoinwheregroupbyhavingselect
springboot之https服务器(生成keystore证书库及转cer证书)
Biu→Biu丶
springboot https java https
一.生成自签名证书打开cmd输入命令生成证书:keytool-genkeypair-aliastomcat_https-keypass123456-keyalgRSA-keysize1024-validity365-keystore./https-java.keystore-storepass123456属性说明:-alias别名-keypass指定生成密钥的密码-keyalg指定密钥使用的加密算
【Vim Masterclass 笔记10】S06L23:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第二部分)
安冬的码畜日常
Vim Masterclass vim 笔记 vim查找与替换
文章目录S06L23Search,Find,andReplace-PartTwo1文本替换命令`:s/old/new/`2指定范围的文本替换3特例:路径的替换4文件行号的配置5要点总结(1)搜索当前行(SameLineSearching)(2)跨行搜索(Searching)(3)替换命令(SubstituteCommand)写在前面根据李笑来《自学是门手艺》的建议,梳理完知识要点后又对这章内容制作
【Vim Masterclass 笔记13】第 7 章:Vim 核心操作之——文本对象与宏操作 + S07L28:Vim 文本对象
安冬的码畜日常
Vim Masterclass vim 笔记 vim文本对象 文本对象
文章目录Section7:TextObjectsandMacrosS07L28TextObjects1文本对象的含义2操作文本对象的基本语法3操作光标所在的整个单词4删除光标所在的整个句子5操作光标所在的整个段落6删除光标所在的中括号内的文本7删除光标所在的小括号内的文本8操作尖括号内的文本9操作光标所在的标签文本10操作大括号内的文本11操作光标所在的各种括号内的文本12本节思维导图写在前面本篇
时间序列分析之AR、MA、ARMA、ARIMA详解(5)
白马负金羁
机器学习之术 协整 cointegration ARIMA 时间序列分析
在时间序列分析中最常使用的一系列模型:AR、MR、ARMA,一直到ARIMA,都源于乔治·博克斯和格威利姆·詹金斯等人的一系列工作(他们的有关成果后汇集成该领域的权威经典著作【1】)。乔治·博克斯被认为是二十世纪的一代统计学大师,他有一句广为人知的名言:所有的模型都是错误的,但有一些是有用的(“Allmodelsarewrong,butsomeareuseful”)。为了让统计模型发挥作用,深入理
java的(PO,VO,TO,BO,DAO,POJO)
Cb123456
VO TO BO POJO DAO
转:
http://www.cnblogs.com/yxnchinahlj/archive/2012/02/24/2366110.html
-------------------------------------------------------------------
O/R Mapping 是 Object Relational Mapping(对象关系映
spring ioc原理(看完后大家可以自己写一个spring)
aijuans
spring
最近,买了本Spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬 的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。IO
MyEclipse 2014中Customize Persperctive设置无效的解决方法
Kai_Ge
MyEclipse2014
高高兴兴下载个MyEclipse2014,发现工具条上多了个手机开发的按钮,心生不爽就想弄掉他!
结果发现Customize Persperctive失效!!
有说更新下就好了,可是国内Myeclipse访问不了,何谈更新...
so~这里提供了更新后的一下jar包,给大家使用!
1、将9个jar复制到myeclipse安装目录\plugins中
2、删除和这9个jar同包名但是版本号较
SpringMvc上传
120153216
springMVC
@RequestMapping(value = WebUrlConstant.UPLOADFILE)
@ResponseBody
public Map<String, Object> uploadFile(HttpServletRequest request,HttpServletResponse httpresponse) {
try {
//
Javascript----HTML DOM 事件
何必如此
JavaScript html Web
HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序。
事件通常与函数结合使用,函数不会在事件发生前被执行!
注:DOM: 指明使用的 DOM 属性级别。
1.鼠标事件
属性  
动态绑定和删除onclick事件
357029540
JavaScript jquery
因为对JQUERY和JS的动态绑定事件的不熟悉,今天花了好久的时间才把动态绑定和删除onclick事件搞定!现在分享下我的过程。
在我的查询页面,我将我的onclick事件绑定到了tr标签上同时传入当前行(this值)参数,这样可以在点击行上的任意地方时可以选中checkbox,但是在我的某一列上也有一个onclick事件是用于下载附件的,当
HttpClient|HttpClient请求详解
7454103
apache 应用服务器 网络协议 网络应用 Security
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需
递归 逐层统计树形结构数据
darkranger
数据结构
将集合递归获取树形结构:
/**
*
* 递归获取数据
* @param alist:所有分类
* @param subjname:对应统计的项目名称
* @param pk:对应项目主键
* @param reportList: 最后统计的结果集
* @param count:项目级别
*/
public void getReportVO(Arr
访问WEB-INF下使用frameset标签页面出错的原因
aijuans
struts2
<frameset rows="61,*,24" cols="*" framespacing="0" frameborder="no" border="0">
MAVEN常用命令
avords
Maven库:
http://repo2.maven.org/maven2/
Maven依赖查询:
http://mvnrepository.com/
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName 
PHP如果自带一个小型的web服务器就好了
houxinyou
apache 应用服务器 Web PHP 脚本
最近单位用PHP做网站,感觉PHP挺好的,不过有一些地方不太习惯,比如,环境搭建。PHP本身就是一个网站后台脚本,但用PHP做程序时还要下载apache,配置起来也不太很方便,虽然有好多配置好的apache+php+mysq的环境,但用起来总是心里不太舒服,因为我要的只是一个开发环境,如果是真实的运行环境,下个apahe也无所谓,但只是一个开发环境,总有一种杀鸡用牛刀的感觉。如果php自己的程序中
NoSQL数据库之Redis数据库管理(list类型)
bijian1013
redis 数据库 NoSQL
3.list类型及操作
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。
&nbs
谁在用Hadoop?
bingyingao
hadoop 数据挖掘 公司 应用场景
Hadoop技术的应用已经十分广泛了,而我是最近才开始对它有所了解,它在大数据领域的出色表现也让我产生了兴趣。浏览了他的官网,其中有一个页面专门介绍目前世界上有哪些公司在用Hadoop,这些公司涵盖各行各业,不乏一些大公司如alibaba,ebay,amazon,google,facebook,adobe等,主要用于日志分析、数据挖掘、机器学习、构建索引、业务报表等场景,这更加激发了学习它的热情。
【Spark七十六】Spark计算结果存到MySQL
bit1129
mysql
package spark.examples.db
import java.sql.{PreparedStatement, Connection, DriverManager}
import com.mysql.jdbc.Driver
import org.apache.spark.{SparkContext, SparkConf}
object SparkMySQLInteg
Scala: JVM上的函数编程
bookjovi
scala erlang haskell
说Scala是JVM上的函数编程一点也不为过,Scala把面向对象和函数型编程这两种主流编程范式结合了起来,对于熟悉各种编程范式的人而言Scala并没有带来太多革新的编程思想,scala主要的有点在于Java庞大的package优势,这样也就弥补了JVM平台上函数型编程的缺失,MS家.net上已经有了F#,JVM怎么能不跟上呢?
对本人而言
jar打成exe
bro_feng
java jar exe
今天要把jar包打成exe,jsmooth和exe4j都用了。
遇见几个问题。记录一下。
两个软件都很好使,网上都有图片教程,都挺不错。
首先肯定是要用自己的jre的,不然不能通用,其次别忘了把需要的lib放到classPath中。
困扰我很久的一个问题是,我自己打包成功后,在一个同事的没有装jdk的电脑上运行,就是不行,报错jvm.dll为无效的windows映像,如截图
最后发现
读《研磨设计模式》-代码笔记-策略模式-Strategy
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化
简单理解:
1、将不同的策略提炼出一个共同接口。这是容易的,因为不同的策略,只是算法不同,需要传递的参数
cmd命令值cvfM命令
chenyu19891124
cmd
cmd命令还真是强大啊。今天发现jar -cvfM aa.rar @aaalist 就这行命令可以根据aaalist取出相应的文件
例如:
在d:\workspace\prpall\test.java 有这样一个文件,现在想要将这个文件打成一个包。运行如下命令即可比如在d:\wor
OpenJWeb(1.8) Java Web应用快速开发平台
comsci
java 框架 Web 项目管理 企业应用
OpenJWeb(1.8) Java Web应用快速开发平台的作者是我们技术联盟的成员,他最近推出了新版本的快速应用开发平台 OpenJWeb(1.8),我帮他做做宣传
OpenJWeb快速开发平台以快速开发为核心,整合先进的java 开源框架,本着自主开发+应用集成相结合的原则,旨在为政府、企事业单位、软件公司等平台用户提供一个架构透
Python 报错:IndentationError: unexpected indent
daizj
python tab 空格 缩进
IndentationError: unexpected indent 是缩进的问题,也有可能是tab和空格混用啦
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且在Python语言里,缩进而非花括号或者某种关键字,被用于表示语句块的开始和退出。增加缩进表示语句块的开
HttpClient 超时设置
dongwei_6688
httpclient
HttpClient中的超时设置包含两个部分:
1. 建立连接超时,是指在httpclient客户端和服务器端建立连接过程中允许的最大等待时间
2. 读取数据超时,是指在建立连接后,等待读取服务器端的响应数据时允许的最大等待时间
在HttpClient 4.x中如下设置:
HttpClient httpclient = new DefaultHttpC
小鱼与波浪
dcj3sjt126com
一条小鱼游出水面看蓝天,偶然间遇到了波浪。 小鱼便与波浪在海面上游戏,随着波浪上下起伏、汹涌前进。 小鱼在波浪里兴奋得大叫:“你每天都过着这么刺激的生活吗?简直太棒了。” 波浪说:“岂只每天过这样的生活,几乎每一刻都这么刺激!还有更刺激的,要有潮汐变化,或者狂风暴雨,那才是兴奋得心脏都会跳出来。” 小鱼说:“真希望我也能变成一个波浪,每天随着风雨、潮汐流动,不知道有多么好!” 很快,小鱼
Error Code: 1175 You are using safe update mode and you tried to update a table
dcj3sjt126com
mysql
快速高效用:SET SQL_SAFE_UPDATES = 0;下面的就不要看了!
今日用MySQL Workbench进行数据库的管理更新时,执行一个更新的语句碰到以下错误提示:
Error Code: 1175
You are using safe update mode and you tried to update a table without a WHERE that
枚举类型详细介绍及方法定义
gaomysion
enum javaee
转发
http://developer.51cto.com/art/201107/275031.htm
枚举其实就是一种类型,跟int, char 这种差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值。建议大家可以看看,这两篇文章,《java枚举类型入门》和《C++的中的结构体和枚举》,供大家参考。
枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum
Merge Sorted Array
hcx2013
array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:You may assume that nums1 has enough space (size that is
Expression Language 3.0新特性
jinnianshilongnian
el 3.0
Expression Language 3.0表达式语言规范最终版从2013-4-29发布到现在已经非常久的时间了;目前如Tomcat 8、Jetty 9、GlasshFish 4已经支持EL 3.0。新特性包括:如字符串拼接操作符、赋值、分号操作符、对象方法调用、Lambda表达式、静态字段/方法调用、构造器调用、Java8集合操作。目前Glassfish 4/Jetty实现最好,对大多数新特性
超越算法来看待个性化推荐
liyonghui160com
超越算法来看待个性化推荐
一提到个性化推荐,大家一般会想到协同过滤、文本相似等推荐算法,或是更高阶的模型推荐算法,百度的张栋说过,推荐40%取决于UI、30%取决于数据、20%取决于背景知识,虽然本人不是很认同这种比例,但推荐系统中,推荐算法起的作用起的作用是非常有限的。
就像任何
写给Javascript初学者的小小建议
pda158
JavaScript
一般初学JavaScript的时候最头痛的就是浏览器兼容问题。在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了。 如果你正初学JavaScript并有着一样的处境的话建议你:初学JavaScript的时候无视DOM和BOM的兼容性,将更多的时间花在 了解语言本身(ECMAScript)。只在特定浏览器编写代码(Chrome/Fi
Java 枚举
ShihLei
java enum 枚举
注:文章内容大量借鉴使用网上的资料,可惜没有记录参考地址,只能再传对作者说声抱歉并表示感谢!
一 基础 1)语法
枚举类型只能有私有构造器(这样做可以保证客户代码没有办法新建一个enum的实例)
枚举实例必须最先定义
2)特性
&nb
Java SE 6 HotSpot虚拟机的垃圾回收机制
uuhorse
java HotSpot GC 垃圾回收 VM
官方资料,关于Java SE 6 HotSpot虚拟机的garbage Collection,非常全,英文。
http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html
Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning
&