??xml version="1.0" encoding="utf-8" standalone="yes"?> Two of them are probably the
most frequently used by you and two (plus one) of them are rarely use
even though most of programmers are aware of their existence.
GET
“I get something!?/p>
“Get the data and back off!?/p>
As you might know, GET should always only getting the data from the specified resources and should not
create any action other than retrieval. If you want to save the data to
database, modify files, etc., do not use GET. This is important as GET
(and HEAD, see below) is considered “safe?
HEAD
We can say that this is the
light version of GET because HEAD is actually the same as GET but
ignoring the response body. When do we use HEAD instead of GET? Testing
links, check for modifications, etc., that is for something that you
didn’t need to read the response body and just okay with the response
header.
POST
If GET retrieved the data then POST is a method to store data, create new resources, etc. POST to GET is like “write?to “read?/em>. Pretty simple. (You might be wondering why I simplify things and not telling the truth about the vary responses, whether it’s 200, 201, or 204. If you’re really curious about those response codes, please refer to RFC2616: HTTP Status Code Definitions. ).
PUT
PUT, simply put, is practically the same with POST. The difference between PUT and POST is in its behavior. Read this explanation for a brief and easy-to-understand answer.
DELETE
As the name suggests, DELETE is the “opposite?of PUT. Again, DELETE to PUT is like “erase?to “write?/em>. No big deal. (I know some people who use POST to delete or destroy the data/resource but that should not happened). ?em>So if PUT and DELETE are identical with POST, why we would do something using PUT and DELETE instead of POST?? you asked. PUT and DELETE is idempotency.
I repeat, idempotency. No matter how much you use PUT or DELETE, if you
do that more than one within the same resource, it will be counted as
one. This rule is not applicable for POST as everytime you do the POST,
the (same) data will be stored/created over and over again. Elliotte Rusty Harold explained about this in an interview six years ago. There’s more than this. You can see another three methods: TRACE, CONNECT, and OPTIONS and the relatively new method: PATCH.
原文:http://css.dzone.com/articles/http-methods-every-web Beautiful is better than ugly. Explicit is better than implicit.
巴科斯范式及其扩?br />
BNF & Augmented BNF 在双引号中的?"word")代表着q些字符本n。而double_quote用来代表双引受?br />在双引号外的字(有可能有下划U)代表着语法部分? q是用BNF来定义的Java语言中的For语句的实例:
q是Oracle packages的BNF定义Q?
package_obj_body ::= variable_declaration procedure_body ::= "procedure" procedure_name statement ::= comment q是用BNF来定义的BNF本n的例子:
syntax ::= { rule } 一、Ping命o的用技?/P>
Ping是个使用频率极高的实用程序,用于定本地L是否能与另一CZ换(发送与接收Q数据报。根据返回的信息Q我们就可以推断TCP/IP参数是否讄得正以及运行是否正常。需要注意的是:成功C另一C行一ơ或两次?nbsp;据报交换q不表示TCP/IP配置是正确的,我们必须执行大量的本CZq程L的数据报交换Q才能确信TCP/IP的正性?/P>
单的_Ping是一个测试程序,如果Pingq行正确Q我们大体上可以排除网l访问层、网卡、MODEM的输入输出线路、电~和路由器等存在的故障,从而减了问题的范围。但׃可以自定义所发数据报的大及无休止的高速发送,Ping也被某些别有用心的h作ؓDDOSQ拒l服务攻击)的工P例如许多大型的网站就是被黑客利用数百台可以高速接入互联网的电脑连l发送大量Ping数据报而瘫痪的?/P>
按照~省讄QWindows上运行的Ping命o发?个ICMPQ网间控制报文协议)回送请求,每个32字节数据Q如果一切正常,我们应能得到4个回送应{?nbsp;Ping能够以毫Uؓ单位昄发送回送请求到q回回送应{之间的旉量。如果应{时间短Q表C数据报不必通过太多的\由器或网l连接速度比较快。Pingq能昄TTLQTime To Live存在旉Q|我们可以通过TTL值推一下数据包已经通过了多个路由器:源地点TTL起始|是比返回TTL略大的一?的乘ҎQ?q回时TTL倹{例如,q回TTLgؓ119Q那么可以推数据报d源地址的TTL起始gؓ128Q而源地点到目标地点要通过9个\由器|段Q?28-119Q;如果q回TTLgؓ246QTTL起始值就?56Q源地点到目标地点要通过9个\由器|段?/P>
1、通过Ping网l故障的典型ơ序 正常情况下,当我们用Ping命o来查N题所在或验网l运行情冉|Q我们需要用许多Ping命oQ如果所有都q行正确Q我们就可以怿基本的连通性和配置参数没有问题Q如果某些Ping命o出现q行故障Q它也可以指明到何处LN题。下面就l出一个典型的次序及对应的可能故障: ·ping 127.0.0.1 ·ping 本机IP ·ping 局域网内其他IP ·ping |关IP ·ping q程IP ·ping localhost ·ping 如果上面所列出的所有Ping命o都能正常q行Q那么我们对自己的计机q行本地和远E通信的功能基本上可以放心了。但是,q些命o的成功ƈ不表C我们所有的|络配置都没有问题,例如Q某些子|掩码错误就可能无法用这些方法检到?/P>
2、Ping命o的常用参数选项 ·ping IP –t ·ping IP -l 3000 ·ping IP –n 二、Netstat 命o的用技?/P>
Netstat用于昄与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网l连接情c?/P>
如果我们的计机有时候接受到的数据报会导致出错数据删除或故障Q我们不必感到奇怪,TCP/IP可以容许q些cd的错误,q能够自动重发数据报。但如果累计的出错情冉|目占到所接收的IP数据报相当大的百分比Q或者它的数目正q速增加,那么我们应该用Netstat查一查ؓ什么会出现q些情况了?/P>
1、netstat 的一些常用选项 ·netstat –s 本选项能够按照各个协议分别昄其统计数据。如果我们的应用E序Q如Web览器)q行速度比较慢,或者不能显CWeb之cȝ数据Q那么我们就可以用本选项来查看一下所昄的信息。我们需要仔l查看统计数据的各行Q找到出错的关键字,q而确定问题所在?/P>
·netstat –e 本选项用于昄关于以太|的l计数据。它列出的项目包括传送的数据报的d节数、错误数、删除数、数据报的数量和q播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来l计一些基本的|络量Q?/P>
·netstat –r 本选项可以昄关于路由表的信息Q类g后面所讲用route print命o时看到的 信息。除了显C有效\由外Q还昄当前有效的连接?/P>
·netstat –a 本选项昄一个所有的有效q接信息列表Q包括已建立的连接(ESTABLISHEDQ,也包括监听连接请求(LISTENINGQ的那些q接?/P>
·netstat –n 昄所有已建立的有效连接?/P>
下面?nbsp;netstat 的输出示例: C:\>netstat -e Interface Statistics ReceivedSent Bytes?99583794047224622 Unicast packets120099131015 Non-unicast packets7579544?nbsp;3823 Discards?nbsp;0 0 Errors 0 0 Unknown protocols?63054211 C:\>netstat -a Active Connections Proto Local AddressForeign Address?nbsp;State TCPCORP1:1572?nbsp;172.16.48.10:nbsession?nbsp;ESTABLISHED TCPCORP1:1589?nbsp;172.16.48.10:nbsession?nbsp;ESTABLISHED TCPCORP1:1606?nbsp;172.16.105.245:nbsession ESTABLISHED TCPCORP1:1632?nbsp;172.16.48.213:nbsessionESTABLISHED TCPCORP1:1659?nbsp;172.16.48.169:nbsessionESTABLISHED TCPCORP1:1714?nbsp;172.16.48.203:nbsessionESTABLISHED TCPCORP1:1719?nbsp;172.16.48.36:nbsession?nbsp;ESTABLISHED TCPCORP1:1241?nbsp;172.16.48.101:nbsessionESTABLISHED UDPCORP1:1025?nbsp;*:* UDPCORP1:snmp?nbsp;*:* UDPCORP1:nbname *:* UDPCORP1:nbdatagram *:* UDPCORP1:nbname *:* UDPCORP1:nbdatagram *:* C:\>netstat -s IP Statistics Packets Received = 5378528 Received Header Errors?nbsp;= 738854 Received Address Errors? 23150 Datagrams Forwarded? 0 Unknown Protocols Received?nbsp;= 0 Received Packets Discarded?nbsp;= 0 Received Packets Delivered?nbsp;= 4616524 Output Requests? 132702 Routing Discards = 157 Discarded Output Packets = 0 Output Packet No Route?nbsp;= 0 Reassembly Required? 0 Reassembly Successful = 0 Reassembly Failures?nbsp;= Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation?nbsp;= 0 Fragments Created = 0 ICMP Statistics ReceivedSent Messages 693?nbsp;4 Errors?nbsp;0 0 Destination Unreachable?85?nbsp;0 Time Exceeded0 0 Parameter Problems?nbsp;0 0 Source Quenches? 0 Redirects0 0 Echoes?nbsp;4 0 Echo Replies 0 4 Timestamps?nbsp;0 0 Timestamp Replies0 0 Address Masks0 0 Address Mask Replies 0 0 TCP Statistics Active Opens = 597 Passive Opens= 135 Failed Connection Attempts?nbsp;= 107 Reset Connections= 91 Current Connections? 8 Segments Received= 106770 Segments Sent= 118431 Segments Retransmitted?nbsp;= 461 UDP Statistics Datagrams Received?nbsp;= 4157136 No Ports = 351928 ReceiveErrors?nbsp;= 2 Datagrams Sent?nbsp;= 13809 2、Netstat的妙?/P>
l常上网的h一般都使用ICQ的,不知道我们有没有被一些讨厌的人骚扎ͼx诉却又不知从和下手?其实Q我们只要知道对方的IPQ就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道Ҏ的IP呢?如果Ҏ在设|ICQ旉择了不昄IP地址Q那我们是无法在信息栏中看到的。其实,我们只需要通过Netstat可以很方便的做到这一点:当他通过ICQ或其他的工具与我们相q时Q例如我们给他发一条ICQ信息或他l我们发一条信息)Q我们立dDOS 命o提示W下输入netstat -n或netstat -a可以看到对方上|时所用的IP或ISP域名了,甚至q所用Port都完全暴露了?/P>
三、IPConfig命o的用技?/P>
IPConfig实用E序和它的等价图形用L?---Windows 95/98中的WinIPCfg可用于显C当前的TCP/IP配置的设|倹{这些信息一般用来检验h工配|的TCP/IP讄是否正确。但是,如果我们的计机和所在的局域网使用了动态主机配|协议(DHCPQ,q个E序所昄的信息也许更加实用。这ӞIPConfig可以让我们了解自q计算机是否成功的U用C个IP地址Q如果租用到则可以了解它目前分配到的是什么地址。了解计机当前的IP地址、子|掩码和~省|关实际上是q行试和故障分析的必要目?/P>
1、IPConfig最常用的选项 ·ipconfig 当用IPConfig时不带Q何参数选项Q那么它为每个已l配|了的接口显CIP地址、子|掩码和~省|关倹{?/P>
·ipconfig /all 当用all选项ӞIPConfig能ؓDNS和WINS服务器显C它已配|且所要用的附加信息Q如IP地址{)Qƈ且显C内|于本地|卡中的物理地址QMACQ。如果IP地址是从DHCP服务器租用的QIPConfig显CDHCP服务器的IP地址和租用地址预计失效的日期?/P>
·ipconfig /release和ipconfig /renew q是两个附加选项Q只能在向DHCP服务器租用其IP地址的计机上v作用。如果我们输入ipconfig /releaseQ那么所有接口的U用IP地址侉KC付给DHCP服务器(归还IP地址Q。如果我们输入ipconfig /renewQ那么本地计机便设法与DHCP服务器取得联p,q租用一个IP地址。请注意Q大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址?/P>
下面的范例是 ipconfig /all 命o输出Q该计算机配|成使用 DHCP 服务器动态配|?nbsp;TCP/IPQƈ使用 WINS ?nbsp;DNS 服务器解析名U?/P>
Windows 2000 IP Configuration Node Type.. . . . . . . . : Hybrid IP Routing Enabled.. . . . : No WINS Proxy Enabled.. . . . : No Ethernet adapter Local Area Connection: Host Name.. . . . . . . . : corp1.microsoft.com DNS Servers . . . . . . . : 10.1.0.200 Description. . . . . . . : 3Com 3C90x Ethernet Adapter Physical Address. . . . . : 00-60-08-3E-46-07 DHCP Enabled.. . . . . . . : Yes Autoconfiguration Enabled.: Yes IP Address. . . . . . . . . : 192.168.0.112 Subnet Mask. . . . . . . . : 255.255.0.0 Default Gateway. . . . . . : 192.168.0.1 DHCP Server. . . . . . . . : 10.1.0.50 Primary WINS Server. . . . : 10.1.0.101 Secondary WINS Server. . . : 10.1.0.102 Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM 如果我们使用的是Windows 95/98Q那么我们应该更习惯使用winipcfg而不是ipconfigQ因为它是一个图形用L面,而且所昄的信息与ipconfig相同Qƈ且也提供发布和更新动态IP地址的选项?/P>
四、ARPQ地址转换协议Q的使用技?/P>
ARP是一个重要的TCP/IP协议Qƈ且用于确定对应IP地址的网卡物理地址。实用arp命oQ我们能够查看本地计机或另一台计机的ARP高速缓存中的当前内宏V此外,使用arp命oQ也可以用h工方式输入静态的|卡物理/IP地址对,我们可能会用这U方式ؓ~省|关和本地服务器{常用主行这作Q有助于减少|络上的信息量?/P>
按照~省讄QARP高速缓存中的项目是动态的Q每当发送一个指定地点的数据报且高速缓存中不存在当前项目时QARP便会自动d该项目。一旦高速缓存的目被输入,它们已l开始走向失效状态。例如,在Windows NT/2000|络中,如果输入目后不q一步用,物理/IP地址对就会在2?0分钟内失效。因此,如果ARP高速缓存中目很少或根本没有时Q请不要奇怪,通过另一台计机或\由器的ping命o卛_d。所以,需要通过arp命o查看高速缓存中的内ҎQ请最好先ping 此台计算机(不能是本机发送ping命oQ?/P>
ARP常用命o选项Q?/P>
·arp -a或arp –g 用于查看高速缓存中的所有项目?a?g参数的结果是一LQ多q来-g一直是UNIXq_上用来显CARP高速缓存中所有项目的选项Q而Windows用的是arp -aQ?a可被视ؓallQ即全部的意思)Q但它也可以接受比较传统?g选项?/P>
·arp -a IP 如果我们有多个网卡,那么使用arp -a加上接口的IP地址Q就可以只显CZ该接口相关的ARP~存目?/P>
·arp -s IP 物理地址 我们可以向ARP高速缓存中人工输入一个静态项目。该目在计机引导q程中将保持有效状态,或者在出现错误Ӟ人工配置的物理地址自动更新该目?/P>
·arp -d IP 使用本命令能够h工删除一个静态项目?/P>
例如我们在命令提C符下,键入 Arp –aQ如果我们用过 Ping 命o试q证从q台计算机到 IP 地址?nbsp;10.0.0.99 的主机的q通性,?nbsp;ARP ~存昄以下: Interface:10.0.0.1 on interface 0x1 Internet AddressPhysical AddressType 10.0.0.99 00-e0-98-00-7c-dc dynamic x我们可以用ipconfig和ping命o来查看自q|络配置q判断是否正、可以用netstat查看别h与我们所建立的连接ƈ扑ևICQ使用者所隐藏的IP信息、可以用arp查看|卡的MAC地址?/P>
五、Tracert、Route ?nbsp;NBTStat的用技?/P>
1、Tracert的用技巧?/P>
如果有网l连通性问题,可以使用 tracert 命o来检查到辄目标 IP 地址的\径ƈ记录l果。tracert 命o昄用于数据包从计机传递到目标位置的一l?nbsp;IP 路由器,以及每个跃点所需的时间。如果数据包不能传递到目标Qtracert 命o显C成功{发数据包的最后一个\由器。当数据报从我们的计机l过多个|关传送到目的地时QTracert命o可以用来跟踪数据报用的路由Q\径)。该实用E序跟踪的\径是源计机到目的地的一条\径,不能保证或认为数据报总遵循这个\径。如果我们的配置使用DNSQ那么我们常怼从所产生的应{中得到城市、地址和常见通信公司的名字。Tracert是一个运行得比较慢的命oQ如果我们指定的目标地址比较q)Q每个\由器我们大约需要给?5U钟?/P>
Tracert的用很单,只需要在tracert后面跟一个IP地址或URLQTracert会进行相应的域名转换的?/P>
tracert 最常见的用法: tracert IP address [-d] 该命令返回到?nbsp;IP 地址所l过的\由器列表。通过使用 -d 选项Q将更快地显C\由器路径Q因?nbsp;tracert 不会试解析路径中\由器的名U?/P>
Tracert一般用来检故障的位置Q我们可以用tracert IP在哪个环节上Z问题Q虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方Q我们也可以很有把握的告诉别h----某某地方Z问题?/P>
2、Route 的用技?/P>
大多CZ般都是驻留在只连接一台\由器的网D上。由于只有一台\由器Q因此不存在使用哪一台\由器数据报发表到远E计机上去的问题,该\由器的IP地址可作|段上所有计机的缺省网x输入?/P>
但是Q当|络上拥有两个或多个路由器时Q我们就不一定想只依赖缺省网关了。实际上我们可能惌我们的某些远EIP地址通过某个特定的\由器来传递,而其他的q程IP则通过另一个\由器来传递?/P>
在这U情况下Q我们需要相应的路由信息Q这些信息储存在路由表中Q每个主机和每个路由器都配有自己独一无二的\p。大多数路由器用专门的路由协议来交换和动态更新\由器之间的\p。但在有些情况下Q必Mh工将目d到\由器和主Z的\p中。Route是用来昄、h工添加和修改路由表项目的?/P>
一般用选项Q?/P>
·route print 本命令用于显C\p中的当前目Q在单\由器|段上的输出Q由于用IP地址配置了网卡,因此所有的q些目都是自动d的?/P>
·route add 使用本命令,可以信路由目dl\p。例如,如果要设定一个到目的|络209.98.32.33的\由,光要经q?个\由器|段Q首先要l过本地|络上的一个\由器Q器IP?02.96.123.5Q子|掩码ؓ255.255.255.224Q那么我们应该输入以下命令: route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5 ·route change 我们可以使用本命令来修改数据的传输\由,不过Q我们不能用本命o来改变数据的目的地。下面这个例子可以将数据的\由改到另一个\由器Q它采用一条包?个网D늚更直的\径: route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3 ·route delete 使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33 3、NBTStat的用技?/P>
使用 nbtstat 命o释放和刷?nbsp;NetBIOS 名称。NBTStatQTCP/IP上的NetBIOSl计数据Q实用程序用于提供关于关于NetBIOS的统计数据。运用NetBIOSQ我们可以查看本地计机或远E计机上的NetBIOS名字表格?/P>
常用选项Q?/P>
·nbtstat –n 昄寄存在本地的名字和服务程序?/P>
·nbtstat –c 本命令用于显CNetBIOS名字高速缓存的内容。NetBIOS名字高速缓存用于寸放与本计机最q进行通信的其他计机的NetBIOS名字和IP地址寏V?/P>
·nbtstat –r 本命令用于清除和重新加蝲NetBIOS名字高速缓存?/P>
·nbtstat -a IP 通过IP昄另一台计机的物理地址和名字列表,我们所昄的内容就像对方计机自己q行nbtstat -n一栗?/P>
·nbtstat -s IP 昄实用其IP地址的另一台计机的NetBIOSq接表?/P>
例如我们在命令提C符下,键入Qnbtstat –RR 释放和刷新过E的q度以命令行输出的Ş式显C。该信息表明当前注册在该计算机的 WINS 中的所有本?nbsp;NetBIOS 名称是否已经使用 WINS 服务器释攑֒l订了注册?/P>
]]>
一U方法是创徏一个loopback|卡. q个比较ȝ而且不一定有?. 参见http://wiki.wireshark.org/CaptureSetup/Loopback
如果你的电脑再局域网? 也就是说是有|关服务器的情况? 你可以通过改变路由讄. 把客L发往服务的包指定到网x务器?
q样数据包就是通过|关饶了一圈再回来, wiresharkp拦截到数据包? 路由讑֮配置如下: 我在win7上试q是可以? 其他的os不清?br />
假设你的ip?72.17.8.32(不是127.0.0.1是实际的|卡地址), |关服务器是172.17.8.253
通过下面的命令把数据包指向网x务器
route add 172.17.8.32 mask 255.255.255.255 172.17.8.253 metric 1
要想再设|回来可以用下面的命?br />
route delete 172.17.8.32
route add 172.17.8.32 mask 255.255.255.255 172.17.8.32 metric 1
ip地址和网兛_址可以通过 ipconfig来查?
]]>
The Zen of Python
import this
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
]]>
Decimal
Hexademical
Octal
ASCII Character
HTML Entity Code
Description
0
0
000
NUL
null character
1
1
001
SOH
start of header
2
2
002
STX
start of text
3
3
003
ETX
end of text
4
4
004
EOT
end of transmission
5
5
005
ENQ
enquiry
6
6
006
ACK
acknowledge
7
7
007
BEL
bell (ring)
8
8
010
BS
backspace
9
9
011
HT
horizontal tab
10
A
012
LF
line feed
11
B
013
VT
vertical tab
12
C
014
FF
form feed
13
D
015
CR
carriage return
14
E
016
SO
shift out
15
F
017
SI
shift in
16
10
020
DLE
data link escape
17
11
021
DC1
device control 1
18
12
022
DC2
device control 2
19
13
023
DC3
device control 3
20
14
024
DC4
device control 4
21
15
025
NAK
negative acknowledge
22
16
026
SYN
synchronize
23
17
027
ETB
end transmission block
24
18
030
CAN
cancel
25
19
031
EM
end of medium
26
1A
032
SUB
substitute
27
1B
033
ESC
escape
28
1C
034
FS
file separator
29
1D
035
GS
group separator
30
1E
036
RS
record separator
31
1F
037
US
unit separator
32
20
040
space
33
21
041
!
!
exclamation mark
34
22
042
"
"
quotation mark
35
23
043
#
#
number sign
36
24
044
$
$
dollar sign
37
25
045
%
%
percent sign
38
26
046
&
&
ampersand
39
27
047
'
'
apostrophe
40
28
050
(
(
left parenthesis
41
29
051
)
)
right parenthesis
42
2A
052
*
*
asterisk
43
2B
053
+
+
plus sign
44
2C
054
,
,
comma
45
2D
055
-
-
hyphen
46
2E
056
.
.
period
47
2F
057
/
/
slash
48
30
060
0
0
digit 0
49
31
061
1
1
digit 1
50
32
062
2
2
digit 2
51
33
063
3
3
digit 3
52
34
064
4
4
digit 4
53
35
065
5
5
digit 5
54
36
066
6
6
digit 6
55
37
067
7
7
digit 7
56
38
070
8
8
digit 8
57
39
071
9
9
digit 9
58
3A
072
:
:
colon
59
3B
073
;
;
semicolon
60
3C
074
<
<
less-than
61
3D
075
=
=
equals-to
62
3E
076
>
>
greater-than
63
3F
077
?
?
question mark
64
40
100
@
@
at sign
65
41
101
A
A
uppercase A
66
42
102
B
B
uppercase B
67
43
103
C
C
uppercase C
68
44
104
D
D
uppercase D
69
45
105
E
E
uppercase E
70
46
106
F
F
uppercase F
71
47
107
G
G
uppercase G
72
48
110
H
H
uppercase H
73
49
111
I
I
uppercase I
74
4A
112
J
J
uppercase J
75
4B
113
K
K
uppercase K
76
4C
114
L
L
uppercase L
77
4D
115
M
M
uppercase M
78
4E
116
N
N
uppercase N
79
4F
117
O
O
uppercase O
80
50
120
P
P
uppercase P
81
51
121
Q
Q
uppercase Q
81
52
122
R
R
uppercase R
83
53
123
S
S
uppercase S
84
54
124
T
T
uppercase T
85
55
125
U
U
uppercase U
86
56
126
V
V
uppercase V
87
57
127
W
W
uppercase W
88
58
130
X
X
uppercase X
89
59
131
Y
Y
uppercase Y
90
5A
132
Z
Z
uppercase Z
91
5B
133
[
[
left square bracket
92
5C
134
"
\
backslash
93
5D
135
]
]
right square bracket
94
5E
136
^
^
caret
95
5F
137
_
_
underscore
96
60
140
`
`
grave accent
97
61
141
a
a
lowercase a
98
62
142
b
b
lowercase b
99
63
143
c
c
lowercase c
100
64
144
d
d
lowercase d
101
65
145
e
e
lowercase e
102
66
146
f
f
lowercase f
103
67
147
g
g
lowercase g
104
68
150
h
h
lowercase h
105
69
151
i
i
lowercase i
106
6A
152
j
j
lowercase j
107
6B
153
k
k
lowercase k
108
6C
154
l
l
lowercase l
109
6D
155
m
m
lowercase m
110
6E
156
n
n
lowercase n
111
6F
157
o
o
lowercase o
112
70
160
p
p
lowercase p
113
71
161
q
q
lowercase q
114
72
162
r
r
lowercase r
115
73
163
s
s
lowercase s
116
74
164
t
t
lowercase t
117
75
165
u
u
lowercase u
118
76
166
v
v
lowercase v
119
77
167
w
w
lowercase w
120
78
170
x
x
lowercase x
121
79
171
y
y
lowercase y
122
7A
172
z
z
lowercase z
123
7B
173
{
{
left curly brace
124
7C
174
|
|
vertical bar
125
7D
175
}
}
right curly brace
126
7E
176
~
~
tilde
127
7F
177
DEL
delete (rubout)
]]>
]]>
]]>
Common methods of regression testing include re-running previously run tests and checking whether previously-fixed faults have reemerged.
Experience has shown that as software is developed, this kind of reemergence of faults is quite common. Sometimes it occurs because a fix gets lost through poor revision control practices (or simple human error in revision control), but just as often a fix for a problem will be "fragile" - if some other change is made to the program, the fix no longer works. Finally, it has often been the case that when some feature is redesigned, the same mistakes will be made in the redesign that were made in the original implementation of the feature.
Therefore, in most software development situations it is considered good practice that when a bug is located and fixed, a test that exposes the bug is recorded and regularly retested after subsequent changes to the program. Although this may be done through manual testing procedures using programming techniques, it is often done using automated testing tools, frequently, a 'test suite', software tools that allows the testing environment to execute all the regression test cases automatically; some projects even set up automated systems to automatically re-run all regression tests at specified intervals and report any regressions. Common strategies are to run such a system after every successful compile (for small projects), every night, or once a week.
Regression testing is an integral part of the extreme programming software development methodology. In this methodology, design documents are replaced by extensive, repeatable, and automated testing of the entire software package at every stage in the software development cycle.
]]>
什么是巴科斯范式?
巴科斯范?BNF: Backus-Naur Form 的羃?是由 John Backus ?Peter Naur 首先引入的用来描q计机语言语法的符号集?br /> 现在Q几乎每一位新~程语言书籍的作者都使用巴科斯范式来定义~程语言的语法规则。 ?
巴科斯范式的内容
括? < > )内包含的为必选项?
Ҏ? [ ] )内包含的为可选项?
大括? { } )内包含的为可重复0x数次的项?
竖线( | )表示在其左右两边任选一,相当?OR"的意思?
::= 是“被定义为”的意思。?br />
巴科斯范式示?/font>
FOR_STATEMENT ::=
"for" "(" ( variable_declaration |
( expression ";" ) | ";" )
[ expression ] ";"
[ expression ] ";"
")" statement
package_body ::= "package" package_name "is"
package_obj_body { package_obj_body }
[ "begin" seq_of_statements ]
"end" [ package_name ] ";"
| subtype_declaration
| cursor_declaration
| cursor_body
| exception_declaration
| record_declaration
| plsql_table_declaration
| procedure_body
| function_body
[ "(" argument { "," argument } ")" ]
"return" return_type
"is"
[ "declare" declare_spec ";" { declare_spec ";" } ]
"begin"
seq_of_statements
[ "exception" exception_handler { exception_handler } ]
"end" [ procedure_name ] ";"
| assignment_statement
| exit_statement
| goto_statement
| if_statement
| loop_statement
| null_statement
| raise_statement
| return_statement
| sql_statement
| plsql_block
rule ::= identifier "::=" expression
expression ::= term { "|" term }
term ::= factor { factor }
factor ::= identifier |
quoted_symbol |
"(" expression ")" |
"[" expression "]" |
"{" expression "}"
identifier ::= letter { letter | digit }
quoted_symbol ::= """ { any_character } """
扩展的巴U斯范式 Augmented BNF
RFC2234 定义了扩展的巴科斯范?ABNF)。近q来在Internet的定义中ABNF被广泛用。ABNF做了更多的改q,比如_在ABNF中,括号不再需要。?/p>
q里是要点一?/span>:
"..." : 术语W号
[...] : 选项:最多出C?/span>
{...} : 重复?/span>: Lơ数Q包?0 ?/span>
(...) : 分组
| : q列选项Q只能选一?/span>
斜体?/i>: 参数Q在其它地方有解?/span>
<或项列表>::= <?gt; | <或项列表>|<?gt;
<?gt;::= <非终l符> | <l结W?gt; | <?gt;<非终l符> | <?gt;<l结W?gt;
<非终l符>::= <非终l符?gt;
Q? 但愿能有人看得懂:-) )
BNF是巴科特L式的羃写,
在计机的史前时代(1950s)Q曾有一位大师,他奠定了C计算机的基础
在他老h家的诸多成就之中Q包括了对Ş式语a的研IӞ和发明了高语言Q?
FORTRAN?
ZU念他老hӞ我们把他提出的一套描q语a的方法叫做BNF
其实BNF很简?:=表示定义 |表示? 括?<>)括v来的是非l结W?
所谓非l结W就是语a中某些抽象的概念Q终l符是可以直接出现?
语言中的W号
比如QC语言的声明语句可以用BNFq样描述Q?
<声明语句> ::= <cd><标识W?gt;; | <cd><标识W?gt;[<数字>];
q一句中<声明语句>q个非终l符被定义成了两UŞ式(上面用|隔开的两部分Q?
在这里引入了三个l结W? 分号; 左右Ҏ号[ ]
<cd> ::= <单类?gt; | <指针cd> | <自定义类?gt;
<指针cd> ::= <单类?gt; * | <自定义类?gt; *
<单类?gt; ::= int|char|double|float|long|short|void
<自定义类?gt; ::= enum<标识W?gt;|struct<标识W?gt;|union<标识W?gt;|<标识W?gt;
到这里就基本上把<cd>定义清楚?
<数字> ::= 0X<十六q制数字?gt; | 0<八进制数字串> | <十进制数字串>
<十六q制数字?gt; ::= <十六q制数字> | <十六q制数字?gt;<十六q制数字>
<八进制数字串> ::= <八进制数?gt; | <八进制数字串><八进制数?gt;
<十进制数字串> ::= <十进制数?gt; | <十进制数字串><十进制数?gt;
<十六q制数字> ::= <十进制数?gt; | A | B | C | D | E | F
<十进制数?gt; ::= <八进制数?gt; | 8 | 9
<八进制数?gt; ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
到这里就?lt;数字>定义清楚?
<标识W?gt; ::= <字母> | <标识W?gt; <字母数字?gt;
<字母数字?gt; ::= <字母>|<十进制数?gt;|<字母数字?gt;<字母>|<字母数字?gt;<十进制数?gt;
<字母> ::= _ | <大写字母> | <写字母>
<写字母> ::= a|b|c|d|e|f|g|h|i|j …? Q偷个懒Q?
<大写字母> ::= A|B|C|D|E|F|G|H|I|J …?
到此为止整个声明语句定义完了(是说已l没有非l结W了Q,虽然看v来很
J,但前面定义的各种非终l符都可以很Ҏ的在别的地方重用比如Q函数声?
可以定义成下面的样子Q?
<函数声明语句> ::= <cd><标识W?gt;(<形参?gt;);
<形参?gt; ::= <cd><标识W?gt; | <形参?gt;,<形参?gt;
只用两句描q完了,所以BNF实际上比用自然语a要简l得?
Q整个C语言只用一二百句就可以描述清楚Q?
而且相当的精,不会有自然语a中U模׃可的表达
如果你对BNF比较敏感的话Q会发现C里面的标识符不能由数字开?
而且在C里面下划U是被当做字母看待的Q也是说能用字母的地方
都可以用下划U)比如Q(最好用老一点的~译器比如PDP11上的ccQ?
#define ____ main
#define ___ for
typedef char* _____;
int (*______)(char *, ...) = printf; //如果q一句不灵,q下面q句
//#define ______ printf //如果你用的是C++可以试一下下面这?
//int (*______)(const char *, ...) = printf;
____(_,char* __[]) //要是你编译器不吃Q可以改成int ____(int _,char*__[])
{
___( ; _ ; _ --)
{
______("%s\n", __[_]);
}
}
另外Q还有一UEBNF没有正宗的BNFq么爽了Q也有很多h在用Q前面的
那些递归的定义被写成了{}
有一D|间PASCAL爱好者们喜欢用一个叫语法囄东西Q画出来很难看,?
功能和BNF差不多,现在好象已经没多h用了
q几q流行另一U东西:
digit = one of
0 1 2 3 4 5 6 7 8 9
q里非终l符digit用斜体表C,one of是这U方法里定义的一个量词(常用斜黑体)
我不喜欢q个Q因为我眼神不好Q常常分不清那个是斜体,那个是正体 ?
]]>
当然不会Q?br />
::关闭昄信息
del list.log /q
::删除上次q行后留下的文g
echo 正在已l的安装补丁
for /f "delims=- tokens=2" %%i in ('dir *-kb*.exe /b /on') do REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\%%i" >nul || dir /b *%%i*.exe >>list.log && cls && echo checking installed service pack
::从文件中取出一个补丁的名字Q截取中间的补丁标号Q如KB873339Q,到注册表查询q个是否已经安装了,没有将其存攑ֈlist.log文g?br />
cls
::清屏
for /f "eol=o eol=O " %%j in (list.log) do echo installing service pack %%j && %%j /quiet /norestart
::从list.log文g中取Z个补丁的名字Q利用参敎ͼ/quiet /norestartQ进行安装无人安?br />
cls
echo these service pack are installedQlist.logQ:& type list.log | more
::昄安装了的补丁的列表,more是用来防止补丁过多,分屏昄用的
pause
::暂停让别人看列表
del list1.log /q
::删除使用q的list1.log文g
]]>
2..如果没有毛片Q中国的性教育简直就是一片空白!
3.发现大家看A片时最急的是抢凛_Q然后都不自觉地v二郎腎쀦…(北科大)
4..金正日发表电视讲话说Q“中U节刚过Q我爆个核弹给大家拜个晚年……”(U苑星空Q?
5.如果上天再给我一ơ重生的ZQ我一定要选择在唐朝,q样既不用学pQ也?
用减?
6.处女和处男就好象木板和钉子:木板被钉了个H窿׃是好板子了,而钉子钉q几个木板却不会有h在意……(天开心乐园)
7.老子开始学好了Q替人画像!一?0Q两?0Q去痣,添酒H不另收费~Q饮水思源Q?
8.大便的离去,是马桶的召唤Q还是肛门的不留Q?_-#Q天涯开心乐园)
9.张三丰的武功有多厉害Q谁也不知道Q因为当q和他交q手的都已经ȝ了,所以,长寿才是最强武功!Q饮水思源Q?
10.假如请一个h来帮我数钱,那就{于判了他终w监!Q猫扑)
11.最q又胖了Q打电话时一W脸蛋子q能到挂机键……(北大未名Q?
12.通知Q我宿舍最帅的要去zM了,他说会有很多hM相目睹他出ʎ后的样子Q请途径澡堂上自习的同学l行Q避免交通拥堵……(北大未名Q?
13.时有风吹裙动Q一光棍曰风动,一光棍曰裙动。吾q曰Q是非风动,是非裙动Q色者心动~Q放鹤亭Q?
14.如果电脑是妓/奻I那么U盘就是嫖/客~
15.最后一个是颁奖仪式——(天ӽ理论坛Q?
如果不是考虑政治因素Q?006q诺贝尔文学奖应授予天诗会的n丽华Q因为她让世界h口最多的国家的所有h都变成了诗h…?
16.人家常说饭后吸烟不好Q所以ؓ了健P我干脆就不吃饭了Q(天开心乐园)
17.北大学生亲切地管自己的校医院叫做“小西天”……(我爱南开Q?
18.一个农民拿着?访材料走在大街上Q走着走着死了……(水木CQ?
19.Ҏ点儿背——跑快了撵上IP跑慢了被Ih上!
20.我真想亲口管你爷爷叫壎ͼ爹!Q天涯开心乐园)
21.临渊实习,不如退而学点习Q(日月光华Q?
22.你们管来践t我吧,因ؓ我就是一陀屎!Q天涯大学校园)
23.从猴子到人需要一万年Q从人到猴子只需一瓉~Q猫扑)
24.心中有爱Q看街上女都是情h~Q天涯开心乐园)
25.哪里有美奻I哪里有qLQ哪里有qLQ哪里就有流氓!Q饮水思源Q?
26.怀揣两块,胸怀500万!Q天涯开心乐园)
27..惛_二奶q不是你的错Q可来大学念书就是你的不对了Q!Q天涯开心乐园)
28.“秋昆社”被取缔后,我们又成立了“心生研I会”,没想到还没挂牌就又给取缔了……(四见隐讳Q五色土Q?
29. 我发现我已经成天使了Q因为我天天上课都在听天书~Q搜狐成都理工)
30.我的自行车左闸是虚拟的,右闸是随机的QR龙头是不可控的,车筐是奇异的QR座是非^E的QR链与车n是无q接的,车胎是不饱和的,脚踏板与轴是互不相关的,挡惔板是可{|的QR锁与钥匙是相互独立的Q整个自行Rpȝ是离散的Q(水木CQ?
31 .中国人比较注重隐讟?
自孔夫子始,他老h家东游见两小儿便日;杜牧在《山行》中又教育我们要注意意境Q比如“停车做爱枫林晚”;p古h包办婚姻也强调说是“日”久生情。当Ӟ数风h物嘛Q还得“坐地日行八万里”~Q天涯开心乐园)
33.火R上,一个女孩靠在男孩肩膀上睡着了,q是一个故事;一个男孩靠在女孩肩膀上睡着了,q是一个事故;我就U了PZ么我的生zM处处充斥着事故而不是故事!
Q北大未名)
34.我是一个贪玩的孩子Q除了放风筝Q什么也不会Q我只知道无论如何我都不可以放手Q我只知道我必须微笑着跑向前方……(南大学虚拟CQ?
35.让一个男人爱你也怸是难事,让一个男人娶你才是难事;让一个女人嫁你不是难事,让一个女人爱你才是难事……(水木CQ?
36..我早早就跟女友立下毒誓:“以后我们孩子要是敢学生物,老子打折他的狗腿!要是q敢到川大来学生物学Q老子q接扭断他的脖子!Q!Q蓝色星I)
37..当齐辑ֆ用少林铁头功撞向马特拉奇Q同旉Ҏ奇以W一宇宙速度飞出ȝ时候,我深׃ؓ中华武学所折服Q(天大学校园Q?
38.见到色狼Q我也不怕不怕啦Q我是女博士Q不怕不怕不怕啦~~~Q饮水思源Q?
39..北科大骗了我大学四年Q所以我打算用北U大教我的知识骗C会一辈子Q(北科大)
40..母氏pL人类住洞I_父氏pL人类住高楼——这是?D?器崇拜!Q蓝色星I)
41.q福掌握在自q手里Q而不是在别h的嘴里!Q一见隐讻I水木CQ?img src ="http://www.tkk7.com/mstar/aggbug/116796.html" width = "1" height = "1" />
]]>
体内~Z有益菌生物的最明显表现是经常的I溃疡、呼吔R或消化道中有不愉快的气味、粪便恶臭、长期便U或Ҏ、情l容易失控,中医里所说的“上火”?br />
看来Q我又点~Z有益菌生物?img src ="http://www.tkk7.com/mstar/aggbug/52571.html" width = "1" height = "1" />
]]>
国际会议上定Z6U保健品Q第一l茶Q第二红葡萄酒;W三豆浆Q第四酸ӞW五骨头汤;W六蘑菇汤?
蘑菇能提高免疫功能?
骨头汤里含琬Ӟ琬胶是gq益寿的?
酸奶l持l菌q?
l茶里面含有茶坨酚,而茶坨酚是抗癌的。绿茉含有氟,坚固牙Q消灭虫牙,消灭菌斑。绿茶本w含茶甘宁,茶甘宁是提高血韧性的Q血不Ҏ破裂?
U葡萄的皮上有种东西Q叫逆{醇,它还是抗氧化剂,常喝U葡萄酒的h不得心脏病。红葡萄酒还有个作用是能降血压、降血脂?
大家知道Q什么情况下心脏可以停搏Q第一原来有心脏病的,W二有高血压的Q第三跟食物有关pR什么食物呢Q过大、过、过_、过热的食物可以使心脏停搏,血脂高可以使心脏停搏?
Z需要弱。什么是qQ蔬菜、水果?
亚洲金字塔最好。什么叫金字塔?L、豆cR菜cR?
P人家在国际会议上从来不提大米、白面,也不提麦当劳?
L里第一提的是老玉cI说是黄金作物。老玉c的来历Q美国医学会作了个普查,发现原始的美国h、印W安人没一个高血压,没一个动脉硬化。原来是吃老玉c_的。后来发现老玉c里含有大量的卵、亚沚w、谷物醇、VEQ所以不发生高血压和动脉化。从此以后,国改了,洲、非zӀ欧zӀ日本、香港、中国的q州Q早上都吃玉c羹了?
LW二是荞麦。ؓ什么提荞麦Q现在h都三高,即高血压、高血脂、高血p。荞麦是三降Q它降血压、降血脂、降血p。吃荞麦的h不得胃肠道癌症,直肠癌、结肠癌都不得。我们坐办公室的人,得病?0%是直肠癌、结肠癌?
LW三是薯c,白薯、红薯、山药、土豆。原来它三吸Ӟ吸收水䆾Q吸收脂肪、糖c,吸收毒素。吸收水份,润滑肠道Q不得直肠癌、结肠癌。吸收脂肪、糖c,不得p尿病。吸收毒素,不发生胃肠道炎症?
谷里面还有燕麦,你要是血压高Q一定要吃燕麦,燕麦_、燕麦片。它能降血脂、降血压。能降甘油三脂,使你的血脂降下来?
h后一个是米Q小c除湿、健脾、镇静?
大豆优质蛋白含量高,整个中国老百姓缺乏优质蛋白。大豆中L?U抗癌物质,特别是饴黄酮Q它能预阌Ӏ治疗^腺癌Q但只在大豆中才有?
国际会议上第一个提的菜是胡萝卜Q第一Q它ȝ膜,不容易感冒;W二Q它健美Q第三,它有Ҏ癌作用,而且对眼睛特别好?
菜中W二提的是南瓜。ؓ什么提南瓜呢?它刺Ȁl生素细胞,产生胰岛素。所以常吃南瓜的Z得糖病?
国际会议上还提到蕃茄Q就是西U柿。不得子宫癌、卵巢癌、胰腺癌、膀q、前列腺癌。西U柿炒鸡蛋最值钱了?
q有大蒜。大蒜是抗癌之王。大蒜本w不抗癌Q大蒜素才抗癌,而且是抗癌之王。必d把它切成片,一片一片的薄片攑֜I气?5分钟Q它跟氧气结合以后生大蒜素?
吃两口虾Q这两口比你一肚子牛肉的蛋白都要多
黑木?使血不粘E,ȝ心脏?
q(容Q清除肠道杂物,l持体型。注意,要到正规大商店买q)
螺旋?癄全治Q^衡饮食,补充能量Q治癄如糖病、胃炎、肝炎。提高免疫力Q抵抗各U辐,预防白血病,Ҏ原子?
肉类(d则:小的东西越好,h的比陆地的好。虾cx鱼好,大鱼比鸡肉好Q鸡肉比肉好,肉比猪肉好Q猪肉比牛肉好。最好的是蟩?
饭前喝汤Q苗条健P饭后喝汤Q大腹便ѝ?
我们d若头一天晚上没有睡好就应该午睡。午睡时间是午饭后半时Q而且最好睡一个小Ӟ睡的太长对n体没有好处。不要盖大被子。晚上什么时间睡觉?我们从来不提倡早睡早赗早睡早L概念要清楚,如果7点就睡,12点就h瞎折腾,那没有用。我们主?0点到10:30睡觉Q因为国际会议上定的Q一时C个半时q入q眠是最U学的,q就?2点到3点,q?时h不动Q什么也别干。这3时是深睡眠。如果这3时谁好了,W二天v来一定精焕发。如果你4点以后睡觉,那是睡眠。会睡和不会睡不一栗我们主?2点至凌晨3炚w打不动,而且睡前z个热水澡,水温40?0度,q会使睡眠质量高?img src ="http://www.tkk7.com/mstar/aggbug/50427.html" width = "1" height = "1" />
]]>
我想大家不会忘记Windows是从单的DOS字符界面发展q来的。虽然我们^时在使用Windows操作pȝ的时候,主要是对囑Ş界面q行操作Q但是DOS命o我们仍然非常有用Q下面就让我看来看看q些命o到底有那些作用,同时学习如何使用q些命o的技巧?
q个Ping命o被送到本地计算机的IP软gQ该命o怸退计算机。如果没有做到这一点,pCTCP/IP的安装或q行存在某些最基本的问题?/P>
q个命o被送到我们计算机所配置的IP地址Q我们的计算机始l都应该对该Ping命o作出应答Q如果没有,则表C本地配|或安装存在问题。出现此问题Ӟ局域网用户h开|络늼Q然后重新发送该命o。如果网U断开后本命o正确Q则表示另一台计机可能配置了相同的IP地址?/P>
q个命o应该d我们的计机Q经q网卡及|络늼到达其他计算机,再返回。收到回送应{表明本地网l中的网卡和载体q行正确。但如果收到0个回送应{,那么表示子网掩码Q进行子|分割时Q将IP地址的网l部分与L部分分开的代码)不正或|卡配置错误或电~系l有问题?/P>
q个命o如果应答正确Q表C局域网中的|关路由器正在运行ƈ能够作出应答?/P>
如果收到4个应{,表示成功的用了~省|关。对于拨号上|用户则表示能够成功的访问InternetQ但不排除ISP的DNS会有问题Q?/P>
localhost是个作系l的|络保留名,它是127.0.0.1的别名,每太计算机都应该能够该名字转换成该地址。如果没有做到这一带内Q则表示L文gQ?Windows/hostQ中存在问题?/P>
www.xxx.comQ?IMG src="http://bbs.cfanclub.net/pic/url.gif" align=absMiddle border=0>www.yesky.com 天极|)
对这个域名执行Ping www.xxx.com 地址Q通常是通过DNS 服务?nbsp;如果q里出现故障Q则表示DNS服务器的IP地址配置不正或DNS服务器有故障Q对于拨号上|用P某些ISP已经不需要设|DNS服务器了Q。顺便说一句:我们也可以利用该命o实现域名对IP地址的{换功能?/P>
q箋对IP地址执行Ping命oQ直到被用户以Ctrl+C中断?/P>
指定Ping命o中的数据长度?000字节Q而不是缺省的32字节?/P>
执行特定ơ数的Ping命o?/P>
在此例中Q缓存项指出位于 10.0.0.99 的远E主析成 00-e0-98-00-7c-dc 的媒体访问控制地址Q它是在q程计算机的|卡g中分配的。媒体访问控制地址是计机用于与网l上q程 TCP/IP L物理通讯的地址?/P>
srvany: q个工具是用来解决上面的工具中的问题,你注册的时候把它当作你要的服务Q在用它来启动你的应用程序?BR>instsrv [服务名] [srvany的绝对\径]
注册成功后,到服务管理器中把刚才注册的服务打开Q在启动参数中填上你的应用程序绝对\径,启动服务可以了?BR>q种方式可以解决更新域名地址的问题了?BR>
但是心里不爽Q作Z个程序员如此受制于hL不爽的,其实CN99的动态域名更新协议很单,~个单的E序实现的。无奈只会JavaQ对于C或C++E序员来_做一个系l服务实在是Case啊,后悔当初没有好好学C和C++。但是难道就没有办法把JavaE序变成windowspȝ服务吗?在Java的世界里基本上是没有不可能的事,ObjectWeb Forge上有个项目叫JavaService是用来把JavaE序注册成系l服务的。于是下来看了一下:
一?-p|
二试--不成?BR>三试--...
...
...
攑ּQ?BR>老子自己做了Q其实有了上面的instsrv和srvany其实差一个可执行文g了。于是我用JBuilder把我的jar包做成了一个假的exe文g?BR>我的DNS更新E序如下Q?BR>
其实是用Jakarta的HttpClient来请求一个URL可以了?BR>于是我现在有了我的Refresher.exe。当然你的系l上一定要有JVM才能q行Q废话)。ؓ了运行方便我是把q行时的jar包,如logger.jar,httpclient.jar{打在我的jar包里了?BR>
现在是把它搞成pȝ服务了?BR>W一步:instsrv Refrehser C:\Program Files\Windows Resource Kits\Tools\srvany.exe
W二步:regedit打开注册?BR>W三步:q入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Refrehser
W四步:右键-新徏-?nbsp; 填入 Parameters
W五步:打开ParametersQ右?新徏-字符串?Application
W六步:双击Application 填入 c:\refresher.exe
弟七步:启动Refresher服务?/STRONG>
一切都OK了?BR>在Parameters里还可以d很多键|
AppDirectory 工作目录
AppParameters 你的应用E序的参数。(我可以把我上面程序做成可以接受参数的Q就更通用了)
AppEnvironment q行环境变量?/STRONG>
值现在作为JavaE序员的你也可以ql添加一些动能了Q赶快去做吧Q?/P>
|
Table of Contents | Index |
![]() |
Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java has an intriguing notion about the future of Java, and it's causing some agitation among Java developers. Bruce believes Java is abandoning its base, and conditions are ripe for an alternative to emerge.
|
PS.
System.out.println(上v?equals(上v的h))Q?BR>〉false
http://www.myeclipseide.com/ContentExpress-display-ceid-66.html
弟下到了一个破解?BR>但是希望各位如果在商业项目中要用的话,q是M正版的吧。毕竟大安是做软g的?BR>对于J2EE的初学者,我还是觉得不要过多地使用IDEQ还是多自己动动手,多写写Ant?BR>当然如果只是惛_试一下新东西Q偶用一下D版也无妨?BR>http://www.tkk7.com/Files/mstar/crack.zip