一、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基础教程)
学习记录之游标翻页实现
sjsjsbbsbsn
Java学习之路 项目实战技巧 java mysql redis
游标翻页本方案参考mallchat实现一.深翻页问题普通翻页前端一般会有个分页条。能够指定一页的条数,以及任意选择查看第几页,假设我们想查询第11页的内容传递过来的参数为:pageNo=11,pageSize=10对应的sql查询为:select*fromtablelimit100,10其中100代表需要跳过的条数,10代表跳过指定条数后,往后需要再取的条数。假设翻页到1w条,那我们要先扫描到这1
Ubuntu和Windows系统之Mamba_ssm安装
Netceor
Python ubuntu windows linux
Mamba的论文:https://arxiv.org/abs/2312.00752Mamba的github:https://github.com/state-spaces/mamba一、Ubuntu安装直接新建一个环境是最好的,不然很容易产生各种冲突#创建环境和相关包condacreate-nmambapython=3.10.13condaactivatemambacondainstallcuda
分页优化之——游标分页
PhilipJ0303
Java面试 java 数据库优化 游标分页 分页查询
游标分页(Cursor-basedPagination)是一种高效的分页方式,特别适用于大数据集和无限滚动的场景。与传统的基于页码的分页(如page=1&size=10)不同,游标分页通过一个唯一的游标(通常是时间戳或唯一ID)来标记分页的位置,避免了传统分页在数据变动时的重复或遗漏问题。以下是游标分页在前后端的实现方式:1.游标分页的核心概念游标(Cursor):游标是一个唯一标识符,通常是数据
DS/ML:数据科学技术之数据科学生命周期(四大层次+机器学习六大阶段+数据挖掘【5+6+6+4+4+1】步骤)的全流程最强学习路线讲解之详细攻略
一个处女座的程序猿
资深文章(前沿/经验/创新) DataScience ML 数据科学 数据科学的生命周期 机器学习
DS/ML:数据科学技术之数据科学生命周期(四大层次+机器学习六大阶段+数据挖掘【5+6+6+4+4+1】步骤)的全流程最强学习路线讲解之详细攻略导读:本文章是博主在数据科学和机器学习领域,先后实战过几百个应用案例之后的精心总结,应该是完全覆盖了数据科学的整个生命周期及其各个阶段的要点。其中机器学习领域六大阶段更是在整个数据科学生命周期中扮演着极其重要的角色。同时,因为涉及到博主出书中出版社要求在
JVM常用概念之编译器黑洞
剑海风云
JDK(Java Development Kit) jvm 编译器 编译器黑洞
问题JMH如何避免微小基准测试中的不会运行的代码的消除工作?是否有隐式或显式编译器支持?基础知识优化编译器擅长优化简单的东西。例如,如果存在任何人都无法观察到的计算,则可以将其视为“不会运行的代码”并将其删除。这通常是一件好事,直到你运行基准测试。在那里,你想要计算,但你不需要结果。本质上,你观察基准测试所占用的“资源”,但没有简单的方法可以与编译器争论这一点。比如下面的测试用例,该方法中只涉及到
人工智能 - 通用 AI Agent 之 LangManus、Manus、OpenManus 和 OWL 技术选型
天机️灵韵
具身智能 人工智能 人工智能 具身智能 智能体
一、核心项目概览1.Manus(闭源通用AIAgent)定位:全球首个全流程自动化通用AIAgent,GAIA基准测试SOTA水平。核心能力:全流程自动化:从任务规划(如撰写报告)到执行(代码生成、表格制作)的端到端处理。智能纠错机制:基于沙箱环境的实时错误反思与调整(类似CodeAct技术)。云端依赖:需联网运行,集成浏览器操作、信息检索等工具。局限性:闭源且采用邀请制,二手市场邀请码溢价至数万
负载均衡策略之轮询策略
Time-Traveler
Python 算法与数据结构
本文转自:https://mozillazg.com/2019/02/load-balancing-strategy-algorithm-weighted-round-robin.html#hidround-robin,尊重原创前言:本文简单介绍一下轮询(RoundRobin)这个负载均衡策略。轮询选择(RoundRobin):轮询选择指的是从已有的后端节点列表中按顺序依次选择一个节点出来提供服务
CAD二次开发之图纸特性字段AcDbDatabaseSummaryInfo
我的sun&shine
CAD二次开发 开发语言 c++
一、CAD接口类AcDbDatabaseSummaryInfo接口函数acdbGetSummaryInfo(pDb,pSum);addCustomSummaryInfo(key,value);acdbPutSummaryInfo(pSum);二、使用方法1.实现功能:在一张图纸中定义好字段,插入到另外一张图中,对应的字段会更新值。原图纸需要将对应位置写入字段的表达式例如%%%%%%%%新图纸在创建
python之pyttsx3实现文字转语音播报
l8947943
python问题 语音识别 人工智能 pyttsx3 python朗读
1.pyttsx3是什么pyttsx3是Python中的文本到语音转换库,可以实现文本的朗读功能。2.pyttsx3的安装pipinstallpyttsx33.pyttsx3的demoimportpyttsx3pyttsx3.speak("Areyouok?")pyttsx3.speak("最近有许多打工人都说打工好难")戴上耳机直接跑即可。是不是很简单!那如果我们想对读音的速率,中英文问题进行自
【YOLOv8】YOLOv8改进系列(9)----替换主干网络之RepViT
HABuo
YOLOv8入门+改进 YOLO 目标检测 深度学习 计算机视觉 人工智能
主页:HABUO主页:HABUOYOLOv8入门+改进专栏如果再也不能见到你,祝你早安,午安,晚安【YOLOv8改进系列】:【YOLOv8】YOLOv8结构解读YOLOv8改进系列(1)----替换主干网络之EfficientViTYOLOv8改进系列(2)----替换主干网络之FasterNetYOLOv8改进系列(3)----替换主干网络之ConvNeXtV2YOLOv8改进系列(4)----
设计模式之装饰器模式
周努力.
设计模式 设计模式 装饰器模式
装饰器模式(Decorator)依然是我们设计模式中的结构型模式,其中的构造思想仍然是对多个类进行组合使用,以达成系统调用实现指定功能的设计模式。装饰器模式不论在我们日常开发过程中还是在我们提升技术阅读源码过程中都是比较常见的,但是整体学习这个模式的思路难度不大,接下来我将详细讲解此设计模式。目录1.概念2.代码实现3.应用场景4.装饰器模式与代理模式的区别1.概念我们前期所讲到的适配器模式,是连
C# 设计模式之桥接模式
鲤籽鲲
C# c# 设计模式 桥接模式
总目录前言1基础介绍定义:将抽象部分与实现部分分离,使它们都可以独立地变化。桥模式不能只认为是抽象和实现的分离,它其实并不仅限于此。其实两个都是抽象的部分,更确切的理解,应该是将一个事物中多个维度的变化分离。一个维度可以认为是抽象部分,另一个维度可以认为是实现部分,而这两个维度可以独立扩充和维护。桥接模式中的角色:抽象化角色(Abstraction):定义抽象类的接口,一般为抽象类,规范Refin
AI巨浪中的安全之舵:天空卫士助力人工智能落地远航
天空卫士
人工智能 安全 数据安全 网络安全 大数据
"AI时代的安全战场,不在云端在本地;数据治理的胜负手,不在防御在认知。"近期,众多企业纷纷接入DeepSeek大模型,迅速推动了大型模型应用的广泛铺开。无论是在制造业、金融业,还是在医疗、教育等领域,DeepSeek大模型的应用都如火如荼,遍地开花,展现出了其广泛的应用前景和巨大的商业价值。顺势而来的是DeepSeek一体机以"低成本、高算力、私有化部署"的优势席卷企业市场。因为DeepSeek
设计模式之桥接模式
周努力.
设计模式 设计模式 桥接模式 java
目录1.概念2.代码实现3.应用场景桥接模式(BridgePattern)也是我们结构型设计模式的一种,桥接模式整体来说对于开发者需要深刻理解好抽象类这个概念,而且比较考验在开发前就要设计好桥接点来进行开发,所以整体的理解难度我认为是比较高,接下来我将从概念和一个示例来演示该模式。1.概念桥接模式就是将抽象与实现解藕,使两者都可以独立变化。在现实生活中,某些类具有两个或多个维度的变化,如图形既可按
K8S之POD调度
〰振振 ༽
K8S kubernetes docker 容器
K8S-Pod调度1、Deployment/RC:全自动调度简述Deployment或RC的主要功能就是自动部署一个容器应用的多份副本,及持续监控副本的数量并维持该值。创建Deploymentkubectlcreate-fnginx-deployment.yaml#nginx-deployment.yamlapiVersion:apps/v1kind:Deploymentmetadata:name
Kaop打印项之OFD(国标版式文件)
天蓝加点盐
Web打印控件 Kaop 前端 javascript html
OFD功能说明实现OFD文件的打印,详细参见属性列表属性列表属性名类型默认值说明nameString“”打印项的名称,在打印任务内应该唯一。labelString“”打印项的标题,打印设计或维护时,可以更好的了解打印项代表的含义。xString0左边缘相对于打印区域的位置,默认单位毫米(mm),可用单位:毫米-mm,如:“10mm”厘米-cm,如:“1cm”点-pt,如:“16pt”英寸-in,如
程序员学商务英语之Don‘t jinx it、l have a half mind to do sth、Don‘t change the subject、Quality over quantity..
李匠2024
英文
1463-Don'tjinxit.-别鸟鸦嘴A:Whatifitrainstheweekend?Youknow,theweather'sbeenchangeablethesedays!如果这个周末下雨怎么办?你知道,这些天的天气变化无常!B:Don'tiinxit.i'vespentalotoftimepreparingforthiscamping.lhopeitstaysfineforthewe
拥抱健康养生,开启活力生活
lanlande33
生活
在快节奏的现代社会,健康养生不再是一句口号,而是我们对高品质生活的追求。它贯穿于日常的点点滴滴,对我们的身心状态有着深远影响。饮食养生是基础。秉持均衡原则,每日的餐盘应是色彩斑斓的。新鲜蔬菜富含维生素与膳食纤维,像菠菜、西兰花,助力肠道蠕动,维持身体代谢平衡;水果提供丰富果酸与天然糖分,苹果、橙子等,补充水分与营养。优质蛋白质不可或缺,瘦肉、鱼类、豆类都是上佳之选,为身体修复与生长提供原料。同时,
Android 12.0 WiFi连接流程分析之IP地址分配流程
安卓兼职framework应用工程师
android 12.0 Rom开发疑难问题分析 android tcp/ip wifi连接 ip地址 分配ip
1.前言在12.0的系统rom定制化开发中,对于wifi的定制功能也是比较多的,在关于wifi连接流程模块的分析,了解整个wifi连接流程也是非常重要的,接下来看下wifi的连接流程分析下相关功能实现2.WiFi连接流程分析之IP地址分配流程的核心类frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl
Spring系列学习之Spring Messaging消息支持
m0_74825488
面试 学习路线 阿里巴巴 spring linq java
英文原文:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-messaging.html目录JMSActiveMQ支持Artemis支持使用JNDIConnectionFactory发送消息接收消息AMQPRabbitMQ支持发送消息接收消息ApacheKafka支持发送消息接收消息Kafka流
算法之魂:深入剖析数据结构中的七大排序算法
GeminiGlory
数据结构 数据结构 排序算法 算法
目录1.冒泡排序(BubbleSort)2.选择排序(SelectionSort)3.插入排序(InsertionSort)4.希尔排序(ShellSort)5.快速排序(QuickSort)6.归并排序(MergeSort)7.堆排序(HeapSort)在计算机科学领域,排序是一项基础但至关重要的操作。无论你是处理数据库查询结果还是优化搜索效率,了解不同的排序算法及其适用场景都至关重要。本文将介
HarmonyOS Next~HarmonyOS应用开发工具之AppGallery Connect
Bruce_xiaowei
总结经验 编程 笔记 harmonyos 华为
HarmonyOS应用开发工具之AppGalleryConnect一、AppGalleryConnect概述1.1定位与核心价值AppGalleryConnect(AGC)是华为面向HarmonyOS开发者打造的全生命周期服务平台,作为HarmonyOS应用开发的核心工具链,提供从开发、测试、上架到运营的全流程支持。其核心价值体现在:服务集成化:聚合40+云端服务能力开发效率提升:平均缩短30%开
Python 标准库之 logging 模块
36度道
python系列学习笔记 python
1.logging模块简介在软件开发过程中,了解程序的运行状态、记录重要事件以及排查错误是至关重要的。logging模块为Python提供了灵活且强大的日志记录功能。它允许开发者控制日志的输出内容、输出位置(如文件、控制台)、日志级别(用于过滤不同重要程度的日志信息)等,帮助开发者更好地监控和调试程序。2.基本使用简单配置与输出:importlogging#配置日志基本设置logging.basi
python 标准库之 functools 模块
36度道
python系列学习笔记 python
functools模块提供了一系列用于处理函数的工具。其中,像partial可以创建一个新的可调用对象,这个对象固定了原函数的部分参数,有点像给函数穿上了“参数防护服”;reduce能对一个序列进行累积计算,就好比是一个勤劳的小会计,按顺序把序列里的数加起来或者做其他运算;wraps主要用于装饰器,它能帮助装饰器函数保留被装饰函数的元信息,比如函数名、文档字符串等,让被装饰函数“表里如一”。底层原
《南京日报》专题报道 | 耘瞳科技“工业之眼”加码“中国智造”
耘瞳科技
科技
在江宁开发区,机器人已不再是科幻电影里的遥远想象,他们就像人类的“同事”,在工地上忙着贴砖、刷墙、搬运、检测;在体育训练场上帮助运动员矫正姿势;在医院里帮助医生发现帕金森早期征兆,在智慧工厂里与人类分工协作……作为南京市机器人产业“一核多翼”布局的“核”,江宁开发区当前聚集人工智能产业核心及上下游关联企业超百家。近日,《南京日报》走访了多家链条上的“明星企业”,耘瞳科技作为中国领先的智能检测与测量
RTOS之环形缓冲区和队列
三五度
RTOS 单片机 stm32 嵌入式硬件 c语言
一、环形缓冲区(CircularBuffer)类似一个环形跑道,运动员(数据)在跑道上循环奔跑。跑道首尾相连,运动员跑到终点后又会回到起点继续跑。实际上环形缓冲区是一个固定大小的连续内存空间,用两个指针管理数据:写指针:指向下一个可以写入数据的位置。读指针:指向下一个可以读取的数据位置。当数据写到缓冲区末尾时,会自动回到开头继续写(类似“循环”),覆盖旧数据或阻止写入(取决于设计)。运行机制关键设
嵌入式音频框架alsa学习之pcm状态
Liu-Eleven
linux声音框架 音视频 学习 pcm
/**PCMstate*/typedefenum_snd_pcm_state{/**Open*/SND_PCM_STATE_OPEN=0,/**Setupinstalled*/SND_PCM_STATE_SETUP,/**Readytostart*/SND_PCM_STATE_PREPARED,/**Running*/SND_PCM_STATE_RUNNING,/**Stopped:underru
通信之段开销、管理单元指针、净负荷
玖Yee
信息与通信
今天来讲讲sdh段开销、管理单元指针、净负荷吧~SDH段开销(SOH)是指STM-N帧结构中为了保证信息净负荷正常灵活传送所必需的附加字节,用于网络的运行、管理和维护。它位于STM-N帧的第1至第9×N列中,第1至第3行和第5行至第9行,可进一步划分为再生段开销(RSOH)和复用段开销(MSOH)。具体介绍如下:再生段开销(RSOH)-帧定位字节(A1、A2):规定为两种固定代码,A1=11110
Python文件与格式化:编程世界的“读写之道“(技术深挖版)
被窝妄想家
python进阶指南 python 数据库 开发语言
一、文件操作:Python的"读写之眼"1.1文件基础哲学在计算机世界中,文件就像一本本等待翻阅的典籍。Python的open()函数如同手持放大镜,让我们能精确控制阅读和书写:#经典打开模式组合withopen("data.txt","r+",encoding="utf-8")asf:#r+模式:可读可写,文件指针初始位置在开头content=f.read(10)#读取前10个字节f.seek(
LLMs之minimind:minimind源码解读(pretrain.py)——实现基于Transformer架构的大规模语言模型预训练及wandb监控—支持余弦退火学习率调度/分布式预训练/自动混
一个处女座的程序猿
NLP/LLMs CaseCode transformer minimind 预训练
LLMs之minimind:minimind源码解读(pretrain.py)——实现基于Transformer架构的大规模语言模型预训练及wandb监控—支持余弦退火学习率调度/分布式预训练/自动混合精度优化/梯度累积/梯度裁剪/定期保存模型目录minimind源码解读(pretrain.py)——实现基于Transformer架构的大规模语言模型预训练及wandb监控—支持余弦退火学习率调度/
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
&