存档

2008年12月 的存档

本文原文地址为:http://miaoqiyuan.cn/p/asp-response-write-xiaolv/,转载请注明出处。
在网上看到一篇Response.write 的效率的文章,很久了,地址已经找不到了,大约说的是Response.write每行输出很慢,如果改成字符串会好一些。今天正好是星期天。有空来试验一下,看看到底对不对。
测试平台:Windows2003 SP2补丁 IIS6.0
机器配置:Intel E430 CPU(赛扬)
测试内容:
模拟一个网页输出的类,使用其Header方法,通过用函数连接的方式(Header2)连接字符串用Response.write输出,直接连接的方式(Header1)连接用Response.write输出,Response.write直接输出的方法,各执行500000次,对比运行结果。
测试代码:
见附件一
试验难题:
如果各执行500000,恐怕执行很慢,如果在浏览器中打开,恐怕将会直接导致浏览器崩溃、IIS恐怕也会崩溃。
解决方法:
1.将执行次数改为10000次。
2.用VBS脚本模拟浏览器请求,将结果保存到一个文本文件。代码见附件二
3.用{VBS脚本模拟浏览器请求的脚本的文件名}.vbs>1.txt直接将结果输出到1.txt
试验结果:
得到一个大约11.3MB的文本文件,
Header1(输出直接连接字符串):437.5
Header2(输出函数连接字符串):703.125
[...]

十二 21st, 2008 | Filed under ASP, Experience(经验), Life(生活), Share(分享), VBscript

