错误提示:“ sql server 复制需要有实际的服务器名称才能连接到服务器,不支持通过别名、ip地址或其他任何备用名称进行连接。请指定实际的服务器名称“xxxx”(Replication Utlities)” 在安装完sql server 后修改过机器名称,运行下面两条语句既可以看出来:
use master
go select @@servername
select serverproperty('servername')
如果这两个结果不一致,说明机器改过名字,在配置复制的时候就会报上面的错误。 --要修复此问题 --执行下面的语句,完成后重新启动SQL服务
if serverproperty('servername') <> @@servername
begin declare @server sysname
set @server = @@servername
exec sp_dropserver @server = @server
set @server = cast(serverproperty('servername') as sysname)
exec sp_addserver @server = @server , @local = 'LOCAL'
end
最后重新启动服务,启动完后,再运行:
use master go
select @@servername
select serverproperty('servername')
posted @ 2012-01-01 21:00 牛啊牛 阅读(9) 评论(0)
编辑
此时此刻,也许很多人都很激动,都在等待着2012年钟声的敲响,2012这个数字自从《2012》这部电影推出以后就变得炙手可热,大街小巷老幼皆知。当时看过这个电影后,甚至有的人开始恐慌,2012年真的会是世界末日吗?我不知道,就算是真的,我如此用心的去关注它又有什么用呢?如果真的是世界末日,像我这样的人还有必要去担心自己的生死吗?也许是看了《2012》这部电影的原因吧,让我觉得如果真的世界末日来了,像我这样的人就不用再想着明天是什么样子了吧, 我不是政要,“诺亚方舟”的船票我也买不起,所以当那一天真的发生的时候,还是欣赏一下那最后的壮观景象吧!
刚刚屏幕右下角弹出TX的消息窗口,说TX视频正联合全国13家卫视直播明星跨年演唱会,今天刚好又是周六,湖南卫视正直播着《快乐大本营》,当然主题还是明星跨年演唱会,也许今晚会有很多的人会守在电视机前陪着明星们度过,也会有很多人在另一些地方high,以各种方式来度过2011年的最后一个夜晚,但不管以什么方式,今晚注定都是一个值得记得的夜晚。
我的2011没有什么特殊的,毕业工作2年以来,也没有太大的事情发生,现在回想起来还真没有太多能让我记起来的事情。说是没有,其实细想起来,也有挺多的,只是一时想不起来,最主要的原因是我没有写日志的习惯吧!当年在学校的时候还经常写些日志,发表在QQ空间里,这也算是我第一次接触博客系统吧,其实QQ空间算不上真正意义上的博客系统,现在看来更像一个SNS系统,里面的东西太多了,但那时候刚刚接触网络,最多的时间也是用在这些上面了,现在想想真的挺后悔的,那时候写日志还是很认真的写,从开始的大量转载到后来的自己原创,也写过不少,但现在都已经成为了历史。还记得当时是在2007年的最后一天,大概也是这个时间吧,也写下了一篇日志《再见了,我的2007》,四年过去了,现在写这篇随笔,还真有点当年的感觉。2008年以后,上大三了,就很少再写日志了,因为2008年也发生了很多事,大家都知道。一段时间以后,觉得玩QQ也没什么意思,就关闭了QQ上的很多服务,包括QQ空间,从此就更少的写日志了,但是还是会经常看别人写的。后来也先后用过网易博客、新浪博客,也用过51,校内(现在的人人网)等,但最后都因为没写过什么文章而让其不了了之,现在账号也都忘记了,汗颜!
现在想来,大学几年过的真的挺没意思的,可能真的跟性格有关吧,很多人在大学里玩游戏玩的很厉害,我们寝室的2哥们就是,但这也没影响到我,我是真的不爱玩游戏,玩也是偶尔玩玩斗地主、打打桌球,其他的网游我是真不喜欢,觉得打打杀杀、升级打怪没什么意思,还要花钱买装备,逃课熬夜,这些我真的受不了。如果不玩游戏,就恋爱吧,可是大学四年中,我也没有恋爱过,唯一一个我喜欢过的女生也在大三的时候成了别人的女朋友,因为一直认为别人会看不上自己,因为她很优秀,所以即使在心里有多么的喜欢她,也不敢去追,呵呵!我想现实生活中也会有不少我这样的人吧!如果说没有玩游戏,没有恋爱,那该是好好学习了吧,可我很惭愧的说大学学也没有学好,只是毕业时顺利拿到毕业证,因为有一门课差1分没有达到学位课的成绩标准,所以没有拿到学位证,至今还很遗憾,也许当年多去听几次这门课,和老师关系搞好点,也许就会过了吧,YY一下,呵呵!
毕业后最大的变化,一个就是我已不再是单身,有了自己去守候的人,感谢上苍让我遇见了她;另一个就是换了一次工作,其实说真的,我不太爱频繁的换工作,才走出校门不久,很多都不懂,需要学习,所以频繁的跳来跳去,对自己、对企业都是不好的。但我还是在第一家公司做了近一年之后离开了,来到现在的这家公司,相比在第一家,我在这家公司学到很多,进步了很多,来年我会继续努力工作,努力学习。在此感谢我的2个雇主,还有在公司一起工作的同事们,最多的时间都和你们在一起工作、一起吃饭、一起出去high;当然,还有最重要的是身边结交的一群朋友,大家相识相知,互相帮助,这让我很感动,真正的朋友是我们每个人一辈子的财富,在此祝愿我们的友谊更长久;
毕业这2年,也经历了很多在学校时候不会想到的事情。越来越多的同学结婚了,买房子了,生孩子了。去参加同学婚礼,看着越来越多同龄的人,还有很多比自己小的人,都开始结婚生子,这些以前根本不会想的事情现在也会经常的在自己的内心浮现,也渐渐摆上了自己的人生计划日程。现在大家见面谈到最多的话题也不在是游戏、八卦,更多的是房子、结婚、工作;这也是大多数毕业工作2年以后的人谈论最多的话题。每天早上挤在地铁上,想着这么多的人都在为生活奔波着,大家为的只是想有一个安定的家、稳定的生活,可是在GD的TC这样的大环境下,这样的一个目标实现起来却是这么的困难,都说社会在进步,但我没有看到真正的进步在哪里,如果是说建立了多少大楼、举办了多少国际盛会、修了多少公里的高铁、GDP增加多少、每年税收增加多少,这些指标看作是社会进步的话,那我不能说什么,因为GD在这方面做的很好。我能看到的,相信大家也都看到了,近些年接二连三发生的事情已经让我们变得麻木了,所以我也从当初的愤青变得接受、妥协,不是说接受妥协,只是不论你再怎么愤,也不能改变什么。近些年发生的这么多事,尤其是2011年,什么事情我不在这里赘述。这些事件已经让不少我这样的人看清了一个事实,那就是生在TC,你是没有多少希望能过上你想要的日子的(我说的只是一部分,因为有一部分人还是对自己的生活很满意的),所以还是安心做自己的事吧,活在TC,你都不知道明天会发生什么,明早出去,明晚是否还能回家都是不确定的(可能说的有点严重),这样的事情在TC太多太普遍了,所以还是祈求上苍吧!
语无伦次的扯淡用了一个小时,下面说说2012年,先不管2012年是不是世界末日,就算是,到2012年12月21号不早呢,还是想想我的2012怎么过吧,前天看了itwritter在园子里发的 2012年开发者该做的11件事,看过之后感触很深,其中的每一点都说到了我的心里深处,下面引用原文针对每一点说一下:
1. 使用 Twitter - 如果你是一名程序员,如果你还没有使用 Twitter,你就 out 了。不是说你有多少粉丝,而是在 Twitter 上你可以更快的得到问题的答案,获取你关注的话题的最新资讯。 (作者没有考虑到天朝的程序员们)
其实在TC也有不少人用twitter,园子里就不少人在用,只是目前大家大多都是用VPN,或者是通过工具翻过去,我也follow了一些人,目前大多是NBA球星,因为对NBA比较感兴趣,还有一些重要的组织或NB的企业,2012年,将会从我follow的名单中unfollow一些没什么实际意义的人,重点关注一下园子里的人,向他们学习。另外我个人不太爱在twitter上说话,上去也就是看看别人在说什么,因为英文水平烂,又不太用爱用中文在twitter上说话,感觉用中文发推有点别扭,只能看懂一些简单的英文东西,至于说是上面说的可以更快的得到问题的答案,对于英文水平烂的我来说,还是多在园子里吧!
2. 经常阅读 StatckOverflow - StackOverflow 是提问编程问题最好的地方。即使你没有账号,它也值得你去浏览,学习。(良好的英文阅读能力是程序员的必要素质,哈哈!)
我先不评论StackOverflow 是不是提问编程问题最好的地方,因为我没有上过,英文水平也有限,提的问题也可能会很初级,提了问也不一定会有人回答,但是这个还是要开始,并坚持,不光是这个网站,其他的相关有用的英文网站,也还是多浏览一些吧,就当是练习英文阅读能力吧,当然能解决实际问题最好了,期待一下。
3. 开始写博客 - 我认为每一位开发者都应该写博客!因为博客可以记录我们学习进步的轨迹,可以让别的开发者参考。写博客让你和别人更多的交流。还有,写博客可以提高你的技术社区的知名度。
这个是2012年必须要坚持的,说到博客就再多说一点,之前还在上学的时候,偶然的一个机会也注册了CSDN账号,但也很少写过博客,前段时间CSDN用户资料泄露,还好我的账号幸免,因为密码设置的比较可靠,但是还是痛恨这种以明文保存用户密码的无耻行为;现在也经常浏览CSDN,但越来越觉得那就是个广告网站了,就像之前有人说的就差没把丰胸人流的广告放上去了,不像是纯粹的技术社区。所以选择博客园,开通1年多以来,也没有好好写过,仅有的几篇随笔也是拼凑、随便放的,有点汗颜,以后会好好写,并把之前写过的几篇好好整理一下。说实话,看了园子里很多大6的博客后,有点心虚,有点不敢在博客园发表自己写的东西,但最终我还是战胜了自己,决定开始在博客园写博客了,我已经认识到开博客、写文章是真的很重要,像我等草民,写博客为的不是点击率,为的不是要有多少fans跟帖、回帖,博客等级有多么靠前。重要的是总结、记录自己的学习、成长历程,也可以记录自己解决问题的方法,在下次遇到同样的问题时候可以很快的找到解决方案,也有可能会对别人有所帮助。也可以在以后的某个时间可以知道自己当初有什么样的想法,做过什么样的事情,所以,就从这篇开始吧,就当是记录自己的学习轨迹,与园友们交流,在这里希望园友们多指导。
4. 参加线下活动 - 从你的“shell”里面走出来吧,多参加线下的沙龙、活动、会议。和别的开发者交流可以让你在这个领域建立自己的人脉网络,这对你在这个领域的成长很有好处!
这个可能有点难,因为一直认为自己技术水平有限,所以不敢走出去,在园子里看到不少6人们写的博客,也在webcast上看了不少6人们讲的东西,觉得自己与别人的差距很大,所以要每天不断的学习。当然,以后有机会,对自己感觉兴趣的技术,还是尝试着参加,在这里期待一下。
5. 使用现代化的智能手机 - 作为一名开发者如果你还在使用老土的山寨机,你得赶紧升级了。我还记得有一次跟一个经理聊天的时候,他得走回作为才能给我发邮件,我就在想“这哥哥是做 IT 的吗?”。正如有些行业你必须开好车,穿亮丽的衣服一样,我们干 IT 的就应该站在技术、硬件的前列!
这个说起来也有点汗颜,我是个不太爱折腾手机的人,从心里上认为手机就是一个打电话的工具,没什么好折腾的。上一个手机从自己买到手到后来被小偷偷走,都没怎么好好去“玩过”,里面的有些功能都没怎么用过,是个不错的机子,我用了几年一直舍不得换,但最终送给了小偷。目前用的Android系统手机,只是刚买回来的那几天有兴趣把玩一下,现在也没怎么折腾了,以后还是多折腾折腾,让自己给折腾坏也比被小偷偷走了强。
6. 拥抱移动互联网 - 移动互联网的大潮才刚刚开始。你不仅需要知道如何为 iPhone, WP7, Android 开发应用,你也需要学习如何创建可以在任何一台移动设备上运行的网页程序。
虽然都知道这些应用,除了WP7程序,其他的两个平台的都用过,iPhone太贵买不起,开发起来要从头学 Objective-C,Android开发要从头学Java,开发WP7可以直接使用现在自己会的的知识,开发起来会容易上手些,当然学 Objective-C和Java也在计划之中,也是目标,现在正在学习WP7的开发,先把这个平台下的学好,然后再向其他的平台延伸。
7. 学习至少一种设计模式 - 我无法告诉你应该学习哪个设计模式,但是你至少得学习一种。我个人倾向于 MVVM,因为我是 Sliverlight/WPF/WP7开发者。
对于设计模式,对于一个没有丰富的编程经验的人来说,直接学习是一个错误的尝试,还是要多做免费发布供求信息基本功,当然也可以尝试从简单的模式开始,我也喜欢 Sliverlight/WPF/WP7开发,所以MVVM这个模式,也是我正在学习的,继续努力,
8. 每年设定可行的目标 - 创建一个简短的列表,记录你下一年想要完成的目标。同时你也应该按照季度来检查目标的完成情况。你可以用 Gmail Reminder 来提醒你自己~
这个也是要做的,没有计划,没有目标的盲目生活是一件非常可怕的事情。我已不在年轻,需要对自己有一个清晰的认识和规划,虽然说2012年可能是世界末日,但这不能成为没有目标的生活的理由,2012年,我要有计划,有目标的度过。
9. 学习不同的编程语言 - 简单来说,学习新的语言可以拓宽你的视野,可以让你对计算机和编程语言是如何工作的有更深的了解。“如果你只有锤子,那么所有的问题在你看来都只是钉子”。
这个是要的,当然是在完成每天的工作,在学好WP7的基础之上的,就是第6点里面说的 Objective-C和Java。
10. 增强自信 - 很少有程序员对自己很自信。如果你觉得你哪里弱,那你就去增强那里。互联网上有大量免费的资源可以让你学习各种只是,弥补你的弱项。
这个是要努力提高的,一直都对自己不自信,觉得自己很多地方都弱,所以有很多的地方需要提高,来年在这方面要多做努力,自信不是说有就有的,要肚子里有货,货从哪来,就是不断的学习、总结、研究!
11. 阅读博客,技术书籍、杂志 - 你读过几本编程书籍?杂志呢?我相信一名好的程序员每年至少阅读 5 本编程书籍。不读书怎么进步呢?
说来汗颜,没有阅读到5本,虽然也买过几本,案头放的也多于5本,但都太没认真好好的看,真的很惭愧,来年,我知道怎么做!
说完了上面11条,我加一点自己补充的:
12. 积极锻炼身体,保持健康,充满活力。
身体是革命的本钱,工作的目的也是让生活更好,所以所有的一切都要建立在有一个好的身体上,身体跨了,什么都没了。而且现在的医院那是不能去的啊,尤其是我这样的穷人,直的是不敢生病啊,小小的一个感冒,去趟医院就有可能花个几百甚至上千。让我这样的人根本承受不起。所以平时要加强锻炼,尤其是我等做编程的,一天坐到晚,一周下来也活动不了几次,所以要坚持锻炼,保持健康的体魄,减少生病的机率,预防甚于治疗。
13.开始理财,“你不理财,财不理你”。
这句话说的太对了,收入本来就少,就更要懂得打理,现在很多跟我一样的人都面临着要结婚、要买房子,压力可想而知,所以对自己的收支要有合理的安排,学会理财,学会投资,尽量少用信用卡,除非是很急的时候,用过的人都知道这里面的事情,要有理财的意识,要有这样一个习惯,不然一年下来,不知道自己挣了多少钱,不知道自己的钱花了哪去了,都做什么了,反正就是手上没钱,这样就不好了。
看看时间,还有几分钟就到2012年了,语无伦次、乱七八糟的说了这么多,就当是个开始,希望读者不要介意,以后努力要提高写博客的水平。
最后,祝大家在新的一年里工作顺利,身体健康,生活幸福!
posted @ 2012-01-01 20:59 牛啊牛 阅读(11) 评论(0)
编辑
在平时工作中时常需要对网站进行自动化测试,虽然一些简单的测试可以通过爬虫的方式来做,但是如果涉及到比较复杂的js和CSS渲染的话,就必须使用真正的浏览器了。毕竟自己实现HTML DOM解析还相对容易,但是如果做上述工作就太麻烦了。
由于我们网站90%以上的用户用的都是IE,而有一些代码也是特定于IE的,因此在测试的时候,必须要对IE进行自动化测试。当然,大部分代码对各个浏览器都是兼容的,因此也可以采用其他更自动化,兼容性更广的方法来进行Web测试。
在Windows下进行自动化测试,个人觉得最合适的方法就是WSH+javascript了,可以使用WScript对象和众多ActiveX组件来完成诸多功能,而且语法和普通javascript都一样,主要需要熟悉的就是各个组件的接口。
使用js进行IE测试的流程是:
通过WScript.createObject创建一个IE对象,并绑定它的事件回调(Event Callback/Sink)
调用IE对象的navigate2方法,打开指定的网页,并将其Visible属性设置为true
在IE对象的OnDocumentComplete事件中,检查网页是否已经完全载入(不然访问document对象会有问题)
通过document对象访问各个HTML对象以及其计算出来的CSS属性,并模拟用户输入进行功能性测试
在最后调用IE对象的quit方法关闭IE,如果为了保险,可以找到所有的IE窗口,向其发送Alt+F4按键将其关闭
将得到的测试信息通过SMS(例如定制的HTTP接口)或者电子邮件(通过CDO.Message对象)发送到对应人员
上面是大致的流程,具体在设计和编码的时候,会遇到一些其他的问题:
JS中如何创建与绑定事件回调
如何在测试中绕过IE的阻止自动弹窗的设置,使得可以进行用户模拟点击打开新窗口的免费发布信息测试(不然弹窗会被阻止)
其实在创建一个ActiveX组件的时候,WScript.createObject方法第一个参数是组件名,第二个参数就是事件回调函数的前缀了。例如对于IE对象来说,它的组件名是InternetExplorer.Application,对应的事件有DocumentComplete、OnQuit等(参见DWebBrowserEvents2),假设我希望收到DocumentComplete事件通知,可以这样写代码:
var shouldQuit = false;function _eventsDocumentComplete(obj, url) { 复制代码
在上面的代码中需要加入一个while循环,这样才能不退出程序,继而收到事件响应。
在HTML文档都已经载入完毕以后,就可以访问browser的document对象获取DOM树,进行一系列操作和测试了,例如通过document.getElementById('btnSumbit').click()模拟form提交之类的。
另外,在IE中,如果通过代码模拟点击想产生一个新窗口,往往会被IE自动弹窗阻拦功能挡住,就是平时常见的顶部提示阻止了一个弹窗的细黄条。在测试过程中,我们往往需要模拟用户输入产生自动弹窗,这时候,需要在测试的时候去掉这个功能,然后在测试结束的时候再打开这个设置。要做到这一点,只需要修改注册表的HKEY_CURRENT_USER下的\Software\Microsoft\Internet Explorer\New Windows\Allow项,添加上对应的域名即可。在JS里可以这样写:
//对host这个域名允许自动弹窗var shell = WScript.CreateObject("WScript.Shell");var regKey = "HKCU\\Software\\Microsoft\\Internet Explorer\\New Windows\\Allow\\" + host;shell.RegWrite(regKey, 0, "REG_BINARY"); //测试代码//...//恢复自动弹窗阻止 shell.RegDelete(regKey);
复制代码
另外,进行IE测试需要打开Windows桌面才行,因此它有一个比较郁闷的要求,就是不能是未登录状态,我们为了解决这个问题,是开了一个Windows虚拟机,在虚拟机里面专门设置了计划任务运行相关这个测试js的。
因为IE测试限制很多,因此我们平时也可以采用phantomjs进行测试。phantomjs是一个内嵌了Webkit的无界面浏览器(headless browser)。通过phantomjs定义的一系列接口,我们可以实现很多Web自动化的测试,例如打开网页,监控每个访问,并生成HAR格式的图形,给网页生成截图,打开新浪微博模拟登陆获取微博信息等。在phantomjs的examples目录中有很多例子可以学习,例如生成HAR流量图的netsniff.js等。下面是一个生成网站截图的例子:
var page = new WebPage();page.open(encodeURIfunction (status) { if (status !== 'success') { console.log('Unable to load page!'); } else { window.setTimeout(function () { page.render('snapshot.png'); phantom.exit(); }, 200); }});
复制代码
另外,如果需要将查看HAR流量图自动化嵌入自己网站的,网上也有开源的程序可以使用。
上面的两种测试方法都是通过javascript做的,其实,平时在windows下熊猫写了不少javascript的实用程序给自己和朋友们用,尤其是那些不懂程序的朋友。例如生成费用分摊Excel表的功能,把图片转化为文字的功能,分析一些格式文件生成其他文件的功能等。
因为Windows环境上缺省就可以通过WSH运行javascript,而IE/Word/Excel/PowerPoint/WMI等都可以通过js来操作,因此对windows来说,WSH+js是一个非常实用的工具。
标签: javascript, Web测试
posted @ 2012-01-01 20:58 牛啊牛 阅读(13) 评论(0)
编辑
相关说明:
1.课程视频,音频,代码,讲义版权归微软所有。
2.桌面版的iReaper并非本人开发,本人是参考iReaper相关功能开发了web版本。
posted @ 2012-01-01 20:57 牛啊牛 阅读(17) 评论(0)
编辑
看到大家的新年的祝福,新年的愿望,新年的目标,我想我是否在新的一年里留下点什么...
好事多磨,好记性比笔不过乱笔头,需要做的事情有很多,但是有很多,我们没有坚持下去...
我想我需要表达一下我应该表达一下自己需要做的事情还有哪些,至少哪些已经做到了...
一份好的计划书可以成就一个项目,可以造就一个新思想,更有可能让你的人生从些发生改变。新年了你还在等侍什么,那就让你列出你的计划书,对自己有一个新的认识...
1、做程序员的钱有点少了,想换个行业去行走了...
今年是毕业后的第三个年头了,时间真是不好掌握,听到更多的是叹惜声。简从自已毕业经历来看做程序做成我这样也是挺悲的,多个目标,一个都不曾拥有,倒头来落个里外不是。失去什么,或者没有得到什么,只要他不是将来时,就一定把他拥有成现代时。我想了很久的计划,也结合自己的想法,到现在我还是比较喜欢程序员这个行业的,可是要有更大的成就,在这个上面我是成就不了什么大事了,因为我只能把程序去开发,还不是重新创造得到新的成果。所以我决定换个行为试试,只要这个行业能有新型发展能力,当然了,赚钱是最重要的,我就去做了。
2、语言是成功基石,至少在只有你一个人走的情况下
也许我们老是只会一种语言不是一个很值得去光荣的事情,至少你要成功必须会两种国外语言,要不怎么国际化接轨,不要认为自己离世界很遥远,我们每天都在改变,也许哪天有个机遇,你遇到了,你把握了,你就成功了。
3、会计是资本的灵魂,掌握它,才能激发潜能
一直以来觉得财务是很深奥的一门学问,神秘而又不得不无法接近他。没有办法,知识学的少了,我的财务理论也就一直被束缚着。曾经为了一个借贷问题,我问了我们经理好久,也就知道了个大概,到后来,自己去学习,才知道原来真的是自己理解有差异。财务没有那么的深奥,你需要的理解他,灵活使用它才是它真正存在的本质,我是决定了,我要活学活用财务,为自己铺垫。
4、所有事情都需要去尝试,然后得出自己的经验,至少事前是预测,事后是总结
生活中有好些事情你不去了解,当然就不会得到一个好的结论,遇到事情也先别急着反驳它,表现的是冷静,冷静,再冷静,说出的答案往往才是你所需要和得到了,我的生活中可以最好的喜欢是随身携带纸笔,这样可以让我好好记住很多东西,或者是可以好好规划和总结。尝试了,才不会后悔,才知道自己可以有没三两三,上不得上的梁山。喜欢一句话,生活成功的两个条件,遇到什么样的人,读过什么的书,多读书,多学习,这样的成功才是捷径,别瞎想,那是不会成功的。
5、生活不必在于有多么丰富,应该是你生活的多么简练
丰富的生活不是在于物资的多少,而是在于你要学会的是取舍之间要精炼,该舍弃的,该拒绝的,该走的,一切都要放弃,然而是应该得到的,拥有的,握住的,你想丢,都不应该放手,至少坚持一件事情是多么的不容易。如果可以做到,你又有何理由需要不把她捧在心口呢?
想表达或许是有很多,但是我能把这些都能做到了,那么,成功离你我不会在那么远了...
http://www.cnblogs.com/zphck/archive/2012/01/01/2309337.html
posted @ 2012-01-01 20:56 牛啊牛 阅读(63) 评论(0)
编辑