Web 标准概览
一. 关键字:W3C ,Web 标准
二. 概述: 本文概要地介绍了Web 标准的网页需要注意的地方
三. 详细内容:
1
DOCTYPE 是 document type( 文档类型 ) 的简写,用来说明你用的 XHTML 或者 HTML 是什么版本。
其中的 DTD( 例如上例中的 xhtml1-transitional.dtd) 叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的 DTD 来解释你页面的标识,并展现出来。
要建立符合标准的网页, DOCTYPE 声明是必不可少的关键组成部分;除非你的 XHTML 确定了一个正确的 DOCTYPE ,否则你的标识和 CSS 都不会生效。
XHTML 1.0 提供了三种 DTD 声明可供选择:
1.1 过渡的 (Transitional): 要求非常宽松的 DTD ,它允许你继续使用 HTML4.01 的标识 ( 但是要符合 xhtml 的写法 ) 。完整代码如下:
1.2 严格的 (Strict): 要求严格的 DTD ,你不能使用任何表现层的标识和属性,例如 。完整代码如下:
1.3 框架的 (Frameset): 专门针对框架页面设计使用的 DTD ,如果你的页面中包含有框架,需要采用这种 DTD 。完整代码如下:
理想情况当然是严格的 DTD ,但对于我们大多数刚接触 web 标准的设计师来说,过渡的 DTD(XHTML 1.0 Transitional) 是目前理想选择 ( 包括本站,使用的也是过渡型 DTD) 。因为这种 DTD 还允许我们使用表现层的标识、元素和属性,也比较容易通 过 W3C 的代码校验。
注:上面说的 " 表现层的标识、属性 " 是指那些纯粹用来控制表现的 tag ,例如用于排版的表格、背景颜色标识等。在 XHTML 中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。
DOCTYPE 声明必须放在每一个 XHTML 文档最顶部,在所有代码和标识之上。
2 DOCTYPE 声明好以后,接下来的代码是:
通常我们 HTML4.0 的代码只是 ,这里的 "xmlns" 是什么呢?这个 "xmlns" 是 XHTML namespace 的缩写,叫做 " 名字空间 " 声明。
由于 xml 允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生, XML 采用名字空间声明,允许你通过一个网址指向来识别你的标识。
XHTML 是 HTML 向 XML 过渡的标识语言,它需要符合 XML 文档规则,因此也需要定义名字空间。又因为 XHTML1.0 不能自定义标识,所以它 的名字空间都相同,就是 "http://www.w3.org/1999/xhtml" 。如果你还不太理解也不要紧,目前阶段我们只要照抄代码就可以了。后面的 lang="gb2312", 指定你的文档用简体中文。
3 定义你的语言编码
为了被浏览器正确解释和通过 W3C 代码校验,所有的 XHTML 文档都必须声明它们所使用的编码语言,我们一般使用 gb2312( 简体中文 ) ,制作多国语言页面也有可能用 Unicode 、 ISO-8859-1 等,根据你的需要定义。
通常这样定义就可以了。但是要补充说明的是, XML 文档并不是这样定义语言编码的, XML 的定义方式如下:
4 用 web 标准设计网站,过渡的方法主要是采用 XHTML+CSS , css 样式表是必不可少的。
4.1 外部调用样式表
在以前,我们通常采用 2 种方法使用样式表:
4.1.1 页面内嵌法:就是将样式表直接写在页面代码的 head 区。类似这样:
4.1.2 外部调用法:将样式表写在一个独立的 .css 文件中,然后在页面 head 区用类似以下代码调用。
在符合 web 标准的设计中,我们使用外部调用法,好处不言而喻,你可以不修改页面只修改 .css 文件而改变页面的样式。如果所有页面都调用同一个样式表文件,那么改一个样式表文件,可以改变所有文件的样式。
4.2 双表法调用样式表
查看某些符合标准站点的原代码,你可能看到,在调用样式表的地方有如下 2 句:
为什么要写两次呢?
实际上一般情况下用外联法调用 ( 就是第一句 ) 就足够了。我这里使用双表调用只是一种示例。其中的 "@import" 命令用于输入样式表。而 "@import" 命令在 netscape 4.0 版本浏览器是无效的。也就是说,当你希望某些效果在 netscape 4.0 浏览器中隐藏,在 4.0 以上或其它浏览器中又显示的时候,你可以采用 "@import" 命令方法调用样式表 .
5 收藏夹小图标
5.1 将下面的代码嵌入 head 区:
5.2 为搜索引擎准备的内容
代码如下,替换成你自己站点的内容就可以:
5.2.1 允许搜索机器人搜索站内所有链接。如果你想某些页面不被搜索,推荐采用 robots.txt 方法
5.2.2 设置站点作者信息
5.2.3 设置站点版权信息
版权所有" />
5.2.4 站点的简要介绍 ( 推荐 )
专业从事企业信息化管理的研究、咨询与系统开发的国家高新技术软件企业" />
5.2.5 站点的关键词 ( 推荐 )
6 XHTML 代码规范
6.1 所有的标记都必须要有一个相应的结束标记
以前在 HTML 中,你可以打开许多标签,例如
和 而不一定写对应的
和 < /li> 来关闭它们。但在 XHTML 中这是不合法的。 XHTML 要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个 "/" 来关闭它。例如 :
网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />
6.2 所有标签的元素和属性的名字都必须使用小写
与 HTML 不一样, XHTML 对大小写是敏感的, 和 是不同的标签。 XHTML 要求所有的标签 和属性的名字都必须使用小写。例如: 必须写成 。大小写夹杂也是不被认可的,通常 dreamweaver 自动生成的属性名字 "onMouseOver" 也必须修改成 "onmouseover" 。
6.3 所有的 XML 标记都必须合理嵌套
同样因为 XHTML 要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:
/b>
必须修改为:
/p>
就是说,一层一层的嵌套必须是严格对称。
相同的, 如果标签是空标签, 如 , 等, 也要关闭它们, 如
" zeldman.gif " />
注意, 不要拉掉在br, 或img 结尾的/> 标记, 同时在/> 之前要有空格分开。
6.4 所有的属性必须用引号 "" 括起来
在 HTML 中,你可以不需要给属性值加引号,但是在 XHTML 中,它们必须被加引号。例如 :
必须修改为:
特殊情况,你需要在属性值里使用双引号,你可以用 " ,单引号可以使用 ' ,例如:
6.5 把所有 < 和 & 特殊符号用编码表示
任何小于号( < ),不是标签的一部分,都必须被编码为 <
任何大于号( > ),不是标签的一部分,都必须被编码为 >
任何与号( & ),不是实体的一部分的,都必须被编码为 &
6.6 给所有属性赋一个值
XHTML 规定所有属性都必须有一个值,没有值的就重复本身。例如:
必须修改为:
checked="checked">
6.7 不要在注释内容中使 “--”
“--” 只能发生在 XHTML 注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的 :
用等号或者空格替换内部的虚线。
7 CSS 布局入门
CSS 布局与传统表格 (table) 布局最大的区别在于:原来的定位都是采用表格,通过表格的间距或者用无色透明的 GIF 图片来控制文布局版块的间距;而现在则采用层 (div) 来定位,通过层的 margin,padding,border 等属性来控制版块的间距。
分析一个典型的定义 div 例子:
#sample{ MARGIN: 10px 10px 10px 10px;
PADDING:20px 10px 10px 20px;
BORDER-TOP: #CCC 2px solid;
BORDER-RIGHT: #CCC 2px solid;
BORDER-BOTTOM: #CCC 2px solid;
BORDER-LEFT: #CCC 2px solid;
BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;
COLOR: #666;
TEXT-ALIGN: center;
LINE-HEIGHT: 150%; WIDTH:60%; }
说明如下:
层的名称为 sample ,在页面中用 就可以调用这个样式。
MARGIN 是指层的边框以外留的空白,用于页边距或者与其它层制造一个间距。 "10px 10px 10px 10px" 分别代表 " 上右下左 "( 顺时针方向 ) 四个边距,如果都一样,可以缩写成 "MARGIN: 10px;" 。如果边距为零,要写成 "MARGIN: 0px;" 。注意:当值是零时,除了 RGB 颜色值 0% 必须跟百分号,其他情况后面可以不跟单位 "px" 。 MARGIN 是透明元素,不能定义颜色。
PADDING 是指层的边框到层的内容之间的空白。和 margin 一样,分别指定上右下左边框到内容的距离。如果都一样,可以缩写成 "PADDING:0px" 。单独指定左边可以写成 "PADDING-LEFT: 0px;" 。 PADDING 是透明元素,不能定义颜色。
BORDER 是指层的边框, "BORDER-RIGHT: #CCC 2px solid;" 是定义层的右边框颜色为 "#CCC" ,宽度为 "2px" ,样式为 "solid" 直线。如果要虚线样式可以用 "dotted" 。
BACKGROUND 是定义层的背景。分 2 级定义,先定义图片背景,采用 "url(../images/bg_logo.gif)" 来指定背景图片路径;其次定义背景色 "#FEFEFE" 。 "no-repeat" 指背景图片不需要重复,如果需要横向重复用 "repeat-x", 纵向重复用 "repeat-y", 重复铺满整个背景用 "repeat" 。后面的 "right bottom;" 是指背景图片从右下角开始。如果没有背景图片可以只定义背景色 BACKGROUND: #FEFEFE
COLOR 用于定义字体颜色,上一节已经介绍过。
TEXT-ALIGN 用来定义层中的内容排列方式, center 居中 ,left 居左 ,right 居右。
LINE-HEIGHT 定义行高, 150% 是指高度为标准高度的 150% ,也可以写作: LINE-HEIGHT:1.5 或者 LINE-HEIGHT:1.5em ,都是一样的意思。
WIDTH 是定义层的宽度,可以采用固定值,例如 500px ,也可以采用百分比,象这里的 "60%" 。要注意的是 : 这个宽度仅仅指你内容的宽度,不包含 margin,border 和 padding 。但在有些浏览器中不是这么定义的,需要你多试试。
再来看看CSS2 的盒模型Box Model
通过以上内容的了解,我们可以将Content 内容部分显示在我们想要显示的容器内的位置。
同时,我们可以看到,IE 与其他浏览器在解释width 的时候是不同的,因此会造成排版上的偏差。这里我们需要使用一些小技巧来处理。看以下CSS 代码:
div.sample{
border:20px solid #60A179;
padding:30px;
background: #ffc;
width :400px;
voice-family : "/"}/"";
voice-family :inherit;
width : 300px;
}
html>body .content { width :300; }
注意上面加粗的两句,IE 是不能识别的,因此会跳过其下声明,认为IE 中的width 为400px 。而其他符合标准的浏览器会继续阅读,认为width 为300px 。因此对比上图可以得出
CSS’Width’ + 2*border + 2*padding = IE’Width’ ,两者表示的意思是一致的。
8 使用 显示列表或菜单
默认情况下, 的每一项都会显示一个难看的小圆点,其实通过样式是可以去掉的。将属性LIST-STYLE-TYPE 的值置为none ,小圆点就会消失。另外,设置li 的背景图片,并将背景图片显示在指定位置就可以达到使用图片替换小圆点的目的。将属性Display 为inline ,可以将列表横向显示。
你可能感兴趣的:(C#)
C#中使用split分割字符串
互联网打工人no1
c#
1、用字符串分隔:usingSystem.Text.RegularExpressions;stringstr="aaajsbbbjsccc";string[]sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach(stringiinsArray)Response.Write(i.ToString()+"");输出结果:aaabbbc
你可能遗漏的一些C#/.NET/.NET Core知识点
追逐时光者
C# .NET DotNetGuide编程指南 c# .net .netcore microsoft
前言在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NETCore拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。拾遗补漏GitHub开源地址https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/D
C#动态加载DLL程序集及使用反射创建实例-简记
不全
C#相关 Asp.net WebForm Asp.net MVC c# Assembly 反射 程序集
Assembly动态加载程序集:分两种情况:1、需要加载的程序集已经在程序中被引用了,则直接从当前程序域中查找即可:Assemblyassembly=AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(x=>x.GetName().Name.Contains("theAssemblyName"));2、需要加载的程序集未被加载,则使用程序集
开发游戏的学习规划
杰克逊的日记
游戏 学习
第一阶段:●C#语言快速系统地学习一遍(基础的语法、面向对象、基础的数据结构、基础的设计模式)●Unity的2D和3D部分及UI、动画、物理系统●阶段性测验:需要去用前面所学的这些基础知识来完成一个简单的2d或者3d的案例,将通过一个自制的《Flappybird》游戏案例讲解游戏开发的思想及方法,并将《Flappybird》这个游戏进一步改造成一个横版射击类游戏《Crazybird》以巩固并且升华
python可以制作大型游戏_python能做游戏吗-python能开发游戏吗
靖dede
python可以制作大型游戏
python可以写游戏,但不适合。下面我们来分析一下具体原因。用锤子能造汽车吗?谁也没法说不能吧?历史上也确实曾经有些汽车,是用锤子造出来的。但一般来说,还是用工业机器人更合适对吗?比较大型的,使用Python的游戏有两个,一个是《EVE》,还有一个是《文明》。但这仅仅是个例,没有广泛意义。一般来说,用来做游戏的语言,有两种。一是C++。。一是C#。。Python理论上,不仅不适合做游戏,而是只要
【C#生态园】深度剖析:C#嵌入式开发工具大揭秘
friklogff
C#生态园 c# 开发语言
C#嵌入式开发:全面了解六大框架与库前言随着物联网和嵌入式系统的快速发展,越来越多的开发者开始关注使用C#语言进行嵌入式开发。本文将介绍几种用于C#的嵌入式开发框架和相关库,以及它们的核心功能、安装配置方法和API概览,帮助读者了解并选择适合自己项目的工具和资源。欢迎订阅专栏:C#生态园文章目录C#嵌入式开发:全面了解六大框架与库前言1.nanoFramework:一个用于C#的嵌入式开发框架1.
Lua 与 C#交互
z2014z
lua c# 开发语言
Lua与C#交互前提Lua是一种嵌入式脚本语言,Lua的解释器是用C编写的,因此可以方便的与C/C++进行相互调用。轻量级Lua语言的官方版本只包括一个精简的核心和最基本的库,这使得Lua体积小、启动速度快,也适合嵌入在别的程序里。交互过程C#调用Lua:由C#文件调用Lua解析器底层dll库(由C语言编写),再由dll文件执行相应的Lua文件。Lua调用C#:1、Wrap方式:首先生成C#源文件
C# 开发教程-入门基础
天马3798
教程系列整理 c# 开发语言
1.C#简介、环境,程序结构2.C#基本语法,变量,控制局域,数据类型,类型转换3.C#数组、循环,Linq4.C#类,封装,方法5.C#枚举、字符串6.C#面相对象,继承,封装,多态7.C#特性、属性、反射、索引器8.C#委托,事件,集合,泛型9.C#匿名方法10.C#多线程更多:JQuery开发教程入门基础Vue开发基础入门教程Vue开发高级学习教程
C# 禁止程序重复启动
wiseyao1219
c#
修改:Program.cs[STAThread]staticvoidMain(){Mutexmutex=newMutex(true,"NewGuid123456",outboolisCreatedNew);if(!isCreatedNew){MessageBox.Show(Application.ProductName+"isrunning...");return;}Application.Ena
C#中判断socket是否已断开的方法
wiseyao1219
c#
代码如下:Sockets=newSocket(..);if(s.Poll(-1,SelectMode.SelectRead)){intnRead=s.Receive();if(nRead==0){//socket连接已断开}}参考:C#中判断socket是否已断开的方法
C#文件被占用的解决方案
花北城
C#项目 文件占用
问题打更新包时,提示文件被占用。System.IO.IOException:文件“D:\RS\RS_CCVI20111210.exe”正由另一进程使用,因此该进程无法访问该文件。在System.IO.__Error.WinIOError(Int32errorCode,StringmaybeFullPath)在System.IO.FileStream.Init(Stringpath,FileMode
C#实现软件自动升级
BruceEditCode
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的参考价值。由于程序在运行时不能用新的版本覆盖自己,因此,我们将登录窗口单独做成一个可执行文件,用户登录时,从网上检测是否有新的主程序,如果有,则从后台下载并覆盖老的版本,用户输入正确的用户名和密码后,通过参数将必要的信息(如用
C# 自动化
TineAine
C# 代码片段 自动化 c# 自动化 模拟操作
实现的方法可能很笨,但是确实很好用usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.InteropServices;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;/******************
技术周总结 09.09~09.15周日(C# WinForm WPF)
打破砂锅问到底007
wpf c# WinForm
文章目录一、09.09周一1.1)问题01:Windows桌面开发中,WPF和WinForm的区别和联系?联系:区别:二、09.12周四2.1)问题01:visualstudio的相关快捷键有哪些?通用快捷键编辑导航调试窗口管理2.2)问题02:publicpartialclassChoosePLReason:CommonBaseForm2.3)问题03:介绍WindowsForms中的Syste
通过C# 裁剪PDF页面
Eiceblue
C# .NET PDF c# pdf 开发语言 visual studio
在处理PDF文档时,有时需要精确地裁剪页面以适应特定需求,比如去除广告、背景信息或者仅仅是为了简化文档内容。本文将指导如何使用免费.NET控件通过C#实现裁剪PDF页面。免费库FreeSpire.PDFfor.NET支持在.NET(C#,VB.NET,ASP.NET,.NETCore)程序中实现创建、操作、转换和打印PDF文档等操作。可以从以下链接下载产品包后手动添加引用,或者直接通过NuGet安
【Unity基础】如何选择脚本编译方式Mono和IL2CPP?
tealcwu
Unity基础 unity 游戏引擎
Edit->ProjectSettings->Player在Unity中,ScriptingBackend决定了项目的脚本编译方式,即如何将C#代码转换为可执行代码。Unity提供了两种主要的ScriptingBackend选项:Mono和IL2CPP。它们之间的区别影响了项目的性能、平台支持、编译时间和调试体验。以下是两者的详细对比:1.Mono简介:Mono是Unity最早使用的脚本后端,基于
C# Tuple、ValueTuple
語衣
C# 知识补充 c#
栏目总目录TupleTuple是C#4.0引入的一个新特性,主要用于存储一个固定数量的元素序列,且这些元素可以具有不同的类型。Tuple是一种轻量级的数据结构,非常适合用于临时存储数据,而无需定义完整的类或结构体。优点简便性:可以快速创建一个包含多个不同类型数据的对象,而无需定义新的类或结构体。灵活性:元素数量和类型在编译时确定,但可以在不同上下文中重复使用不同元素的Tuple。缺点性能:作为引用
C# Linq语句用法大全以及Lambda表达式
一个小码码
c# linq 开发语言 .net
C#Linq语句用法大全以及Lambda表达式Linq:是一种用于数据查询和操作的语言集成查询(LanguageIntegratedQuery)技术。通过Linq,我们可以使用类似于SQL查询的方式来查询、筛选和操作各种类型的数据集合,包括数组、列表、集合、XML文档、数据库表等等。常见的有:LinqtoObjects:用于操作对象集合,例如数组、列表等。LinqtoXML:用于操作XML数据,支
C#中的LInq语句
weixin_30588907
c# 数据库
语言集成查询(LINQ)是一组技术的名称,这些技术建立在将查询功能直接集成到C#语言(以及VisualBasic和可能的任何其他.NET语言)的基础上。借助于LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。对于编写查询的开发人员来说,LINQ最明显的“语言集成”部分是查询表达式。查询表达式是使用C#3.0中引入的声明性查询语法编写的。通过使用查询语法,您甚至可以使用最少的代码对数据源
C#的linq语句
木生火18624
C#开发
/查询表达式必须以form子句开头,以select或者group子句结束,在这两个子句之间,可以使用///where、orderby、join、let和其他的from子句本章要点用列表在对象上执行传统查询扩展方法LINQ查询操作符平行LNQ表达式树本章源代码下载地址(wrox.com)打开网页www.wrox.com/go/procsharp,单击DownloadCode选项卡即可下载本章源代码。
C# 多线程操作同一个文件,如何避免冲突
FlYFlOWERANDLEAF
c# 开发语言
1使用lock经测试,依然存在线程冲突privatestaticobjectlocker=newobject();……lock(locker){stringbText=File.ReadAllText(FPath);returnbText;}……lock(locker){File.WriteAllText(FPath,aContent);}2使用ReaderWriterLockSlim经测试,依然
C#LINQ常用扩展语句
月落.
C# c# linq solr
在C#中,LINQ提供了许多扩展方法,这些方法定义在System.Linq命名空间中。以下是一些常用的LINQ扩展方法:Where-过滤数据集合,返回满足条件的元素。varfilteredItems=collection.Where(item=>item.SomeProperty>10);Select-从数据集合中选择数据或创建新的投影。varprojectedItems=collection.S
source insight4.0中文乱码解决方法
鹿屿二向箔
c语言 stm32 keil mdk
Sourceinsight是强大、顺手的代码编辑器,它几乎支持所有的语言,包括:C,C++,C#,HTML等等,能够自动创建并维护它自己高性能的符号数据库,包括函数、全局变量、结构、类和工程源文件里定义的其它类型的符号,对于大工程的源码阅读非常方便。但是因为是国外软件,对中文支持不是很好,很多电脑安装使用都会出现注释乱码问题,很让人抓狂。网上很多人遇到类似的问题,也有很多解决方式,也有很多“终极解
C#基础知识-.NET,变量,容量单位,数据类型
yi碗汤园
c# 开发语言
目录1.NET简介2.变量1)定义2)声明3)赋值3.容量单位4.数据类型1)整形(整数)2)非整型(小数)3)非数值型本篇文章来分享一下C#的基础知识,主要讲述一下变量和数据类型的相关知识。1.NET简介.NETdonet是Microsoft新一代多语言的开发平台,用于构建和运行应用程序。Unity借助Mono实现跨平台,核心是.NETFramework框架。2.变量1)什么是变量变量是用来存储
C# 在WPF中实现图表生成
A_nanda
WPF赏析 c# wpf 开发语言
在现代应用程序中,数据可视化是一个重要的功能,它可以帮助用户更直观地理解数据。在C#WPF(WindowsPresentationFoundation)中,有多种方式可以生成图表。以下是五种常见的方法,每种方法都有其独特的优势和局限。1.使用System.Windows.Shapes命名空间代码示例:<RectangleWidth="50"Height="50"Fill="Blue"Canva
C#中关闭窗口清除内容
Vae_Mars
AI对话中的其他知识 c# 开发语言
1.解释说明-窗口关闭时是可以执行函数的,可以做一部分事件处理-因为删除文件夹的方案不好做,所以改成清空文件夹内的内容2.程序示例publicMainWindow(){InitializeComponent();//检查窗口关闭this.Closing+=MainWindow_Closing;}//执行具体的方法privatevoidMainWindow_Closing(objectsender,
C#中Invoke的用法()
世界太过浮夸
.net c#
转自:http://www.cnblogs.com/lsgsanxiao/p/5523282.htmlinvoke和begininvoke区别一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。首先说下,invoke和begininvoke的使用有两种情况:control中的invoke、begininvoke。delegra
.NET常见面试题汇总
.Net Core 爱好者
.net c#
首先,汇总一共分为三部分:一是关于.NET技术的面试问题,二是关于.NET项目中的实际问题,三是历年出现过一些面试题汇总一、.NET技术面试问题请简述.NET中的装箱和拆箱。什么是泛型,以及它在.NET中的用途?请解释一下C#中的委托是什么,以及它们如何工作?什么是事件,如何使用它们?请解释一下C#中的特性(Attributes)及其应用场景。.NET中的异步编程模式有哪些?什么是LINQ,它在.
c# net8调用vc写的dll
wiseyao1219
c# 开发语言 dll
dll程序(vc,x86)头文件extern"C"int__declspec(dllexport)WINAPIadd(inta,intb);实现intWINAPIadd(inta,intb){returna+b;}c#/net8函数声明:[DllImport("dll/Dll1.dll",CallingConvention=CallingConvention.StdCall)]publicstat
c# json使用
wiseyao1219
c# json 前端
安装包用NuGet安装包:Newtonsoft.Json对象转为Json字符串publicclassPerson{publicstringName{get;set;}publicintAge{get;set;}}Personperson=newPerson{Name="JohnDoe",Age=30};stringjson2=JsonConvert.SerializeObject(person);
java观察者模式
3213213333332132
java 设计模式 游戏 观察者模式
观察者模式——顾名思义,就是一个对象观察另一个对象,当被观察的对象发生变化时,观察者也会跟着变化。
在日常中,我们配java环境变量时,设置一个JAVAHOME变量,这就是被观察者,使用了JAVAHOME变量的对象都是观察者,一旦JAVAHOME的路径改动,其他的也会跟着改动。
这样的例子很多,我想用小时候玩的老鹰捉小鸡游戏来简单的描绘观察者模式。
老鹰会变成观察者,母鸡和小鸡是
TFS RESTful API 模拟上传测试
ronin47
TFS RESTful API 模拟上传测试。
细节参看这里:https://github.com/alibaba/nginx-tfs/blob/master/TFS_RESTful_API.markdown
模拟POST上传一个图片:
curl --data-binary @/opt/tfs.png http
PHP常用设计模式单例, 工厂, 观察者, 责任链, 装饰, 策略,适配,桥接模式
dcj3sjt126com
设计模式 PHP
// 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什么过来都可以, 不限制类型, 直接调用类的方法
abstract class Tiger {
public abstract function climb();
}
class XTiger extends Tiger {
public function climb()
hibernate
171815164
Hibernate
main,save
Configuration conf =new Configuration().configure();
SessionFactory sf=conf.buildSessionFactory();
Session sess=sf.openSession();
Transaction tx=sess.beginTransaction();
News a=new
Ant实例分析
g21121
ant
下面是一个Ant构建文件的实例,通过这个实例我们可以很清楚的理顺构建一个项目的顺序及依赖关系,从而编写出更加合理的构建文件。
下面是build.xml的代码:
<?xml version="1
[简单]工作记录_接口返回405原因
53873039oycg
工作
最近调接口时候一直报错,错误信息是:
responseCode:405
responseMsg:Method Not Allowed
接口请求方式Post.
关于java.lang.ClassNotFoundException 和 java.lang.NoClassDefFoundError 的区别
程序员是怎么炼成的
真正完成类的加载工作是通过调用 defineClass来实现的;
而启动类的加载过程是通过调用 loadClass来实现的;
就是类加载器分为加载和定义
protected Class<?> findClass(String name) throws ClassNotFoundExcept
JDBC学习笔记-JDBC详细的操作流程
aijuans
jdbc
所有的JDBC应用程序都具有下面的基本流程: 1、加载数据库驱动并建立到数据库的连接。 2、执行SQL语句。 3、处理结果。 4、从数据库断开连接释放资源。
下面我们就来仔细看一看每一个步骤:
其实按照上面所说每个阶段都可得单独拿出来写成一个独立的类方法文件。共别的应用来调用。
1、加载数据库驱动并建立到数据库的连接:
Html代码
St
rome创建rss
antonyup_2006
tomcat cms xml struts Opera
引用
1.RSS标准
RSS标准比较混乱,主要有以下3个系列
RSS 0.9x / 2.0 : RSS技术诞生于1999年的网景公司(Netscape),其发布了一个0.9版本的规范。2001年,RSS技术标准的发展工作被Userland Software公司的戴夫 温那(Dave Winer)所接手。陆续发布了0.9x的系列版本。当W3C小组发布RSS 1.0后,Dave W
html表格和表单基础
百合不是茶
html 表格 表单 meta 锚点
第一次用html来写东西,感觉压力山大,每次看见别人发的都是比较牛逼的 再看看自己什么都还不会,
html是一种标记语言,其实很简单都是固定的格式
_----------------------------------------表格和表单
表格是html的重要组成部分,表格用在body里面的
主要用法如下;
<table>
&
ibatis如何传入完整的sql语句
bijian1013
java sql ibatis
ibatis如何传入完整的sql语句?进一步说,String str ="select * from test_table",我想把str传入ibatis中执行,是传递整条sql语句。
解决办法:
<
精通Oracle10编程SQL(14)开发动态SQL
bijian1013
oracle 数据库 plsql
/*
*开发动态SQL
*/
--使用EXECUTE IMMEDIATE处理DDL操作
CREATE OR REPLACE PROCEDURE drop_table(table_name varchar2)
is
sql_statement varchar2(100);
begin
sql_statement:='DROP TABLE '||table_name;
【Linux命令】Linux工作中常用命令
bit1129
linux命令
不断的总结工作中常用的Linux命令
1.查看端口被哪个进程占用
通过这个命令可以得到占用8085端口的进程号,然后通过ps -ef|grep 进程号得到进程的详细信息
netstat -anp | grep 8085
察看进程ID对应的进程占用的端口号
netstat -anp | grep 进程ID
&
优秀网站和文档收集
白糖_
网站
集成 Flex, Spring, Hibernate 构建应用程序
性能测试工具-JMeter
Hmtl5-IOCN网站
Oracle精简版教程网站
鸟哥的linux私房菜
Jetty中文文档
50个jquery必备代码片段
swfobject.js检测flash版本号工具
angular.extend
boyitech
AngularJS angular.extend AngularJS API
angular.extend 复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制. 使用方法: angular.extend(dst, src); 参数:
java-谷歌面试题-设计方便提取中数的数据结构
bylijinnan
java
网上找了一下这道题的解答,但都是提供思路,没有提供具体实现。其中使用大小堆这个思路看似简单,但实现起来要考虑很多。
以下分别用排序数组和大小堆来实现。
使用大小堆:
import java.util.Arrays;
public class MedianInHeap {
/**
* 题目:设计方便提取中数的数据结构
* 设计一个数据结构,其中包含两个函数,1.插
ajaxFileUpload 针对 ie jquery 1.7+不能使用问题修复版本
Chen.H
ajaxFileUpload ie6 ie7 ie8 ie9
jQuery.extend({
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
if ( s.error ) {
s.error.call( s.context || s, xhr, status, e );
}
[机器人制造原则]机器人的电池和存储器必须可以替换
comsci
制造
机器人的身体随时随地可能被外来力量所破坏,但是如果机器人的存储器和电池可以更换,那么这个机器人的思维和记忆力就可以保存下来,即使身体受到伤害,在把存储器取下来安装到一个新的身体上之后,原有的性格和能力都可以继续维持.....
另外,如果一
Oracle Multitable INSERT 的用法
daizj
oracle
转载Oracle笔记-Multitable INSERT 的用法
http://blog.chinaunix.net/uid-8504518-id-3310531.html
一、Insert基础用法
语法:
Insert Into 表名 (字段1,字段2,字段3...)
Values (值1,
专访黑客历史学家George Dyson
datamachine
on
20世纪最具威力的两项发明——核弹和计算机出自同一时代、同一群年青人。可是,与大名鼎鼎的曼哈顿计划(第二次世界大战中美国原子弹研究计划)相 比,计算机的起源显得默默无闻。出身计算机世家的历史学家George Dyson在其新书《图灵大教堂》(Turing’s Cathedral)中讲述了阿兰·图灵、约翰·冯·诺依曼等一帮子天才小子创造计算机及预见计算机未来
小学6年级英语单词背诵第一课
dcj3sjt126com
english word
always 总是
rice 水稻,米饭
before 在...之前
live 生活,居住
usual 通常的
early 早的
begin 开始
month 月份
year 年
last 最后的
east 东方的
high 高的
far 远的
window 窗户
world 世界
than 比...更
在线IT教育和在线IT高端教育
dcj3sjt126com
教育
codecademy
http://www.codecademy.com codeschool
https://www.codeschool.com teamtreehouse
http://teamtreehouse.com lynda
http://www.lynda.com/ Coursera
https://www.coursera.
Struts2 xml校验框架所定义的校验文件
蕃薯耀
Struts2 xml校验 Struts2 xml校验框架 Struts2校验
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 15:54:59 星期六
http://fa
mac下安装rar和unrar命令
hanqunfeng
mac
1.下载:http://www.rarlab.com/download.htm 选择
RAR 5.21 for Mac OS X 2.解压下载后的文件 tar -zxvf rarosx-5.2.1.tar 3.cd rar sudo install -c -o $USER unrar /bin #输入当前用户登录密码 sudo install -c -o $USER rar
三种将list转换为map的方法
jackyrong
list
在本文中,介绍三种将list转换为map的方法:
1) 传统方法
假设有某个类如下
class Movie {
private Integer rank;
private String description;
public Movie(Integer rank, String des
年轻程序员需要学习的5大经验
lampcy
工作 PHP 程序员
在过去的7年半时间里,我带过的软件实习生超过一打,也看到过数以百计的学生和毕业生的档案。我发现很多事情他们都需要学习。或许你会说,我说的不就是某种特定的技术、算法、数学,或者其他特定形式的知识吗?没错,这的确是需要学习的,但却并不是最重要的事情。他们需要学习的最重要的东西是“自我规范”。这些规范就是:尽可能地写出最简洁的代码;如果代码后期会因为改动而变得凌乱不堪就得重构;尽量删除没用的代码,并添加
评“女孩遭野蛮引产致终身不育 60万赔偿款1分未得”医腐深入骨髓
nannan408
先来看南方网的一则报道:
再正常不过的结婚、生子,对于29岁的郑畅来说,却是一个永远也无法实现的梦想。从2010年到2015年,从24岁到29岁,一张张新旧不一的诊断书记录了她病情的同时,也清晰地记下了她人生的悲哀。
粗暴手术让人发寒
2010年7月,在酒店做服务员的郑畅发现自己怀孕了,可男朋友却联系不上。在没有和家人商量的情况下,她决定堕胎。
12月5日,
使用jQuery为input输入框绑定回车键事件 VS 为a标签绑定click事件
Everyday都不同
jsp input 回车键绑定 click enter
假设如题所示的事件为同一个,必须先把该js函数抽离出来,该函数定义了监听的处理:
function search() {
//监听函数略......
}
为input框绑定回车事件,当用户在文本框中输入搜索关键字时,按回车键,即可触发search():
//回车绑定
$(".search").keydown(fun
EXT学习记录
tntxia
ext
1. 准备
(1) 官网:http://www.sencha.com/
里面有源代码和API文档下载。
EXT的域名已经从www.extjs.com改成了www.sencha.com ,但extjs这个域名会自动转到sencha上。
(2)帮助文档:
想要查看EXT的官方文档的话,可以去这里h
mybatis3的mapper文件报Referenced file contains errors
xingguangsixian
mybatis
最近使用mybatis.3.1.0时无意中碰到一个问题:
The errors below were detected when validating the file "mybatis-3-mapper.dtd" via the file "account-mapper.xml". In most cases these errors can be d