在老四(http://www.0097.org/laos/)的博客上看到一电子钢琴,下边还有千千阙听的曲子,想马上弹奏一曲,好累啊,音调好像也不对,写了一个VBScript的脚本,给他留了言。结果该文章不显示了,提示找不到文件
Windows虚拟主机的悲哀啊,因为网页中有了Wscript脚本,结果被主机非屏蔽了,或说被杀毒软件Killer了,以前用Win主机生成的时候也出现过这种问题,真的不是故意的,再次像老四抱歉。
下面是老四的键盘钢琴

下面保存为vbs,运行后,打开本页面即可用该脚本模拟键盘按键,听到千千阙听

Sub start
‘每个空格代表演示1000毫秒,两个按键间隔400毫秒
‘童话
‘keys="LONOL LONOL LONO OOMMLL ONOL LQPPO LONOM MMOTS PPRRQQ QQNPOONO ONOR LSRQPPPRRQQ QQVUTUV VPOT TTSSSLSRQQRQ QRQ RQPOOQST TTSPPRQ OQST TTSPPRQRQPO PQMMOONO"
‘心语心愿
‘keys="TVUTSTQ TSTVUVUTUV VWXXXXW VUTUS TVUTST QSTXWVUV VUTTTTSSTQSSTXWVUVV VUTTSUT"
‘会呼吸的痛
‘keys="STVTXXTW WWVUVWXWSV VUTUVRRRVVWVSSS SYXWXX STVTXXTW WWVUVWXWSVVVUTUVRRRVVWVSSS STUVVUVV"
‘欢乐颂
‘keys="J J K L L K J I H H I J J I IJ [...]

十二 21st, 2008 | Filed under Life(生活), VBscript
标签: ,

本文复制于为支付宝的 Fenng,原文地址为:http://www.dbanotes.net/arch/myspace_arch_2008.html
在前不久结束的 QCon 2008 上,MySpace 的首席架构师 Dan Farino 做了题为 Behind the Scenes at MySpace.com (PDF 下载)的技术演讲。
架构概况
超过 4,500 台 Web 服务器,配置为 Windows 2003/IIS 6.0/ASP.NET ;超过 1200 台 Cache 服务器,64 位的 Windows 2003,超过 500 台的数据库服务器,配置为 64 位的 Windows 2003,数据库为 SQL Server 2005 。
之前曾有一篇 揭秘 MySpace 架构的文章,也有中文版本《亿万用户网站MySpace的成功秘密》,请 Google 之!
运维数据收集
其实这个演讲我感觉主要讲的是这个数据收集模块 MySpace 的方案倒是让我们看到了在超大规模的 Windows 环境下如何进行数据收集的。

每个客户端通过一个 TCP 连接到收集上服务器。收集的信息包括:Windows 性能计数器 [...]

十二 21st, 2008 | Filed under Share(分享)
标签:

感谢小秦帮我指出错误:
  JSON只是一种数据形式,而不是你所谓的当然。
{xx:’111′}  这是一个对象,这个对象有一个属性名为 xx 值为 ’111′
而不是JSON。
还有那个Create,也只是变相的使用函数返回一个对象而已。
从根本上来讲,创建一个对象可以使用 new _object_,或者 {}  ,
“{}”这种形式其实是new _object_的简写。
就像 [] 是 new Array();的缩写一样。
更何况,在JS里一切都是对象。
比如:
1
 就是一个对象,它有 .toString方法,等等。。
      前几天写了一篇揭开Javascript对象神秘的面纱,结果网上一位牛人转载了我的文章,我的还没收录,他转载的竟然先被收录了,无语。在此鄙视百度。
      本来事情该告一段落了,但是论坛上有位网友告诉我说只测试function的方法成功了,其他都不行。汗,今晚抽点空,写几个例子,下载地址为:http://www.miaoqiyuan.cn/products/js-obj.rar
第一种:function方式,用new fun_name的方式创建对象

function miaoqiyuan() {
this.name="苗启源";
this.nickname="飞猫,mqycn";
this.homeurl=function() {
alert("http://www.miaoqiyuan.cn");
};
this.gohome=function() {
location.href="http://www.miaoqiyuan.cn";
}
}
var x=new miaoqiyuan;
x.homeurl();

第二种:直接创建对象的方式

var miaoqiyuan={
name:"苗启源",
nickname:"飞猫,mqycn",
homeurl: function() {
alert("http://www.miaoqiyuan.cn");
},
gohome: function() {
location.href="http://www.miaoqiyuan.cn";
}
};
miaoqiyuan.homeurl();

第三种:原型方式(这个我写了两个方式)

var miaoqiyuan = {};
miaoqiyuan.prototype=miaoqiyuan;
miaoqiyuan.prototype.name ="苗启源";
miaoqiyuan.prototype.nickname ="mqycn,飞猫";
miaoqiyuan.prototype.homeurl = function() {
alert("http://www.miaoqiyuan.cn");
};
miaoqiyuan.prototype.gohome= function() {
location.href="http://www.miaoqiyuan.cn";
};
miaoqiyuan.homeurl();

<script type="text/javascript">
var miaoqiyuan = {};
miaoqiyuan.prototype=miaoqiyuan;
miaoqiyuan.prototype={
name:"苗启源";
nickname:"mqycn,飞猫";
homeurl:function() {
alert("http://www.miaoqiyuan.cn");
};
gohome:function() {
location.href="http://www.miaoqiyuan.cn";
};
}
miaoqiyuan.homeurl();
</script>

第四种:create方式,该方式利用了Prototype JavaScript组件库,很少见有人用
实际上这个只是变相的使用函数返回一个对象而已。

//模拟prototype.js框架中的Class
var Class = {create: function() {return function(){}}}
//模拟prototype.js框架中的Object
Object.extend=function(destination, source){
for(var property in source)
destination[property] = source[property];
return destination;
};
 
var miaoqiyuan [...]

十二 17th, 2008 | Filed under Javascript, Life(生活)

通过Tencent://Message/可以打开QQ和朋友聊天,一直对他挺好奇?到底是什么原理?
今天,我在网上找了一下TENCENT协议的实现原理,还真找到了;文章请访问:http://hi.baidu.com/kmiaoer/blog/item/799fd388ec403691a5c2723b.html
原来是在注册表中修改的。
知道了原理就好办了,我们也来写一个
定义一个miaoqiyuan协议。实现什么功能的,哦,多了,miaoqiyuan:你好。这样来实现弹出对话框,弹出你好。

Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\miaoqiyuan]
@="miaoqiyuan Protocol"
"URL Protocol"="D:\\miaoqiyuan\\miaoqiyuan.exe"
 
