MyEclipse的Deployments用习惯了,改用嵌入式的jetty做jar包的deom应用,但怎么捣鼓都搞不定热部署。 看了下jetty的ContextDeployer,这个貌似对配置文件、war进行热部署的,但我现在需要的是一边改java类,一边看到结果,如何实现啊?
手工注册: 第一步:用Windows下的注册工具regsvr32注册该OCX控件,点击“开始”->"运行",再在中填入: Regsvr32 控制所在路径/Mscomm32.ocx 第二步:在注册表中手工新建一个主键项:先在点击“开始”,"运行",再在中填入regedit命令打开注册表,找到HKEY_CLASSES_ROOT/Licenses,在其中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为: kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
安装包( Advanced Installer)自动注册
第一步:
My application uses several DLL and OCX files. How can I register those files? In order to mark files for self-register, first you must use an Advanced Installer 0.3 version or higher. In the Files and Folders Page, edit the properties of the files you want to register (double click them or use the Properties toolbar button). Check the Auto Register File checkbox.
作者:北南南北 来自:LinuxSir.Org 提要:fdisk 是一款功能强大的分区工具,也是目前在Unix类操作系统中最流行的工具之一;分区工具老字号;本篇只介绍其最简单的分区操作功能; 一、fdisk 的介绍; fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具; fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等;当然我们用fdisk 对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统;这样一个分区才能使用;这和DOS中的fdisk 是类似的; 二、合理规划您的硬盘分区; 在操作分区之前,我们要明白硬盘分区一点理论,比如硬盘容量和分区大小的计算;对一个硬盘如何规划分区等,请参考如下文档,谢谢; 《合理规划您的硬盘分区》 三、fdisk -l 查看硬盘及分区信息; 通过 《合理规划您的硬盘分区》 ,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为以后减少不必要的麻烦; 1、通过fdisk -l 查看机器所挂硬盘个数及分区情况; [root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
其实我本来是想找PMP考友的,但是无人应征,又看到版主的号召,所以就贴个实践经验分享贴,也找点志同道合者交流交流实践经验吧。
我的msn ccjjgg79310@msn.com
Email ccjjgg79310@yahoo.com.cn
有兴趣交流的,加我吧
先说说自己的情况,制造型企业,集团公司,比较多的下属企业(几十个吧),总部IT部门,项目一般都是实施第三方软件,所以做项目不是内部的非软件项目(比如,制度建立之类)就是实施类项目。当中也会写到一些甲方的想法,有乙方同志看到的不要怒,就当了解了解甲方的思想吧。
我自己标准的职位叫做项目管理,所以部门内的别人的项目也要管,自己也要做项目。
写得会比较凌乱,想到啥写啥,如果写得多了再回头整理,看的同志不要郁闷。此外,我可能比较多的说到失败经验,因为我自己比较喜欢分享失败的经验,觉得成长比较快。
1.选择供应商。A项目,这个项目是个集团级 的项目,总裁啥的都非常重视。分为阶段一和阶段二,但是是一个合同里的。是IT和部门C合作的。选择供应商的过程极为漫长而曲折,从3月份开始到10月份才选定。我们选供应商不是公开招投标的,虽然招标,但实际上最后是根据IT和业务部门的人一起讨论得出来的,不是那种正规做法的当场打分,然后公布结果的。当初来过交流的供应商有 a b c d f 四家,a 成名已久,大家都知道,但是在我们项目方面看起来经验最少;b 是风险投资的企业,发展很快,1年就从400人到了1500人,行业客户数量居第二,但是都是大型客户;c 是小公司;d 是小公司,但从市场占有率看来却是最高;f 是大公司,经验也还可以。
第一轮看下来,f 虽然大,但是从朋友那里打听到,他在某公司做的项目内部宣布失败,大家肯定不敢要。c 公司小,而且经验一般,加上过来演示的人实在不怎么样,说话带着浓重的口音,我们实在听不懂,加上技术构架不怎么样,里面还有非常陈旧的技术,所以第一轮基本就淘汰了 f 和c。乙方的同志,知道一个好的售前,除了业务能力还需要什么么,极好的沟通能力,形象好(这不一定是美貌,而是感觉很professional,很白骨精的样子,就是有气势了)。
当初在前期交流的时候,我的领导W就看上了d公司的售前R,要求我们的项目由R当项目经理,当初d 公司的销售总监也是答应了。所以第二轮的时候W就向部门C的领导J推荐了d 公司,和d 公司也谈妥了,d 拿到中标通知书之后,就开始干活。看起来一切顺利,我们把 J 领导签字的中标通知书给了 d 公司, d 公司也马上派了 项目经理过来做需求调研。但是问题马上出来了(1) d 公司派出来的项目经理不是当初承诺的 R ,而是另外一个沟通能力不太好的人,和客户交流了半天好像也说得不甚明白,反应比较慢 (2)d 公司在投标文件里面写到,有Oracle 的产品,但是实际交流中发现,Oracle的产品只是在开发,至少等3个月才能出来。(3)这是最重要的一点,我们希望供应商直接进场开始干活了,做完需求做实施,合同要等到详细需求调研完了确定完项目准确的难度、范围之后再签合同,时间上也会拖上1个多月,在合同没有签订的时候供应商也要干活;但是供应商觉得只能做一个简单的需求调研,只是作为合同附件用的,必须要等合同签订了才能进场。
我的领导W其实是非常讲究供应商选择和管理的,其实后来我才明白,一开始他就压供应商c 要求不签合同就拿了中标通知书开始干活,实际上也不是蛮横不讲道理,他有他的理由。
我在第一次需求调研也是第一次见d 公司的项目经理后把发现的3个问题马上报告了W,他立刻意识到问题的严重性。(1)d 公司 没有派出当初承诺的 R,来的一个人是这个公司的八大元老,沟通能力一般,说明d公司很可能是没人了。前面说过了,d 是个小公司,所以得力的人力资源一定是个问题。 (2)d 公司有欺骗行为 ,这样W想起之前有两次, d 公司承诺什么时间给出的文档都拖了时间,W是个很严谨的人,所以开始怀疑d 公司的诚信度。同时我们打电话问d公司怎么回事的时候,他们一开始的态度是抵赖。(3)其实这才是最重要的一点,同志们,相信吧,所有老板不是希望一件事做得漂亮,而是希望一件事可控,可控的失败比不可控的胜利更被他们需要。W 会要求供应商不签合同就进场的方式,是打消供应商的气焰,让他们被自己控制。但是不要误会,不会是欺压,只是可控,W其实也讲究和供应商的良好和长期合作,一开始的压是为了掌握主动权,之后其实他对供应商还是很好的,并且他承诺的东西(比如合同)是绝对说话算数的。W教育我,要供应商可控,一开始要大力打压,让他们听话,但是承诺的东西一定要做到,同时在项目过程中,要友好合作,不要欺压供应商,要以理服人,友好协商。控制供应商是为了在关键点上不要走偏了。这个问题上W没有压住供应商 d 。
于是问题(2)就成了问题(3)的一个藉口,白纸黑字的d 也跑不掉,我们召回了中标通知书。这个时候 d 公司跑来又是道歉,又是承诺可以先进场再签合同,还说项目还在接着做。整整4天,我们没有任何回应。
其实这4天当中,W还在观察d 公司,但是 d 公司的人不知道,只是Sales天天打电话,喊口号说我们还在接着做你们的项目,我们还是很有诚意的。 这4天当中,做项目的人一个也没看见,文档一篇也没有,邮件一封都没有。W 终于死心了,觉得 d 公司没有诚意。于是 d 被彻底的干掉了。
c#中浮点变量的赋值
在C#里面给float变量赋值时,有一种特殊情况;语句
float y = 5.2; // 不会被编译!
将产生一个编译器错误,因为类似3.5这样带有小数部分的数字常量会被C#认为是拥有更高精度的double值,所以编译器将因精度损失而拒绝执行。要进行这样的赋值,必须显式地把浮点常量转换为float值:
float y = (float) 3.5; // 没问题;进行了转换。
或者,也可以使用后缀F,强制编译器把赋值语句右边的常量看作浮点值:
float y = 3.5F; // 可以,我们指示了该常量
// 应被当作浮点值处理。
还有一种选择是直接使用double变量而不用float变量来表示浮点数。在SRS应用中,无论何时要声明浮点变量,我们都会使用double来代替,这样可以避免类型转换操作。
一个好方法:声明浮点变量就用double
A.逻辑推理
1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费? 2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。 3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒, 小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每 次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会 熄灭。问:小明一家如何过桥? 4、一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少 有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看 看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自 己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦 雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑 帽子? 5、请估算一下CN TOWER电视塔的质量。 6、一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯 从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最 大的一颗? 7、U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥 的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一 次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把 手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行 速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花 2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内 过桥呢? 8、烧一根不均匀的绳要用一个小时,如何用它来判断半个小时 ? 9、为什么下水道的盖子是圆的? 10、美国有多少辆加油站(汽车)? 11、有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐 分成50、90克各一份? 12、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以第 小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,以外30公里每小时的速度和 两辆火车现时启动,从洛杉矶出发,碰到另辆车后返回,依次在两辆火车来回的飞 行,直道两面辆火车相遇,请问,这只小鸟飞行了多长距离? 13、你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机 选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中,得到 红球的准确几率是多少? 14、想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒 上下? 15、你有四人装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被 污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了? 16、如果你有无穷多的水,一个3夸脱的和一个5夸脱的提桶,你如何准确称出 4夸脱的水? 17、你有一桶果冻,其中有黄色,绿色,红色三种,,闭上眼睛选出同样颜色 的两个,抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果 冻? 18、将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 19、如果要你能去掉50个州的任何一个,那你去掉哪一个,为什么? 20、对一批编号为1~100 全部开关朝上开的灯进行以下操作 凡是1 的倍数反方向拨一次开关2 的倍数反方向又拨一次开关3 的倍数反方向 又拨一次开关。 问最后为关熄状态的灯的编号。 21、假设一张圆盘像唱机上的唱盘那样转动。这张盘一半是黑色,一半是白色 。假设你有数量不限的一些颜色传感器。要想确定圆盘转动的方向,你需要在它周 围摆多少个颜色传感器?它们应该被摆放在什么位置? 22、假设时钟到了12点。注意时针和分针重叠在一起。在一天之中,时针和分 针共重叠多少次?你知道它们重叠时的具体时间吗? 23、中间只隔一个数字的两个奇数被称为奇数对,比如17和19。证明奇数对之 间的数字总能被6整除(假设这两个奇数都大于6)。现在证明没有由三个奇数组成 的奇数对。 24、一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这 3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。 确定每个开关具体管哪盏灯。 25、假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将 两个球放在天平上对比。最少要称多少次才能找出这个较重的球? 26、下面玩一个拆字游戏,所有字母的顺序都被打乱。你要判断这个字是什么 。假设这个被拆开的字由5个字母组成: 1.
Dim pMapDoc As New MapDocument
'pMapDoc.Open(Application.StartupPath & "/MXD/Gis.mxd")
MapControl.Map = pMapDoc.Map(0)
帝国问题
arcgis engine,保存为mxd,请高手赐教!多谢!
请高手我在用arcgis engine开发时,使用自己写的添加数据的工具直接添加数据,
也就是说一开始没有MXD文件,我想在编辑完之后把当前的地图保存为一个MXD文件。
代码如下:
dim pMxdC=IMxdContents
pMxdC = axMapControl.Map dim pMapDocument as IMapDocument= new MapDocumentClass
pMapDocument.New ("d:/aa3.mxd")
pMapDocument.ReplaceContents (pMxdC)
pMapDocument.Save (true,true)
但是存在一个问题,这样只保存了axMapControl的内容,而没有保存pagelayoutcontrol的内容,
而如果使用下面的代码则只能保存pagelayoutcontrol的内容,没有保存axMapControl的内容:
dim pMxdC=IMxdContents
pMxdC = pagelayoutcontrol.pagelayout
dim pMapDocument as IMapDocument= new MapDocumentClass
pMapDocument.New ("d:/aa3.mxd")
pMapDocument.ReplaceContents (pMxdC)
pMapDocument.Save (true,true)
我想同时保存两个控件的内容至mxd,请各位大侠给点提示,多谢了!
利用ipersiststrean接口
rpm 常用命令
1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 5.查询一个包是否被安装 # rpm -q < rpm package name> 6.得到被安装的包的信息 # rpm -qi < rpm package name> 7.列出该包中有哪些文件 # rpm -ql < rpm package name> 8.列出服务器上的一个文件属于哪一个RPM包 #rpm -qf 9.可综合好几个参数一起用 # rpm -qil < rpm package name> 10.列出所有被安装的rpm package # rpm -qa 11.列出一个未被安装进系统的RPM包文件中包含有哪些文件? # rpm -qilp < rpm package name> <<RPM中文手册>>
一、安装 命令格式: rpm -i ( or --install) options file1.
click DE2 image above to view larger image
How to purchase a DE2 board New DE1 info is here New Camera and LCD info is here DE2 Design Examples DE2 Clock is a clock/timer that uses the DE2's LCD to display the current time. A VHDL-based state machine is used to communicate with the LCD display controller. The Key2 pushbutton resets the time. All VHDL source code is included. Rapid Prototyping of Digital Systems Quartus II Edition now available from Springer Publishing ISBN 0-387-27728-5.
一、下面的代码实现,每行显示三列
前台代码:
<table>
<tr>
<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<td><%#DataBinder.Eval(Container.DataItem,"thing")%></td>
</ItemTemplate>
</asp:repeater>
</tr>
</table>
后台代码:
protected int i=1;
private void Page_Load(object sender, System.EventArgs e)
{
XmlSerializer ser = new XmlSerializer(typeof(DataSet));
DataSet ds = new DataSet("myDataSet");
DataTable t = new DataTable("table1");
DataColumn c = new DataColumn("thing");
t.Columns.Add(c);
ds.Tables.Add(t);
DataRow r;
for(int i = 0; i<10;i++)
{
r = t.NewRow();
r[0] = i;
t.Rows.Add(r);
}
this.Repeater1 .DataSource =ds.Tables [0].DefaultView ;
this.Repeater1.DataBind ();
通过死活挣扎,终于掉回了自己的故乡的分公司~~~~~
刚好接受一个要辞职的同事的工作,一个J2EE开发者~~~~~
通过一番交流,主要利用了STRUTS来处理各种业务流程, 单刀直入,直接看Action, 虽然我对J2EE开发不是非常熟悉,但是有几年的J2SE实战经验,看了第一个ACTION就发现了不少J2EE程序员的通病(可能会有N多兄弟砸鸡蛋给我),对JAVA的基本程序设计模式的利用几乎是无,代码分层是无,封装很不完全等等问题,虽然看到每个模块都有一个HELPER类,但是HELPER类或者是DAO类,几乎都是NEW 一个,N多ACTION的处理方法都用到很多相同的代码,但都是通过拷贝粘帖同一段代码~~~~
难道J2EE开发者真的把全部心思都放到了业务逻辑上去,只要利用现有第三方框架就行了吗?
这不是我第一个碰到的J2EE开发人员,虽然不能说全部,但有很大一部分都存在这些毛病,疑惑,J2EE程序员~~~~!!!!!
都不知道自己还有个Blog,1点前已经是睡不着了,忙于工作,思绪混乱。。。。。
从工作开始一直从事于GUI的开发,虽然中间插点J2EE相关的工作,想想也有快3年了,思绪依然是那么混乱。。。。入正题。。。。
JAVA(J2SE)的GUI设计无非分为SWING,SWT,AWT,进段时间发现有很多程序员都开始回归的APP GUI的回报中,虽然WEB2。0的某些技术能提高一点用户的可操作性但相对于APP GUI来说还是属于鸡肋。在内部网或者小型城域网中还是发现APP GUI是王者,随着IBM 的Eclipse的RCP技术让越来越多的程序员进入其中。
SUN也发现了这一趋势,所以一改多年在SWING的颓势,大量改进了SWING的处理速度及其美化程度,如果再有人说SWING慢如牛,SWING难看,那他真得去好好的学习下流行技术了。SWING的框架设计完全是面向对象的艺术设计,估计每一个资深的面向对象程序员都知道SWING中的设计艺术,尤其是及致的发挥了MVC。
凭借着Eclipse的优秀表现,SWT在GUI开发程序员中有了一席之地,虽然他在WINDOWS的原生控件显示及处理速度上有着优秀的表现,但在Linux,mac上实在是不敢恭维,而且脱离了JFACE,其实SWT真的只能称之为小部件工具,可能对新手来说刚使用SWT确实很容易上手,但越到后来越发现纯粹的使用SWT开发项目会使得你的代码其丑无比,难以维护。但加上了JFACE对SWT的控制及延缓加载显示,可以使得你的代码向SWING一样的优秀,ECLIPSE就是一个最好的例子。只能说对SWT又爱又恨。
说点废话,来纪念用SWT完成了在北京参与的最后一个项目,希望不要投入到J2EE那完全没有边际的项目中去。
一、显示XML XML文档本身只描述数据内容,它的显示功能由样式单来完成。利用样式单技术时,输出平台不局限于显示器,可以是打印机、绘图仪或者是多媒体播放器。使用独立的样式单文件制定显示格式的一大优势在于:对同一份数据文件可以制定不同的样式风格,应用在不同的场合,使数据能够更合理、更有针对性地表现出来,提高了数据的重用性。 目前,W3C正式推荐的样式单标准有两种: 一种是层叠样式单CSS(Cascading Style Sheets);另一种是可扩展样式单语言XSL。 CSS最初是用于制定HTML文档显示格式的,现在也可用来对XML文档进行简单的样式规划。CSS在HTML中的应用极为广泛,但它在文本置换、依据文本内容而决定显示方式、对数据进行排序等智能化的显示功能上略显不足。 而XSL则较好地解决了CSS的这些问题,它最常用的功能是将XML的置标转换成为HTML的置标并显示输出。而且XSL还可以将XML文档向任何其他格式的结构文档进行转换。这种功能在B2B的商务模式中有着很好的应用前景。 XSL利用模式匹配的方法,选择XML文档中需要处理的元素/属性,再针对这些特定的对象制定相应的转换规则。借助XSL,我们还可以添加新的元素/属性,对所有元素/属性进行重新排序、循环处理、条件判断等程序化的控制,使其适应各种复杂的需求。 在XML文档中引用XSL的格式如下: <?xml-stylesheet type=“text/xsl” href=“Employees.xsl” ?> 一个XML文档只能引用一个XSL样式单。XML解析器在处理XML文档时,遇到处理指令后,会载入指定的XSL样式单,然后根据其中的规则进行相应的转换处理。 二、绑定XML Web服务器与客户机之间的数据传递方式有三种: HTML页面、XML文档以及XML数据岛。其中,XML数据岛通过特定的标签把XML数据直接嵌入到HTML文档中。采用数据岛作为交互手段,不仅可以使数据具备一定的语义信息,同时还能保持HTML原有的一些特色,如利用用户端脚本程序实现动态信息交换等。 XML数据岛的实现方法是在HTML文档中使用<XML>标签。代码的嵌入方式有两种: 直接嵌入(如例1)和外部引用(如例2)。 例1: <XML ID=“MyXMLData”> <?xml version=“1.0” ?> ……XML definitions…… </XML> 例2: <XML ID=“MyXMLData” SRC=“http://www.microsoft.com/MyXMLData.xml”> </XML> 在插入数据岛之后,就可以把XML中的元素同HTML元素链接在一起,利用HTML的表现手法显示XML数据,这种链接关系被称为绑定。绑定的方式按照HTML元素的性质可以分为两种:单值对象和表格对象。 单值对象的数据绑定需要在HTML元素中设置DATASRC属性和DATAFLD属性。DATASRC属性是区分XML数据岛对象的唯一标识,并且必须加上前缀“#”;DATAFLD属性则标识了数据岛中的元素对象。例3就是把一个HTML文本输入框与<salary>元素进行了绑定。 例3: <INPUT TYPE=“TEXT” DATASRC=“#MyXMLData” DATAFLD=“salary”> 至于表格对象,主要是与HTML中的<TABLE>标签绑定。一般地,可以借助DSO(Data Source Object,数据源对象)等ActiveX控件更方便、有效地处理表格数据。具体使用方法在以后的内容中将做详细介绍。 三、访问XML Document Object Model(文档对象模型)简称为DOM,是对Web文档进行应用开发、编程的应用程序接口(API),是W3C公布的一种跨平台的、与语言无关的接口规范。 DOM采用对象模型和一系列的接口来描述XML文档的内容和结构,即利用对象把文档模型化。这种对象模型实现的基本功能包括: ● 描述文档表示和操作的接口; ● 接口的行为和属性; ● 接口之间的关系以及互操作。 DOM对结构化的XML文档进行解析,文档中的指令、元素、实体、属性等所有个体都可以用对象模型表示。整个文档的逻辑结构类似一棵树,生成的对象模型就是树的节点,每个对象同时包含了方法和属性。 利用DOM,开发人员可以进行动态地创建XML文档、遍历结构、添加/修改/删除内容等操作。DOM面向对象的特性,使人们在处理和XML解析相关的事务时节省大量精力,是一种符合代码重用思想的强有力编程工具。 四、验证XML XML文档必须严格遵守语法规范,即都必须是“格式良好的”。同时,XML文档还应当符合语义方面的规范,即是“有效的”。对XML文档有效性的检查称为对XML的“验证”(Validation)。 “格式良好的”是对XML文档最基本的要求。凡是“格式良好的”XML文档都可以被XML解析器解析,进而生成对象树,以便接受进一步的处理。而且“有效的” XML必定是“格式良好的”。在此基础上,还要遵守DTD或XML Schema的语法规定,只有这样才能保证XML文档的易读性,同时还能充分地体现数据信息之间的关系,从而更好地描述数据。 DTD可以定义XML文档的词汇和语法。利用正则表达式,DTD除了可以说明XML文件中哪些元素是必需的、哪些是可选的、元素所能包含的属性等元素本身信息外,还可以描绘元素之间的结构信息。比如,某个元素可以嵌套哪些子元素、子元素的个数以及出现次序、是否可选等等。 典型的DTD格式如下: ● 以DOCTYPE声明为起始标志,告诉解析器以下内容属于DTD; ● 位于DOCTYPE后的DTD名称,必须与XML文档中的根元素完全一致,后面再跟着一个“[”号,接下来才是DTD正文。 DTD有两种使用方式: 内嵌式(如例4)和引用式(如例5)。它们在XML文档中的位置都必须位于根元素出现之前。 例4: <?
Windows95 OSR2和Windows 98开始支持FAT32文件系统,它是对早期DOS的FAT16文件系统的增强,由于文件系统的核心--文件分配表FAT由16位扩充为32位,所以称为FAT32文件系统。在一逻辑盘(硬盘的一分区)超过 512 兆字节时使用这种格式,会更高效地存储数据,减少硬盘空间的浪费,一般还会使程序运行加快,使用的计算机系统资源更少,因此是使用大容量硬盘存储文件的极有效的系统。本人对Windows 98下的FAT32 文件系统做了分析实验,总体上与FAT16文件系统变化不大,现将有关变化部分简介如下:
(一)FAT32 文件系统将逻辑盘的空间划分为三部分,依次是引导区(BOOT区)、文件分配表区(FAT区)、数据区(DATA区)。引导区和文件分配表区又合称为系统区。
(二)引导区从第一扇区开始,使用了三个扇区,保存了该逻辑盘每扇区字节数,每簇对应的扇区数等等重要参数和引导记录。之后还留有若干保留扇区。而FAT16文件系统的引导区只占用一个扇区,没有保留扇区。
(三)文件分配表区共保存了两个相同的文件分配表,因为文件所占用的存储空间(簇链)及空闲空间的管理都是通过FAT实现的,FAT如此重要,保存两个以便第一个损坏时,还有第二个可用。文件系统对数据区的存储空间是按簇进行划分和管理的,簇是空间分配和回收的基本单位,即,一个文件总是占用若干个整簇,文件所使用的最后一簇剩余的空间就不再使用,而是浪费掉了。
从统计学上讲,平均每个文件浪费0.5簇的空间,簇越大,存储文件时空间浪费越多,利用率越低。因此,簇的大小决定了该盘数据区的利用率。FAT16系统簇号用16位二进制数表示,从0002H到FFEFH个可用簇号(FFF0H到FFFFH另有定义,用来表示坏簇,文件结束簇等),允许每一逻辑盘的数据区最多不超过FFEDH(65518)个簇。FAT32系统簇号改用32位二进制数表示,大致从00000002H到FFFFFEFFH个可用簇号。FAT表按顺序依次记录了该盘各簇的使用情况,是一种位示图法。
每簇的使用情况用32位二进制填写,未被分配的簇相应位置写零;坏簇相应位置填入特定值;已分配的簇相应位置填入非零值,具体为:如果该簇是文件的最后一簇,填入的值为FFFFFF0FH,如果该簇不是文件的最后一簇,填入的值为该文件占用的下一个簇的簇号,这样,正好将文件占用的各簇构成一个簇链,保存在FAT表中。0000000H、00000001H两簇号不使用,其对应的两个DWORD位置(FAT表开头的8个字节)用来存放该盘介质类型编号。FAT表的大小就由该逻辑盘数据区共有多少簇所决定,取整数个扇区。
(四)FAT32系统一簇对应8个逻辑相邻的扇区,理论上,这种用法所能管理的逻辑盘容量上限为16TB(16384GB),容量大于16TB时,可以用一簇对应16个扇区,依此类推。FAT16系统在逻辑盘容量介于128MB到256MB时,一簇对应8个扇区,容量介于256MB到512MB时,一簇对应16个扇区,容量介于512MB到1GB时,一簇对应32个扇区,容量介于1GB到2GB时,一簇对应32个扇区,超出2GB的部分无法使用。显然,对于容量大于512MB的逻辑盘,采用FAT32的簇比采用FAT16的簇小很多,大大减少了空间的浪费。
但是,对于容量小于512MB的盘,采用FAT32虽然一簇8个扇区,比使用FAT16一簇16个扇区,簇有所减小,但FAT32的FAT表较大,占用空间较多,总数据区被减少,两者相抵,实际并不能增加有效存储空间,所以微软建议对小于512M的逻辑盘不使用FAT32。
另外,对于使用FAT16文件系统的用户提一建议,硬盘分区时,不要将分区(逻辑盘)容量正好设为某一区间的下限,例:将一逻辑盘容量设为1100M(稍大于1024M),则使用时其有效存储容量比分区为950M的一般还少,因其簇大一倍,浪费的空间较多。还有,使用FDISK等对分区指定容量时,由于对1MB的定义不一样(标准的二进制的1MB为1048576B,有的系统将1MB理解为1000000B,1000KB等),及每个分区需从新磁道开始等因素,实际分配的容量可能稍大于指定的容量,亦需注意掌握。
(五)根目录区(ROOT区)不再是固定区域、固定大小,可看作是数据区的一部分。因为根目录已改为根目录文件,采用与子目录文件相同的管理方式,一般情况下从第二簇开始使用,大小视需要增加,因此根目录下的文件数目不再受最多512的限制。FAT16文件系统的根目录区(ROOT区)是固定区域、固定大小的,是从FAT区之后紧接着的32个扇区,最多保存512个目录项,作为系统区的一部分。
(六)目录区中的目录项变化较多,一个目录项仍占32字节,可以是文件目录项、子目录项、卷标项(仅跟目录有)、已删除目录项、长文件名目录项等。目录项中原来在DOS下保留未用的10个字节都有了新的定义,全部32字节的定义如下:
(1) 0-- 7字节 文件正名。
(2) 8--10字节 文件扩展名。
(3) 11字节 文件属性,按二进制位定义,最高两位保留未用,0至5位分别是只读位、隐藏位、系统位、卷标位、子目录位、归档位。
(4) 11--13字节 仅长文件名目录项用,用来存储其对应的短文件名目录项的文件名字节校验和等。
(5) 13--15字节 24位二进制的文件建立时间,其中的高5位为小时,次6位为分钟。
(6) 16--17字节 16位二进制的文件建立日期,其中的高7位为相对于1980年的年份值,次4位为月份,后5位为月内日期。
(7) 18--19字节 16位二进制的文件最新访问日期,定义同(6)。
(8) 20--21字节 起始簇号的高16位。
(9) 22--23字节 16位二进制的文件最新修改时间,其中的高5位为小时,次6位为分钟,后5位的二倍为秒数。
(10)24--25字节 16位二进制的文件最新修改日期,定义同(6)。
(11)26--27字节 起始簇号的低16位。
(12)28--31字节 32位的文件字节长度。
其中第(4)至(8)项为以后陆续定义的。 对于子目录项,其(12)为零;已删除目录项的首字节值为E5H。在可以使用长文件名的FAT32系统中,文件目录项保存该文件的短文件名,长文件名用若干个长文件名目录项保存,长文件名目录项倒序排在文件短目录项前面,全部是采用双字节内码保存的,每一项最多保存十三个字符内码,首字节指明是长文件名的第几项,11字节一般为0FH,12字节指明类型,13字节为校验和,26--27字节为零。
(七)以前版本的 Windows 和DOS与 FAT32 不兼容,不能识别FAT32分区,有些程序也依赖于 FAT16 文件系统,不能和 FAT32 驱动器一道工作。将硬盘转换为 FAT32,就不能再用双引导运行以前版本的 Windows(Windows 95 [Version 4.00.950]、Windows NT 3.
在xml这个 系列中
xml用来负责数据的存储。
xslt用来负责数据的修正,塞选和显示
这里我做一个简单的
xml+xsl的关联。
目的:使大家了解xml和xsl是怎么关联
并且影响数据显示的。
xml 和xsl的关联是通过
在xml文档中加入
xml-stylesheet处理指令
<?xml-stylesheet type=”text/xsl” href=”xxxx.xsl”?>
如下面的例子 XML File (prodsort.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="prodsort.xsl" ?>
<products>
<product prodID="AX5608">
<name>FooBar</name>
<version>1.5</version>
<descr>Processes foo objects using standard FB API</descr>
<categ>Software</categ>
<price curr="USD">149.99</price>
<units>each</units>
</product>
<product prodID="CB3241">
<name>TrixelMaker</name>
<version>3.0</version>
<descr>Burns multiple trixels from single master (requires Wooden Rings 1.6 or greater)</descr>
<categ>Hardware</categ>
<price curr="EU">178.49</price>
<units>each</units>
</product>
<product prodID="WD3241">
<name>Widgetry Magick</name>
<version>1.0</version>
<descr>Time-stamps Virtual Widgets</descr>
使用模拟时,ASP.NET 应用程序可以选择以这些应用程序当前正为之操作的客户的身份执行。通常这样做的原因是为了避免在 ASP.NET 应用程序代码中处理身份验证和授权问题。而您依赖于 Microsoft Internet 信息服务 (IIS) 来验证用户,然后将已通过验证的标记传递给 ASP.NET 应用程序;或者,如果无法验证用户,则传递未经身份验证的标记。不论何种情况,如果启用了“模拟”,则 ASP.NET 应用程序会模拟所收到的任何标记。当前模拟客户的 ASP.NET 应用程序依赖于 NTFS 目录和文件中的设置来允许客户获得访问权限或拒绝其访问。务必将服务器文件空间格式化为 NTFS,以便可以设置访问权限。
默认情况下禁用模拟。为了 ASP 的兼容性,用户必须显式启用模拟。如果为给定的应用程序启用模拟,则 ASP.NET 总是模拟 IIS 提供给 ISAPI 扩展的访问标记。该标记既可以是已验证用户标记,也可以是匿名用户的标记(如 IUSR_MACHINENAME)。不论应用程序中使用哪种身份验证类型,模拟都会发生。
只能模拟应用程序代码,编译和配置作为进程标记读取。编译的结果放在“Temporary ASP.NET files”目录中。所模拟的帐户需要对该目录的读/写访问权。如果应用程序位于通用命名规则 (UNC) 共享上,除非使用配置帐户,否则,ASP.NET 将总是模拟提供给 IIS 的标记来访问该共享。如果提供了显式配置的帐户,ASP.NET 将使用该帐户取代 IIS UNC 标记。确实需要基于每个请求的模拟的应用程序可以直接配置为模拟提交请求的用户。
默认情况下,在计算机级别上禁用模拟。而且除非被重写,否则所有的应用程序域都继承此设置。可以通过将配置文件放置在应用程序根目录下来启用模拟。有关 ASP.NET 配置系统的更多信息,请参见 ASP.NET 配置。
与其他配置指令的情况相同,此指令分层应用。除非被显式重写,否则,层次结构中的嵌套程序将遵从它。此设置的默认值如下所示。
<impersonation enable="false"/>
为应用程序启用模拟的最小配置文件可能看上去和下面的示例类似。
<!-- Web.config file. -->
<identity impersonate="true"/>
还有以可配置身份运行应用程序的名称支持。例如:
<identity impersonate="true" userName="contoso\Jane" password="pass"/>
这将允许整个应用程序以 contoso\Jane 运行,不论请求的身份如何,只要密码正确即可。可以将这种类型的模拟委托给另一台计算机。
您可以以编程的方式读取被模拟用户的标识,如下例所示。
[Visual Basic]
Dim username As String = System.
HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。
HTTP 错误 401 401.1 未授权:登录失败 此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。 请与 Web 服务器的管理员联系,以确认您是否具有访问所请求资源的权限。
401.2 未授权:服务器的配置导致登录失败 此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。此错误通常由未发送正确的 WWW 验证表头字段所致。 请与 Web 服务器的管理员联系,以确认您是否具有访问所请求资源的权限。
401.3 未授权:由于资源中的 ACL 而未授权 此错误表明客户所传输的证书没有对服务器中特定资源的访问权限。此资源可能是客户机中的地址行所列出的网页或文件,也可能是处理客户机中的地址行所列出的文件所需服务器上的其他文件。 请记录试图访问的完整地址,并与 Web 服务器的管理员联系以确认您是否具有访问所请求资源的权限。 401.4 未授权:授权服务被筛选程序拒绝 此错误表明 Web 服务器已经安装了筛选程序,用以验证连接到服务器的用户。此筛选程序拒绝连接到此服务器的真品证书的访问。 请记录试图访问的完整地址,并与 Web 服务器的管理员联系以确认您是否具有访问所请求资源的权限。
401.5 未授权:ISAPI/CGI 应用程序的授权失败 此错误表明试图使用的 Web服务器中的地址已经安装了 ISAPI 或 CGI程序,在继续之前用以验证用户的证书。此程序拒绝用来连接到服务器的真品证书的访问。 请记录试图访问的完整地址,并与 Web服务器的管理员联系以确认您是否具有访问所请求资源的权限。
HTTP 错误 403 403.1 禁止:禁止执行访问 如果从并不允许执行程序的目录中执行 CGI、ISAPI或其他执行程序就可能引起此错误。 如果问题依然存在,请与 Web 服务器的管理员联系。 403.2 禁止:禁止读取访问 如果没有可用的默认网页或未启用此目录的目录浏览,或者试图显示驻留在只标记为执行或脚本权限的目录中的HTML 页时就会导致此错误。 如果问题依然存在,请与 Web 服务器的管理员联系。
403.3 禁止:禁止写访问 如果试图上载或修改不允许写访问的目录中的文件,就会导致此问题。 如果问题依然存在,请与 Web服务器的管理员联系。
时代周刊的年度人物是谁? 答案是 - 你. 借助新的所谓的Web 2.0, 你和我正在为新的开放虚拟社区出力!
The "Great Man" theory of history is usually attributed to the Scottish philosopher Thomas Carlyle, who wrote that "the history of the world is but the biography of great men." He believed that it is the few, the powerful and the famous who shape our collective destiny as a species. That theory took a serious beating this year. To be sure, there are individuals we could blame for the many painful and disturbing things that happened in 2006.
ASP.NET的实时天气及24小时天气预报(C#) 修改其中的url获得其他城市的天气情况 如广州为: http://weather.yahoo.com/forecast/CHXX0037_c.html 注意仅适用于获得yahoo上的天气预报 GetWeather.aspx ----------------------------------- <%@ Page language="c#" Codebehind="GetWeather.aspx.cs" AutoEventWireup="false" Inherits="test.GetWeather" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>GetWeather</title> <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body> <form id="GetWeather" method="post" runat="server"> <FONT face="宋体"> <P> <asp:Label id="lblWeather" runat="server">Weather</asp:Label></P> <P> <asp:Button id="btnGet" runat="server" Text="Get Weather"></asp:Button></P> <P> <asp:Label id="Weather2" runat="server">24小时天气</asp:Label></P> <P> <asp:Button id="btnGet2" runat="server" Text="天气预报"></asp:Button></P> </FONT> </form> </body> </HTML> getWeather.
信息产业部电信研究院:欧洲3G发展新形势 2006年08月01日 14:50 通信世界
信息产业部电信研究院 胡海波
进入2006年以来,全球3G市场已经初具规模,全球3G发展也进入平稳的发展阶段。在全球范围内,欧洲是最积极推进3G服务的地区。作为继日韩之后较大规模、较大范围启动3G商用,而且WCDMA居于统治地位的热点地区,欧洲3G发展将决定全球WCDMA的整体商用水平。欧洲共有45个国家,历史上分为东欧和西欧。在传统概念中,西欧主要指欧盟,东欧指前苏联及其盟国。目前,3G牌照发放与商用的热点主要集中在西欧,东欧移动电话市场大部分还处在3G商用前的准备阶段,但由于近年来东欧的移动通信产业发展迅速,已成为全球3G通信产业的巨大潜力市场。
一、3G牌照
1999~2000年西欧就进行了大规模的3G牌照拍卖,这不仅在时间上早于日本与韩国,而且发放的牌照全部基于WCDMA。然而,牌照拍卖的高昂费用严重影响了运营商对3G的投入能力,这不仅延后了欧洲3G的整体进程,也间接导致了 2000~2001年全球电信业泡沫的破灭。因此,西欧已经宣布的或者计划中的3G商用化计划纷纷宣布推迟,从2001年、2002年普遍推迟到2003 年和2004年。丹麦、卢森堡、瑞典、挪威、葡萄牙、斯洛伐克、德国、芬兰等国的一些运营商甚至开始部分放弃或撤出。东欧主要国家3G牌照发放情况如表1 所列。可以说,2001~2002年,包括3G在内的整个欧洲电信业开始陷入前所未有的低谷。3G泡沫的破灭重创了电信业,也使电信业逐渐回归理性。随着运营商发展3G问题的出现,欧洲的管制机构从2003年开始普遍放松了管制要求,减轻运营商的负担。另外,管制机构还颁布一些规定,适当增加竞争,促进本国3G发展。欧洲各国管制机构做出的调整主要有以下几个方面:
●降低网络覆盖要求,给运营商更长的时间来完成全网的覆盖;
●延迟商用网络开通时间规定,给运营商更多的准备时间;
●放宽网络共享要求,允许运营商进行合理的网络共享、降低成本;
●推迟许可证费用缴纳的期限,缓解运营商的资金压力;
●推动号码携带、网络漫游等政策的实施,保证3G运营商的业务正常运转;
●部分国家计划放宽频谱交易的规定,允许运营商进行合理的频谱交易,使频谱通过市场化进行合理地分配;
●部分国家放宽了许可证买卖的规定,允许运营商买卖自己的3G许可证,市场化调配许可证数量和分配。
管制机构的这些措施,很好地缓解了管制政策上给运营商带来的负担,有效地扫除了3G 业务发展的部分阻碍。截止到2006年6月,全球颁发有效3G牌照148张,选择WCDMA的有138个运营商。其中,欧洲地区的3G牌照数量所占比例超过60%,共有85个运营商开通了WCDMA网络。此外,西欧各国发放3G牌照时普遍引入了新进入者,而且通过牌照优惠、网络漫游保障等措施扶持其发展。 这使以和黄为代表的新进入者不仅成为了后来欧洲3G的挽救者,也加剧了市场竞争,并促使Vodafone等原2G运营商更积极地推出3G服务,从而最终推动了整个欧洲3G产业的发展并走向繁荣。因此,从2004年开始,特别是2005年上半年,西欧掀起了一轮WCDMA商用网络开通的浪潮,同时也带动了东欧地区3G牌照数量快速增加,并使得整个欧洲用户市场初具规模。
国家 2004年 2005年 截至到2006年6月 保加利亚 3张 捷克斯洛伐克 2张 1张 匈牙利 3张 拉脱维亚 2张 波兰 3张 1张 罗马尼亚 4张 俄罗斯 4张 克罗地亚 2张 斯洛伐克 2张 二、3G网络建设
依靠2005年所取得的突破性进展,2006年欧洲移动运营商在3G网络上投入更多的发展资源,以巩固并提升自身的市场竞争地位。
在西欧3G市场,2004年底前开通的网络全部基于WCDMA R99版本,但在 2005年,基于WCDMA R4版本的网络在荷兰等国家实现商用,而MMO2等运营商也开始部署WCDMA R5版本的HSDPA网络。目前,这些地区的 3G网络建设进程已经初具规模,还在进行大规模的室外覆盖工作。虽然室内覆盖刚刚启动,还很不完善,但大部分传统运营商,都不急于完成全网的覆盖,而是充分结合自己的2G网络运营,网络覆盖都在70~80%左右。而对于和记电讯等市场的新进入者来说,由于具有较大的资金局限,但是为了实现网络充分的覆盖,实现与现有GSM运营商结盟以实现2G/3G漫游,或与其他3G运营商达成全国漫游或一定程度的网络共享。值得一提的是,由于WCDMA的性能不能很好地满足运营商业务提供的要求,因此,许多西欧WCDMA运营商比日本、韩国的运营商更早地启动了HSDPA的商用,来弥补WCDMA数据业务能力有限的问题。这种趋势进入2006年以来日趋明显。截止到2006年6月底,全球共有50个商用的HSDPA网络。其中大部分的网络集中在西欧地区,如 Vodafone、H3G、T-mobile、比利时MOBISTAR、奥地利MOBILKOM、葡萄牙OPTIMUS等运营商纷纷启动了HSDPA网络的建设。
东欧的大部分国家都是在2004年以后才开始启动3G频率的分配工作,大部分还处在商用前的准备阶段。部分国家主导运营商起步较早,获得许可证以后,也进行了大规模的网络建设,有的已经开始提供业务,处于起步阶段,但是网络覆盖还仅限于 室外覆盖阶段。如俄罗斯、乌克兰、保加利亚、罗马尼亚等国家。
此外,随着HSDPA的不断成熟和发展,还没有启动3G市场的东欧国家,在推出3G业务的时候,很有可能将会直接上HSDPA。这些都反映了欧洲WCDMA的演进步伐在稳步提速。
三、3G用户发展
西欧移动通信整体发展比较成熟,移动用户普及率处于饱和状态。截止到2006年6月,西欧移动用户达到3.93亿,而移动用户平均普及率高达107%,只有个别国家像德国、比利时、法国等移动用户普及率低于100%。
西欧国家移动通信用户普及率发展。
在经过2000~2002年的3G泡沫后,作为新兴3G运营商的和黄2003年在英 国和意大利等欧洲四国大规模投入3G运营,虽然当年的经营效果没有达到预期目标,但3G从此真正进入了消费市场,这也成为挽救西欧3G进程的重要转折点。 截止到2006年6月,西欧开通服务的WCDMA网络已超过55个。3G用户也出现了稳步加速增长的势头,已达到3662.7万。除了最早大规模进入市场的和黄拥有超过1200万的3G用户外,Vodafone拥有的3G用户也超过了1000万,西欧3G市场的全面竞争正逐步形成。
东欧许多国家的网络基础设施虽然尚在建设、完善过程中,其通信网落后于西欧10年甚至更多。但为了加快通信业发展,一些东欧国家纷纷加入欧盟,期望通过欧盟的帮助尽快提升通信能力。如匈牙利、波兰、乌克兰等国;此外,俄罗斯甚至通过实施体制改革,引进外资以弥补资金缺口,引进技术以提高通信企业的技术水平。因此,东欧近几年移动通信业发展迅速,从2002年起年新增用户数开始超过西欧。经过几年的发展,移动用户普及率达到50%以上。移动通信业发展到了较高的水平,为3G在中东欧的发展打下了良好的基础。
东欧和西欧新增用户数比较。
截止到2006年6月,东欧开通服务的WCDMA网络已超过30个,3G用户也将近 100万。虽然东欧市场的3G用户远远低于西欧市场,但从2004年开始,全球的新增3G许可证大部分都集中在东欧地区,新建和新增的商用网络也有很多出自东欧地区。由于东欧地区的移动通信产业发展迅速,成为全球通信产业的巨大潜力市场,因此,这一地区3G业务的发展更加受人关注。
东欧和西欧WCDMA用户增长情况。