[HKEY_CLASSES_ROOT\Smiaoqiyuan\DefaultIcon]
@="D:\\miaoqiyuan\\miaoqiyuan.exe,0"
 
[HKEY_CLASSES_ROOT\miaoqiyuan\shell]
 
[HKEY_CLASSES_ROOT\miaoqiyuan\shell\open]
 
[HKEY_CLASSES_ROOT\miaoqiyuan\shell\open\command]
@=\"D:\\miaoqiyuan\\miaoqiyuan.exe\" %1"

这样,通过miaoqiyuan:链接的文件都可以通过miaoqiyuan.exe打开了
下面说说怎样来弹出对话框。
在VB中新建一个标准的EXE程序,新建一个按钮,改名为Showmsg,双击,输入END(点击退出程序)
然后添加

Private Sub Form_Load()
showmsg.Caption = Replace(Command(), "miaoqiyuan:", "")
End Sub

这样就可以通过输入miaoqiyuan:1234弹出1234的警告了
这样就可用通过一个自定义的协议来执行程序了

十二 12th, 2008 | Filed under VB程序, 系统开发
标签:

朋友手中有上千个域名,现在cn域名续费涨价了,准备抛弃一些。让我帮忙写个小程序来筛选一下,看看那个有留下的价值。当时我放出大话,20分钟搞定。最初设想的是生成Excel文件,通过Excel中的筛选来统计。
代码如下(附件包中的excel.vbs):

‘域名统计程序,生成excel结果
‘通过VBS获取当前目录,替代ASP中的Server.Mappath
Function Mappath(v)
Mappath=fso.getAbsolutePathName(v)
End Function
 
‘写得一个函数,用于判断字符串中是否含有数字。
Function iszajiao(v)
for i=1 to len(v)
if isnumeric(mid(v,i,1)) then
iszajiao=1
exit for
end if
next
End Function
 
‘创建一个FSO对象
Set fso=CreateObject("Scripting.FileSystemObject")
 
‘判断是否有生成的Excel结果ok.xls,如果有,则删除
if fso.fileexists(mappath("ok.xls")) then fso.getfile(mappath("ok.xls")).delete
 
‘创建一个ok.xls
set fto=fso.createtextfile(mappath("ok.xls"),2)
wscript.echo "吴哥哥,请稍等,我正在为您工作中。。。"
fto.writeline "域名 后缀 位数 类型"
 
‘寻找当前目录中的所有txt文件,如果有则依次打开
for each file in fso.getfolder(mappath(".")).files
if Lcase(fso.getExtensionName(file))="txt" then
set db=fso.opentextfile(file,1)
 
‘如果不是在txt文件的结尾,则循环读取
do while not db.atendofstream
rs=db.readline
 
‘获取域名的位数,即第一次出现.的位置-1
ws=cint(instr(rs,".")-1)
 
‘防止本行数据为空行
if ws>=1 then
rsi=rsi+1
 
‘获取域名
ym=left(rs,ws)
 
‘获取域名后缀
hz=replace(rs,ym&".","")
 
‘分析域名类型,如果ym为数字则为数字
if isnumeric(ym) then
lx="数字"
‘否则,如果出现数字则为杂交
elseif iszajiao(ym)=1 then
lx="杂交"
‘其他类型就剩下字母了
else
lx="字母"
end if
‘输出
fto.writeline ym&" "&hz&" "&ws&" "&lx
end if
loop
end if
next
fto.close
set fto=nothing
msgbox "吴哥哥,我帮你完成工作了,怎么谢我呢?请我吃MM吧"

正准备邀功请赏的时候,朋友竟然说没用过Excel,狂吐血,并且还不想用数据库。这儿就有点复杂了,初步设想生成HTML文件,然后把数据保存到数组中,根据Select的选项来现在最终结果。
我是从两个方便考虑的,生成网页部分由Javascript控制,这些Javascript最终代码由VBScript来生成。
[...]

十二 9th, 2008 | Filed under Div+CSS, Javascript, VBscript
标签: ,