2008/09/19
让IE浏览器窗口始终保持最大化
2008/09/10
2008/09/09
中国移动飞信项目组招聘信息
1. 熟练掌握 Microsoft.NET/.NET Compact Framework
2. 至少两年的 Microsoft.NET 开发经验:.NET 应用程序,TCP/IP, 网络开发;
3. 或熟练掌握 C/C++开发;
4. 性格开朗,团结互助,很强的团队意识;
5. 有 Windows CE/Mobile 开发经验优先;
Windows Mobile 开发简介:
Windows Mobile 开发基于 .NET Compact Framework,简称 .NET CF:
1. .NET CF 开发有别于 .NET Framework开发,因:
l .NET CF 1.0 是 .NET Framework 很小的子集;
l .NET CF 1.0 目前存在很多 Bugs;
l 受限于 Windows Mobile 平台本身,OS 2003, OS 5.0, OS 6.0,平台要求相差很大;
2. .NET CF 所提供的功能非常有限,更多时候,需要开发人员使用 P/Invoke 来实现,一些情况下需要用 C++封装 Win32 提供 .NET CF 的接口,
对开发人员技术能力和要求更高;
3. Windows Mobile 开发的基本要求是低内存占用,低CPU占用,低耗电量,应用性能要高,开发人员要平衡上述各方面要求,因此对于编程技术,算法,数据结构,操作系统架构,技术能力是很大的挑战!
4. Windows Mobile 将是下一波技术热点。
项目简介:某电信项目,拥有一个上百人的研发团队,并正在招聘Windows Mobile开发人员。 如果你渴望让上千万的用户享用你的创意,并有足够的信心与能力做出优秀的产品,欢迎您的参与!
联系方式:franklv@microsoft.com; v-xincli@microsoft.com
同时还有其他职位,例如飞信网站、产品设计、服务器端开发、客户端开发等职位。
2008/09/03
谷歌浏览器下载
下载地址:http://www.google.com/chrome/index.html?hl=zh_CN&brand=CHMG&utm_source=zh_CN-hpp&utm_medium=hpp&utm_campaign=zh_CN
2008/08/29
2008/08/28
病毒入侵太空
据法新社报道,美国宇航局27日证实,一种计算机病毒25日神秘地潜入了国际空间站,幸运的是病毒立刻被计算机安全软件隔离,病毒没有对国际空间站的工作造成影响。
美国宇航局发言人凯利(Kelly Humphries)表示,宇航员在自己的笔记本电脑上发现了这种“蠕虫型”的计算机病毒,宇航员用笔记本电脑与美国德克萨斯州的地面任务控制中心相互接收和发送电子邮件,而计算机病毒可能就是在这个过程中潜入了宇航员的计算机系统。据报道,这种计算机病毒是一种恶意软件,它能够通过计算机操作人员的击键记录窃取空间站的电脑密码和其他敏感的数据信息,并将这些窃取的信息通过因特网传回给制造这种病毒的电脑黑客。
但宇航员所使用的电脑没有连入任何国际空间站的计算机控制系统,同时也没有连入因特网,所以计算机病毒只可能通过国际空间站的地面控制中心传入空间站。凯利表示:“计算机病毒对我们来说真是一个讨厌的东西,但我们的地面工作组正在努力的根除计算机病毒,同时他们在竭力寻找可以预防病毒侵入的方法,以避免此类情况再次发生。”
凯利表示,由于及时发现了这种病毒,这次计算机病毒入侵没有对空间站的工作造成任何影响。同时美国宇航局正在调查计算机病毒潜入国际空间站的任何可能途径,比如病毒是否隐藏在存储音乐、图像和其他数据文档的存储器当中。凯利证实,计算机病毒攻击空间站的事件以前也发生过,这不是第一次国际空间站的电脑遭到病毒攻击。不过,未来计算机病毒可能成为太空旅行中的不速之客,所以为国际空间站的电脑配备顶级的防火墙和杀毒软件也成为美国宇航局眼下的当务之急。
2008/08/22
微软照片共享网站Photosynth上线
该网站名为Photosynth,用户可以将相关照片结合在一起,放大或者巡视。微软原计划周三晚上开放Photosynth,但是周四该网站的首页已经被换成了道歉页面。
2008/08/21
番茄花园作者
昨日,番茄花园XP作者洪磊被拘的报道,在软件产业、PC行业及互联网等领域引发了轩然大波。
而媒体20日获得了一份番茄花园版Windows XP作者洪磊与好友的两年前的聊天录音,洪磊在其中谈及了番茄花园发展的历程、详细解析了番茄花园依靠捆绑流氓软件月入10余万元的盈利模式,并披露了修改版XP操作系统行业的诸多内幕。录音愿意大致如下:(以第一人称叙述)
番茄花园网站和下载以前的访问量小,我都是挂在你(指郑朝辉所在的第一万维网)那里的,用的是虚拟主机,原来我是2M(兆)的带宽,后来增加到5M,要是不限制带宽,完全放开下载的话,我估计需要20M带宽,限制了就10多兆,我的软件(指番茄花园版Win XP)下载从你那撤走后,基本就只需要1到2M的带宽了。
我当时算了一下,在你那放着时,每月有3到5万独立IP,那时只靠网站的广告获得收入,非常的少,服务器都买不起,后来我和易趣及雅虎合作搞捆绑后,收入增长很快,在今年(2006年)一二月的时候,当时每月收入才2万多,我攒了10万块,我就买了一台服务器,我记得配置是英特尔奔腾4 3.0 GHz的CPU,内存是1GB的。我自己换了服务器后,发现半个月后就达到了7万独立IP。
很快,每天的独立IP就达到了15万,同时在线人数有6000人,后来达到独立IP数25万了,服务器的CPU经常负载达到90%多,CPU受不了了。我现在就把论坛服务器和下载服务器分开,我在苏州租了一个服务器放论坛程序,自己买了个服务器用作下载,放到了成都。
苏州的百兆独立带宽每月是1800块,机位费是一个月3000,打个八折,算下来是2400,全部算下来不贵。我自己买的服务器是惠普的,我记得惠普当时的网站报价是21999,我后来花了20600买的,英特尔至强双路的处理器、2GB的内存,现在的同时在线人数最高13000人,处理器占有率是45%,足够了,带宽最高达到50M,白天一般是35M。论坛的独立IP每天是3万,现在我每天全部的独立IP是40万,论坛只有下载的十分之一。
网址导航站9991.com的老板去年从上海来找我(洪磊位于江苏苏州),他们提出想全部或部分收购我的网站和软件。他们主要想要我的主业(指番茄花园版Win XP),我的网站还归我管,他们想把tomatolei.com做出一个网址导航站,他们还承诺帮我推广,我现在的独立IP是40万,他们说有信心、有能力做到100万甚至更高,翻几倍,但我的网站不能涉足其他的内容了。他们愿意每月付我4万,一直付24个月,然后整个公司30%股份归我,他们要70%。我当时没答应。他们后来又找我,4万直接变8万,就是每月给我8万,其他条件不变。我后来还是不愿意,就算第三年每月能拿50万,我的网站不归我全权管理了,这不是我想要的。
现在我每月有十几万的收入,主要来自主业(即番茄花园版XP),XP美化包每月有两三万,网站点击广告带来的收入很少。
根据我国的法律,未经许可修改他人软件,如果没有因此获利,定罪较为困难。番茄花园在其网站上的版权声明中也表示,他们并不提供任何出售光盘,完全供用户免费下载。一些用户为洪磊喊冤,觉得番茄花园只是盗版商的“替罪羊”,他本身并没有因此获利。用过番茄花园的用户都发现,他的操作系统捆绑了易趣插件及雅虎助手,但他是否因此获利不能妄下结论。
2008/08/20
盗播奥运开幕式
其中包括csdn.net
以下是国家版权局的一个新闻
http://www.ncac.gov.cn/GalaxyPortal/inner/bqj/include/detail.jsp?articleid=14534&boardpid=170&boardid=1150101011160103
2008/08/19
黑帽黑客大会
“我们将展示一种名为Jinx的恶意软件,”作为黑帽大会主持人的Radware公司安全运营负责人 Itzik Kotler如是说,他还表示,作为攻击代码的Jinx可以控制装有Mozilla老版本Firefox 浏览器的电脑。
据称,基于Java脚本的Jinx可以检索到受害者电脑上的硬盘数据,并把数据传回到黑客手中。Mac、Windwos或者基于Linux的机器都难以幸免,而且也很容易变成散播垃圾邮件中心。
Itzik Kotler还说道:“这还是第一次发现证明,这种Jinx可以不通过注入代码或者攻击系统内核来实现攻击目的”,另外,他补充说,他们会在此次大会上公布这种Jinx,并暗示他们公司Radware正在监视针对IE类似Jinx的恶意软件。
为什么要如此兴师动众?“我们认为大家必须这样做,虽然对Web 2.0有着强烈的需求而且我们赋予了浏览器更强大的功能,但是浏览器固有的逻辑缺陷还很难有效面对这些攻击。”
出售无线接入入侵预防系统的AirTight Networks公司,他们关注的是局域网产品提供商如何更有效地执行IEEE新的802.11w安全标准。
802.11w (思科称之为“网络管理框架保护”)是利用 802.11i 提供的预先存在框架的一套安全机制,可针对多种潜在的拒绝服务攻击提供网络保护功能。AirTight将会给世人展示如何利用相关局域网产品去应用这一安全标准。他们会模拟一场对抗应用层(OSI网络模型的第七层)的Dos攻击,并且以间隔30秒的时间持续不断的发送数据包,禁用WLAN终端并最终导致无线局域网接入受阻。
在这样的模拟攻击下,人们将可以看到有哪些无线局域网设备更容易受到破坏,这其中包括有D-Link、Cisco、Buffalo和Madwifi产品。并且可以对没有完全达到802.11w安全标准的设备提出改进意见。
Windows 7
微软8月18日发表的题为“Windows 7团队”的博客文章披露的有关Windows 7的主要功能团队包括(按照字母顺序排列):
·小程序和小器件
·辅助和支持技术
·核心用户体验
·客户工程和遥测
·部署和组件平台
·桌面图形
·设备和媒体
·设备和存储
·文件和打印
·工程系统和工具
·文件系统
·查找和编辑
·基础功能
·IE浏览器(包括IE 8底层)
·国际
·内核和虚拟机
·媒体中心
·网络--核心
·网络--企业
·网络--无线
·安全
·用户界面平台
·Windows应用平台
业内人士称,微软公布的这些Wiondows 7开发团队的名称有助于人们了解Windows 7的子系统,有助于人们把一个巨大的项目细分为一些有意义的团队。
毫不奇怪的是微软的这个列表可能还适用于Windows Vista。有些团队的总类显示了对于Windows团队来说最重要的东西,如小程序和小器件以及媒体中心。虽然人们喜欢媒体中心,但是,它的前途是有限的。数字视频录像功能已经转移到了有线电视机顶盒。但是,微软到目前为止还没有放弃电视功能。
业内人士发现,微软Windows 7团队中缺少4个方面的团队,内容开发、产品规划、产品设计与研究和可用性。这里还应该有营销团队。业内人士建议每一个产品团队中都应该有营销团队。
同其它高科技公司一样,微软把重点过多地放在了功能方面,但是,没有更多地放在用户的好处方面。营销计划不应该在开发后期才开始,而应该在早期阶段开始。最好的解释是:好处应该是目标产品设计要达到的目标。好处和营销应该在早期阶段结合到整个开发过程中。
vs2008 sp1
日期: 2008/8/11
文件: VS2008SP1CHSX1512981.iso
版本: SP1
语言: 简体中文
大小: 898.1 MB
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=27673c47-b3b5-4c67-bd99-84e525b5ce61&DisplayLang=zh-cn
2008/08/17
Adsense for feed
Feedburner是全球最大的RSS烧录商,由于一些和谐的原因,Feed页面无法访问。Google收购Feedburer后最让人期待的就是将Adsense整合到Feedburner里。现在,这个期望终于实现了。
在试用了Adsense For Feed的过程中,我与Gseeker的Hong Xiaowan聊了不少内容,也发现了不少Adsense For Feed的特性,这些将总结到下面。
Adsense For Feed与普通的网页Adsense有什么不同?
1、调用方式不同。
普通网页Adsense使用js调用。Adsense For Feed使用的是图片,因为在RSS里无法运行js。
2、广告展示样式不同。
网页Adsense有多种广告大小可选,而Adsense for Feed目前只有两种大小,468*60和300*250。
3、投放方式不同。
只要没有违法Adsense的计划政策,任何网页都可以投放Adsense。但你必须在Feedburner烧制你博客的RSS Feed,然后在Adsense里挂钩起来,才可以投放广告。
如何开始使用Adsense For Feed?
登入到Adsense后台,在【Adsense设置】里选择Adsense For Feed,按照提示烧制一个新的Feed,或将原来Feedburner的Feed迁移到Google帐户里。
Adsense For Feed的一些特性
1、广告可能只出现在特定的阅读器
刚才在测试过程中发现,Adsense For Feed广告只出现在Google Reader,在鲜果或抓虾,或直接查看Feed都无法看到广告。
查看Adsense For Feed的帮助文档后发现有以下说明:
“您的供稿可能有在展示广告,只不过您查找这些广告时没有看到它们。 因为 AdSense for feeds 广告服务器会对展示加以优化,因此有时候不会投放任何展示。 其中包括只将特定类型的广告展示投放给特定的 RSS 阅读器和浏览器,有时甚至完全不投放任何广告展示。 如果您在 AdSense 帐户的"报告"标签上看到已经有广告展示在投放,就表示广告确实已经在投放了,即使您刚好没有看到广告也是如此。”
广告出现频率(每篇、每2篇...)、广告类型(图片、文字、混合)、文章长度(设置多长的文章才插入广告)、广告位置(顶部或底部)、颜色。
另外,还可以设置一些渠道来跟踪效果。
Adsense For Feed优化技巧
这些技巧都来自官方帮助文档。
1、为每个Feed创建一个独立的渠道来跟踪效果。
2、选择适当的展示频率。长文章可以选择每篇展示,短文章可以选择每2篇或更多展示。
3、同时展示文字和图片广告。
4、提供全文RSS输出。
我的看法
1、展示的局限性。
目前广告只能在Google Reader里展示,最可能的原因是Google做了限制,不允许在Google以外的站点展示。可能是为了防止作弊,也可能是其它原因。
但这样会给广告主和博主带来消极的影响。一方面广告主的广告展示机会少了,产品的推广机会少了;另一方面博主的收入也少了。
这是我最想不通的地方,为什么Google会做这样的限制呢?
2、在烧录过程中添加广告好处多。
为什么不直接让博主在博客RSS代码里加入广告展示代码,而要那么麻烦地注册一个Feedburner账号呢?直接在代码里加入不更方便吗?
这里面最主要的原因是,不是所有博客博主都可以修改RSS代码,比如新浪博客。你不能说只有独立博客才可以做Feed广告。
所以在烧录Feed的过程中添加广告能免除了不必要的麻烦。
3、广告点击率可能很低。
RSS方式的阅读是为了提高信息获取的效率。这里面强调的是信息,因此,可能读者并不会过多地留意Feed里面的广告,因为大多数情况下,那不是他们想去关心的部分。
c1ear1y在“Google依赖症及使用Google服务的10大原因”留言说:
看到了feed广告,虽然很支持,但是还是在ABP里加上了过滤规则0.0
而Hong Xiaowan却说,他最喜欢看广告。
具体情况需要一段很长的时间观察才能总结。所以,我们还是试目以待吧。
4、对Feedsky有何冲击?
Feedsky目前的Feed广告类型于Adsense For Feed不同,前者是CPM,后者是CPC(参见博客词汇手册)。似乎两者之间没有多大的冲突。
其实不然,因为要使用Adsense For Feed,需要使用Feedburner烧录Feed,因为Feedsky的广告并不多,已经沉寂了好一段时间了。可能会导致一大批用户流向Feedburner(实际上可能应该说是“重返”,因为很多人因为Feedburner被和谐了才会用Feedsky)
2008/08/15
360安全卫士官方网站
360安全卫士原来的官方网站为www.360safe.com,但之后换成了域名www.360.cn,现在360安全卫士的官方网站就是www.360.cn
Blogger优化之标题
首先进入“布局”----“修改HTML”,找到这行代码
<title><data:blog.pageTitle/></title>
替换为下列代码:
<b:if cond='data:blog.pageType == "item"'>
<title><data:blog.pageName/> - <data:blog.title/></title>
<b:else/>
<title><data:blog.pageTitle/></title>
</b:if>
这样,就设置成先文章标题再博客名称
Google收录
我到目前为止,博客文章是75篇,而Google收录有87项,不错吧,呵呵
点击以下链接可以查看我Blogger的收录
http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&client=aff-cs-worldbrowser&hs=zab&q=site%3Adotnetfans.blogspot.com&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=-1&oq=
Google网页快照
aspnet_client
例如,随 ASP.NET 附带的脚本文件位于以下位置。
d:\home\ftp用户名/wwwroot/aspnet_client/system_web/<版本编号>/文件
如果安装有 SDK 的多个版本,您将在 aspnet_client/system_web 下看到多个子目录。因为控件库与脚本文件的特定版本相关联,所以部署模式允许控件库的不同版本并行运行。
周鸿祎
当周鸿祎在发布会上,面对众人,大言不惭的说道,“今天做杀毒软件,我食言了,但这个行业也不是我一个人食言。”不知道,周鸿祎这位流氓软件之父,是否记得这是他的第几次食言?
从宣称3721不作恶,到演变成流氓软件始祖;从拿了雅虎中国几亿美元,到离开东家雅虎中国后,就破口大骂雅虎中国;从像对待孩子一样,对待3721插件,到推出360安全卫士软件专杀3721插件;从号称永不挣钱的360安全卫士,到收取大批软件企业的推广费。
一次又一次的承诺,一次又一次的食言。周鸿祎说翻脸就翻脸,从没把食言当是一件羞耻的事情。只要能挣钱,道德和网民先晾一边吧。
周鸿祎,湖北黄冈人。曾就职方正集团,先后担任事业部总经理、研发中心常务副主任等职。1998年10月,从方正集团离职后,周鸿祎创建3721公司。
当年,3721作为一家小公司,周鸿祎没钱推广,就想到了通过浏览器的地址栏插件这种流氓推广方式。当用户打开某个网页或安装某软件时,一款号称“可以帮助网民上网更方便”的插件3721,就自动安装进用户的电脑,并且不能卸载。
2003年,在全国网民不超过8630万的情况下,周鸿祎号称3721的装机量超过7000万台。3721用流氓手段,几乎插入所有中国网民的电脑。
2003年3721被yahoo收购,2004年3月,周鸿祎出任yahoo中国总裁。2005年7月6日,周鸿祎宣布将于8月31日正式辞去雅虎中国总裁一职。
从雅虎中国离职后,周鸿祎不仅不感激雅虎的收购让其套现,反而在回母校西安交通大学演讲时,公然称3721卖给雅虎中国很后悔;等到马云掌舵雅虎中国时候,周鸿祎更是叫嚷曾是自己一手开发,并培养长大的3721上网助手为流氓软件。周鸿祎曾经最亲密的创业伙伴田健愤怒地指出,“谁都可以骂‘流氓软件’,可周鸿祎作为既得利益者哪里有资格去骂。”
迅雷遭央视索赔
刚看到这则消息,感慨:中国现在的互联网越来越正规了,做网站难啊,一不小心就......
据新华社电记者昨日从上海市第二中级人民法院获悉,日前央视国际网络有限公司以深圳迅雷网络技术有限公司网站侵权播放奥运圣火传递为由,向上海市二中院提起诉讼,法院已立案。本案涉及奥运会知识产权的保护,引起广泛关注。
原告央视国际网络有限公司诉称,今年6月30日,被告深圳迅雷网络技术有限公司网站的“迅雷看看”直播频道在线实时转播了中央电视台“CCTV-奥运频道”的“体育中心特别节目:与圣火同行”,播放内容为宁夏吴忠市奥运圣火传递活动。被告迅雷公司的网站服务器由被告上海网宿科技股份有限公司提供。
原告请求判令两被告停止侵权,被告迅雷公司在其经营的网站主页及《中国电视报》上发表声明,向原告公开赔礼道歉,两被告赔偿原告经济损失等人民币200余万元。
2008/08/14
Enum.GetNames
{
Console.Write(colorName + ", ");
}
输出全部控制台背景颜色
Convert.ToInt32与Int32.Parse区别及Int32.TryParse
这2个方法都可以把string转换为int,那么他们有什么区别?什么时候该用什么?性能如何。
其实在2.0里还有Int32.TryParse也实现了同样的效果。
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string myString = "1234";
int myint = 0;
myint = Convert.ToInt32(myString);
Console.Write(myint+"\r\n ");
myint = Int32.Parse(myString);
Console.Write(myint+"\r\n ");
Int32.TryParse(myString, out myint);
Console.Write(myint+"\r\n");
}
}
}
表面上看,可见3个方法都实现了同样的效果!
那么我们把代码改一下:
//string myString = "1234";
string myString = null;
int myint = 0;
myint = Convert.ToInt32(myString);
Console.Write(myint+"\r\n");
myint = Int32.Parse(myString);
Console.Write(myint+"\r\n");
Int32.TryParse(myString, out myint);
Console.Write(myint+"\r\n");
运行结果:
Convert.ToInt32()在null时不抛异常而是返回0;
Int32.Parse()要抛异常;
Int32.TryParse()不抛异常,会返回true或false来说明解析是否成功,如果解析错误,调用方将会得到0值。
得出结论:
3个方法几乎没有差异!
如果要追求完美,那么可以参靠一下性能的差异:
Int32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。
个人建议:.NET1.1下用Int32.Parse();.NET2.0用Int32.TryParse()。
为什么这样呢?
因为:Convert.ToInt32会把最终的解析工作代理给Int32.Parse,而Int32.Parse和Int32.TryParse则分别把解析工作直接代理给Number.ParseInt32和Number.TryParseInt32,前者在出现解析错误时会抛出异常,而后者则仅仅返回 false。
盖茨披露未来软件新领域
盖茨表示,软件已经不限于PC领域,手机软件市场的重要性正在迅速提高。他说,手机正在日益成为以软件为导向的平台。但盖茨指出,使手机具有更多高端功能的是硬件方面的创新。显示屏技术将成为缩小手机和PC之间差距的关键。盖茨说,如果手机显示屏能够卷动或折叠——尺寸就可以更大一些,或者手机可以在墙上投影显示更大的图像,PC和手机之间的界线将日益模糊。
盖茨指出,具有PC功能的另外一种设备将是电视机。他说,软件创新将无所不在,它也会影响到汽车和电视机等产品。据盖茨称,微软正在开发语音识别技术,目的是提高电视的交互能力。在盖茨发表演讲后,微软一名员工进行了通过语音识别技术在一台与互联网相连接的电视机上搜索视频内容的演示。
向Google投简历
我眼中的Google是业内在技术上排前二(个人认为,和微软各有千秋)的公司,而我上网时的很多软件都和Google相关,比如Google拼音、Blogger...
而Google本身也是一个让人极其羡慕的公司:高薪高福利,可以带宠物狗上班,可以拿20%的时间干自己想干的事,老板还不能过问和干涉……
是很多人梦寐以求的工作场所,那么听听李开复博士在记者提问时的回复,或许会让你感觉Google也不是那么遥不可及的。
他希望有四种人可以向Google投递简历:个人曾经做过极有创意的网站;发表过非常好的论文;编写过10万行以上的代码;在优秀的互联网团队工作过。
2008/08/13
Server.MapPath()
Server.MapPath获得的路径是服务器上的物理路径,也就是绝对路径
1、Server.MapPath("/")
注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\
2、Server.MapPath("./")
注:获得所在页面的当前目录,等价于Server.MapPath("")
3、Server.MapPath("../")
注:获得所在页面的上级目录
4、Server.MapPath("~/")
注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置,如C:\Inetpub\wwwroot\alva\
2008/08/12
C#结构
以下是一个示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
enum Direction : byte
{
north=1, //注意这里的标点
south=2,
east=3,
west=4
}
struct route
{
public Direction MyDirection;
public double Distance;
}
class Program
{
static void Main(string[] args)
{
route MyRoute;
int OneDirection;
double MyDistance;
Console.WriteLine("1) North\n2) South\n3) East\n4) West");
do
{
Console.WriteLine("Please select a direction :");
OneDirection=Convert.ToInt32(Console.ReadLine());
}while((OneDirection<1)(OneDirection>4));
Console.WriteLine("Input a distance :");
MyDistance = Convert.ToDouble(Console.ReadLine());
MyRoute.MyDirection = (Direction)OneDirection;
MyRoute.Distance = MyDistance;
Console.WriteLine("MyRoute specifies a direction of {0} and a distance of {1}",MyRoute.MyDirection,MyRoute.Distance);
Console.ReadKey();
}
}
}
2008/08/11
在Blogger中输入代码的方法
下面就说说我平常在Blogger输入代码的方法:
2008/08/08
C#入门经典第一章之三
利用C#开发程序比利用C++简单,因为其语法比较简单,但C++能完成的任务用C#也可以完成。C#中与C++比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用,这个高级编程技术是非常危险的,因为它可能覆盖系统中重要的内存块,导致严重的后果。
C#代码一般比C++稍长一些。
另外,C#可以使用.Net Framework代码库的任何一种功能。
C#入门经典第一章之二
C#入门经典第一章之一
使用.Net Framework的一个主要原因是,它可以作为集成各种操作系统的方式。
2008/08/07
Google是怎样来判断一篇文章是否为原创
做站也有一段时间了,也有不少是垃圾站,既然做垃圾站,站长很关心的一点就是搜索引擎的收录,目前国内的百度对新站的收录是比较严格的,我只记得我好几个站,几个月了,百度都没收录一篇,郁闷......在这一方面,Google对新站还是比较欢迎的,一般几天内就会有或多或少的收录。
谈到垃圾站,一个很大的特点就是,大部分的文章都是从网上采集来的,都非原创。而Google的收录规则中有一项,是关于文章是否原创的。这些规则中我觉得有两个是比较重要的:
一、就是所谓的Credit Rank,是Google判定一个网站是否忠实可信贷标准,即使你在转载别人文章的时候,都注有出处,Google就会觉得你是友好的,是忠实的。
二、就是对转载的文章做些适当的修改,Google也是欢迎的,从某种程度来说,这也是一种原创。
需要指出的一点是,在转载一些国外文章的时候,若还是原样抄袭并不注明出处,在我看来,这无异于慢性自杀,可想而知这后果的严重性。
以上是一时想到的部分心得,以后想到了,会继续贴出来。
北京奥运会各个项目的门票价格和比赛时间表,供参考
明天奥运会开幕了,很遗憾不能去现场呐喊助威了,贴出来各个项目的门票价格和比赛时间表,供大家参考
项目 最低 最高 日期 场馆
开幕式 200 5000 8月8日20:00-23:59 国家体育场
闭幕式 120 3000 8月24日20:00-23:59 国家体育场
射箭 50 100 8月9日-15日 奥林匹克公园射箭场
田径 50 800 8月15日-24日 国家体育场
羽毛球 50 500 8月9日-17日 北京工业大学体育馆
棒球 30 120 8月13日-23日 五棵松棒球场
篮球 50 1000 8月9日-24日 五棵松篮球馆
沙滩排球 50 400 8月9日-22日 朝阳公园沙滩排球场
拳击 30 400 8月9日-24日 工人体育馆
皮划艇静水 30 80 8月18日-23日 顺义奥林匹克水上公园
皮划艇激流回旋 30 100 8月11日-14日 顺义奥林匹克水上公园
小轮车越野 50 100 8月20日-21日 老山小轮车赛场
山地自行车 30 30 8月22日-23日 老山山地自行车场
公路自行车 免费 免费 8月9日10日13日 城区自行车公路赛场
场地自行车 50 100 8月15日-19日 老山自行车馆
跳水 60 500 8月10日-23日 国家游泳中心
马术 40 400 8月9日-20日 香港马术比赛场
击剑 50 100 8月9日-17日 击剑馆
足球 40 800 8月6日-23日 各个赛区体育场
竞技体操 50 300 8月9日-19日 国家体育馆
艺术体操 100 400 8月21日-24日 北京工业大学体育馆
蹦床 50 100 8月16日-19日 国家体育馆
手球 30 80 8月9日-24日 奥体中心体育馆
曲棍球 30 120 8月10日-23日 奥林匹克公园曲棍球场
柔道 50 200 8月9日-15日 北京科技大学体育馆
现代五项 30 50 8月21日-22日 击剑馆英东游泳馆奥体中心体育场
赛艇 30 80 8月9日-17日 顺义奥林匹克水上公园
帆船 120 600 8月9日-27日 青岛国际帆船中心
射击 30 50 8月9日-17日 北京射击馆/北京射击场
垒球 30 120 8月12日-21日 丰台垒球场
游泳 30 800 8月9日-21日 国家游泳中心/顺义奥林匹克水上公园
花样游泳 60 500 8月17日-22日 国家游泳中心
乒乓球 50 800 8月13日-23日 北京大学体育馆
跆拳道 50 200 8月20日-23日 北京科技大学体育馆
网球 100 600 8月10日-17日 奥林匹克公园网球中心
铁人三项 50 50 8月18日-19日 铁人三项赛场
排球 50 800 8月9日-24日 首都体育馆/北京理工大学体育馆
水球 30 400 8月10日-24日 英东游泳馆
举重 30 200 8月9日-19日 北京航空航天大学体育馆
摔跤 50 200 8月12日-21日 中国农业大学体育馆
北京加油,奥运加油,中国加油!!!
2008/08/06
郁闷期......
这几天照了些资料,发现MSDN的互相链接太多,一个页面中,到处是链接,而且都不知道链接到哪去了,搞得我晕头转向的;而WebCast的教程又生涩难懂,总感觉他们打部分时间都在讲这个知识点的周边的知识,而涉及到这个知识点的就比较少,或许老外习惯这样吧,又或许是我菜到不行。(现在是知道了,为什么有不少在世界上都有名的网站或企业,进入中国,不能很快就“入门”,都得经过好长一段时间的本土化ing,才能适应中国的网民)
可话说回来,要跟着微软,不懂得查MSDN,不看WebCast,就很难在第一时间学到新的东西,没办法,继续走呗......
2008/08/05
学习asp.net比较完整的流程(转载)
如果你已经有较多的面向对象开发经验,跳过以下这两步:
第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!
第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。
第一步:学习HTML与CSS
这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。
第二步:学习JavaScript
JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。
JavaScript在目前的网站开发中用得很多,非常重要。
另外,它也是目前非常流行的AJAX技术的基础。
第三步:学习计算机网络原理
找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。
第四步:学习ASP.NET表示层技术,会设计Web页面
需要结合先前打好的面向对象技术的基础,至少掌握以下内容:
(1) 各种Web控件的使用方法,
(2) 理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。
(4) ASP.NET实现事件驱动的内幕
(5) 自定义用户控件
再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。
第五步 掌握数据库技术
具体地说,要学习以下内容:
(1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程
(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法
(3) 学习数据绑定控件的使用
第六步 理解多层架构
这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。
可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。
有的朋友问:学习架构是不是必须学习设计模式。
我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。
第七步 学习XML与Web Service
先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。
学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。
第八步 学习AJAX
学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。
在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。
第九步 学习RIA技术
RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。
不过目前学习它主要是为了技术储备。估计此技术的普及需要2到3年的时间,因为预装Vista的机器今年才开始大卖。
以上仅供各位程序员参考,或许有写的不当的地方,见谅...
云计算简介
云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。这可是一种革命性的举措,打个比方,这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。云计算的蓝图已经呼之欲出:在未来,只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。从这个角度而言,最终用户才是云计算的真正拥有者。
据国外博客网站报道,消息人士称,微软已开始向大型企业客户透露,计划将软件业务纳入“云计算”,并有望在下星期或之后一周公布相关战略。
2008/08/04
利用飞信机器人实现服务器远程控制+免费短信报警
利用飞信机器人实现电脑远程控制看到http://www.it-adv.net/飞信机器人这个东西以后我就想手机和电脑的简单信息传递没有问题了,那手机控制电脑应该也是没有问题的。飞信机器人能让你非常方便的用php或是bash批处理来编插件,我的目的决定我用bash比较方便,其实我也不懂php,看了看作者的插件实现例子我就开始搞了。
飞信机器人plugins目录里plugin_message就是接到一个短信息后执行的bash批处理,好的,要实现手机控制电脑修改这个文件就可以了。那我就改改看,message这个变量是个好东西,收到的短信就存在这里可以成为控制电脑的命令,直接$message就可以在bash里面执行命令了,好,手机信息传递到电脑并可以执行了。下面是电脑返回信息给手机,仔细看了下作者的例子,嗯这俩条命令是好东西 $cmd = "chat$buddy $message" echo$cmd,依葫芦划瓢子就可以了。bash命令返回的信息可以用$(cmd)得到,这是问我同学druggo得到的。好现在各种要件都准备好了,开始组合了。
诶等等,这样不太安全,什么人发给我命令都会执行,不太好吧!又想了想,利用buddy这个变量进行一个验证,代码如下。
plugin_message
代码:
buddy=$1
message=$2
id=575074804
#验证用户
if [ "$buddy" = "$id" ];then
command=$message
fi
#执行命令 (这里的命令只支持那些执行完后回到当前目录的命令 不支持cd ftp 等命令)
$command
#回显执行结果
fb="chat $buddy $($command)"
echo $fb
#log
echo $(date +%D-%T)------------------$command >>command.log
飞信机器人非常方便的让我实现了简单的手机远程控制电脑的功能,我可以用手机执行一些系统命令,也可以执行你编的程序,我就把以前编的一个抓天气预报的python放在飞信机器人根目录里,发一个命令就可以收到天气预报了。唯一不太满意的是需要两个手机号码,中国移不动公司不让你手机发信息给你的飞信账号。感谢作者提供这么方便的一个工具,大家尽可以发挥自己的想像力,实现自己想要的功能,尤其是家电信息化是个趋势,可以想像,只要一个命令短信,让家里打开空调开启音乐迎接你的到来是非常惬意的一件事!
---------------
通过研究作者提供的PLUGIN接口,做为网管,我们可以实现免费的短信提醒。
原理是这样的,
当系统有需要报警的事件时,我们可以向特定的UDP端口(默认40000),发送短信命令,如 sms 13xxxxx alert
即可。
2008/08/01
AdRotator AdRotator1 未能找到 AdvertisementFile 或该文件无效
错误提示:
AdRotator AdRotator1 未能找到 AdvertisementFile 或该文件无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: AdRotator AdRotator1 未能找到 AdvertisementFile 或该文件无效。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
解决方案:
一定要注意首字母要大写,而且单词别写错,我刚就是单词中少了一个字母e,郁闷了好长时间。
正确写法如下:
广告控件
<Advertisements>
<Ad>
<ImageUrl>Images/AD1.GIF</ImageUrl> <!--图像文件的绝对或相对Url-->
<NavigateUrl>http://www.baidu.com</NavigateUrl> <!--单击此Ad之后访问的目标Web站点-->
<AlternateText>BaiDu</AlternateText> <!--鼠标在图像上方移动时显示的文本-->
<Keyword>1</Keyword> <!--指定给此Ad的该类别-->
<Impressions>100</Impressions> <!--在循环播放时间安排中广告的优先级-->
</Ad>
<Ad>
<ImageUrl>Images/AD2.GIF</ImageUrl>
<NavigateUrl>http://www.google.com</NavigateUrl>
<AlternateText>Google</AlternateText>
<Keyword>1</Keyword>
<Impressions>20</Impressions>
</Ad>
</Advertisements>
2008/07/31
AutoPostBack 属性及Page.IsPostBack 属性
Page.IsPostBack 属性:
Page.IsPostBack 是用来检查目前网页是否为第一次加载,当使用者第一次浏览这个网页时Page.IsPostBack 会传回False,不是第一次浏览这个网页时就传回True;所以当我们在Page_Load 事件中就可以使用这个属性来避免做一些重复的动作。
AutoPostBack 属性:
以TextBox Web 控件为例,若我们把AutoPostBack 属性在设定为True,并且指定OnTextChange 的事件程序为何时,当使用者按下「Enter」或是「Tab」让光标离开此控件而且控件的内容有所改变时,将自动传回控件现在的内容并触发Page_Load 事件及OnTextChange 属性所设定的事件。
2008/07/30
.NET技术
随着Windows 2008 操作系统,SQLServer2008 数据库的推出, .NET技术成为微软进军企业级应用市场的利器,凭借在Windows上无缝集成的优势,在企业级开发领域攻城掠地,迅速崛起,再次演绎了微软不败的神话。现在财富前100强的公司,有90%采用了.NET技术构建自己的信息系统。
在中国国内,微软拥有众多的战略合作伙伴,在他们的合力推动下,.NET技术已经占据了开发市场的半壁江山,和Java一起成为国内的两大主流技术。.NET借助于强大的开发工具,快速的开发效率,便捷的部署方式,被越来越多的企业客户和软件公司所接受。目前国内对.NET开发人员的需求总是保持在很高的水平。
360可以为了钱沦为流氓软件,我不行!--转自360内部员工
睡不着。
今天,我下定决心离开,离开服务了近两年的公司奇虎360安全卫士,离开了再熟悉不过的办公环境,习惯了你来我往的人事变动。今天我走了….带走了遗憾,带走了人生梦想,360(就这样亲切的称呼你吧)当时是你接纳了我,记得当时我还是一个刚毕业的大学生的时候,是你360安全卫士、是傅老大把我招到你的麾下,让我知道了我的目标,那就是做出国内顶级的安全软件!
现在我走了,我只想在这一刻简单的记录一下我的心情,当年你的辉煌还在脑海激荡,上千万的装机量让我们兴奋不已,别忘了我们是免费的,我们没有任何的利润!也许大家不知道,当年最让人痛恨的3721就源自我们的老大----周鸿祎,但是,他又做出了这样一款流氓软件专杀工具,荡尽了几乎所有的流氓软件,当然这是所有员工的功劳,包括我的上司,傅盛!傅盛应该算是360的最大功臣,是他让大家知道了360安全卫士,是他让360和卡巴斯基合作!方便了大家。没有他的业务关系就没有今天的360安全卫士。可是现在,已经物是人非,老大走了……我们这些老员工,也都要走了。
因为360要战略转型,我们不堪良心谴责,不堪工作压力要走了,也许大家还不知道,今年360已经不再和卡巴合作了,他们决定和罗马尼亚的BitDefender合作了。而与此对应的,我们项目组,不再是像其他同事那样继续研发360的安全技术,继续修复360免费杀软的BUG。而是都被调到一个新的项目组里!研分什么大家知道吗?!弹窗广告!!天啊,也许大家的噩梦又要来了,360的弹窗广告就要借着奥运来了。大家都知道我们以前一直是免费的没有利润的,即使是和卡巴合作也是赚微不足道的一点返点和广告费,而现在,360却将和国内某大型门户网站合作推出弹窗广告!听同事说双方合作费用达八位数。现在装有360的用户总能收到关于360升级的气泡提示,其实那是我们在调试。调试如何把消息同时发给送给所有的用户,因为大家知道即使是QQ的弹窗广告也不能同时发给全部用户,而会有延迟,所以我们就不断的调试调试……要知道,奥运新闻过了五分钟就将不是新闻了。
之所以决定离开是因为公司太让我们失望了,战略的转型让360又回到了3721时代……我们研制的360把所有的流氓软件都杀干净了,却把自己塑造成了前所未有的第一流氓软件,我们想不通……想不通周鸿祎老大他想做什么?现在我们的老大走了,也许是伤心了,也许是被逼无奈,辛辛苦苦推起来的软件就这样又被颠覆了…7月17的新闻发布会他没有参加,媒体说他是去度假,其实做什么我们很清楚,他在做最后的心理准备,然后把工作交接给完毕,走人….老大,走好……
走了……离开了360,离开惠通时代广场的办公环境,还真不知道该何去何从,我的朋友们大家都走好,主要的是傅大哥,你教了我很多东西,感谢!360但愿也走好吧,毕竟是我们辛辛苦苦把你做起来的,成宿成夜的编程,大家都不容易,别太疯狂了就好了……..给我们留点美好的回忆吧!!!!
写于公元2008年7月29日凌晨
Visual Studio Team System 2008 Team Suite(90 天试用版)破解方法
在装好Visual Studio Team System 2008 Team Suite后,默认的是90 天试用版,下面的方法可完美将试用版升级成为正式版,若升级不成功,请联系我,我会尽量帮你解决,QQ491478549
在开始>设置>控制面版>添加或删除程序>卸载vs2008>出现卸载界面>点击Next>输入下面CD-key ->点击升级->出现成功画面即可完美将试用版升级成为正式版。
VS2008正式版序列号CDKEY:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T
B/S与C/S的联系与区别
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
C/S 与B/S 区别:
1.硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
2.对安全要求不同
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
3.对程序架构不同
C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
4.软件重用不同
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
5.系统维护不同
C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
6.处理问题不同
C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
7.用户接口不同
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
8.信息流不同
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
2008/07/29
15亿杀毒市场遭遇免费:盈利模式待解
当天,奇虎360宣布推出免费杀毒360,对用户承诺将进行永久的免费服务。此前,360已推出了免费杀木马软件。
周认为,杀毒和邮件、搜索、即时通讯一样,都属于互联网基本服务,而基本服务就应对网民免费,“微软、Google、Adobe都基于互联网推出了免费软件,杀毒软件也不例外”。
彻底免费
奇虎的杀毒引擎技术购买自罗马尼亚的BitDefender,此外还与国内的天安公司进行了技术合作。周鸿祎称,购买是为了节约时间与金钱。国内一家杀毒厂商的技术员也告诉记者,若自己开发,则至少需要数年时间,且不能保证技术上领先。
目前,中国其他杀毒软件厂商的引擎均来自以色列、罗马尼亚、俄罗斯等国家的授权,病毒库升级则由自己来做,奇虎也是如此。
在此之前,国内杀毒软件厂商曾推出过“有限的免费”——在一定时间内某些杀毒功能免费。今年2月,金山也与百度合作,免费提供病毒查杀。随后,国内杀毒软件的老大瑞星也推出了半年免费杀毒。
事实上,对奇虎360而言,此次免费已是第二轮。早在2006年,其就曾推出免费360卫士。
周鸿祎此次准备将免费彻底进行到底。他认为,奇虎360与其他杀毒软件厂商不同,其他厂商主要想通过免费吸引用户,进而锁定用户,目的是让用户为杀毒软件付费,奇虎则完全向用户免费。
周鸿祎称,奇虎360已有超过1.2亿注册用户,用户覆盖率超过60%,在终端装机量方面,仅次于腾讯QQ,“接下来会利用目前的360卫士进行推广,但不做任何形式的捆绑或强制安装。”
可以使用C#语言的ACM题库
C#中关于Request的练习
using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//获取相对路径
Response.Write(Request.ServerVariables["url"]);
Response.Write("<br>"+Request.RawUrl);
//获取绝对路径
Response.Write("<br>"+Request.ServerVariables["path_translated"]);
Response.Write("<br>"+Request.PhysicalPath);
//获取服务器名
Response.Write("<br>"+Request.ServerVariables["server_name"]);
//获取服务器IP
Response.Write("<br>"+Request.UserHostAddress);
//客户端浏览器是否支持背景音乐
Response.Write("<br>"+Request.Browser.BackgroundSounds);
//客户端浏览器是否支持框架
Response.Write("<br>"+Request.Browser.Frames);
//客户端的操作系统类型
Response.Write("<br>"+Request.Browser.Platform);
}
}
输出结果:
/RequestTes/Default.aspx
H:\网站\天轰穿\111\Default.aspx
H:\网站\天轰穿\111\Default.aspx
localhost
127.0.0.1
True
True
WinXP
C#构造函数的练习
值得注意到是,先在构造函数里定义私有成员变量,接着再给相应地定义公共方法及属性
新建web窗体,命名BookTest.aspx,其中BookTest.aspx不做修改
BookTest.aspx.cs的代码修改如下:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class BookTest : System.Web.UI.Page
{
public class Book
{
private string title;
private string isbn;
private double price=100.00;
public Book(string NewTitle,string NewIsbn)
{
title = NewTitle;
isbn = NewIsbn;
}
public string TitleInfo
{
get
{
return "书名: " + title + "<br>" + "isbn: " + isbn ;
}
}
public double Price
{
get
{
return price;
}
set
{
price = value;
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
Book HotBook = new Book(".Net 3.5 入门教程","8-321-56424-5");
Response.Write(HotBook.TitleInfo + "<br>价格: " + HotBook.Price + "<br><br>");
Book NewBook = new Book("Visual Studio 2008 入门教程","9-545-16545-8");
NewBook.Price = 128.00;
Response.Write(NewBook.TitleInfo+"<br>价格: "+NewBook.Price);
}
}
输出结果:
书名: .Net 3.5 入门教程
isbn: 8-321-56424-5
价格: 100
书名: Visual Studio 2008 入门教程
isbn: 9-545-16545-8
价格: 128
2008/07/28
C#中文星期几的输出方法
public partial class WeekDay : System.Web.UI.Page
{
public static string TodayOfWeek(DateTime dt)
{
string[] WeekDayCn = new string[] { "日", "一", "二", "三", "四", "五", "六" };
return "今天是星期" + WeekDayCn[(int)dt.DayOfWeek];
}
protected void Page_Load(object sender, EventArgs e)
{
DateTime Dt = DateTime.Now;
Response.Write(TodayOfWeek(Dt));
}
}
输出:
今天是星期一
C#中日期和时间的输出
代码如下:
DateTime Dt = DateTime.Now;
DateTime Dt = DateTime.Now;
Response.Write("今天的日期和现在的时间是" + Dt);
Response.Write("<br>今天的日期是" + Dt.ToLongDateString());
Response.Write("<br>现在的时间是" + Dt.ToLongTimeString());
Response.Write("<br>今年是" + Dt.Year + "年");
Response.Write("<br>现在是" + Dt.Month + "月份");
Response.Write("<br>今天是" + Dt.Day + "号");
Response.Write("<br>现在是" + Dt.Hour + "点");
Response.Write("<br>现在是" + Dt.Minute + "分");
Response.Write("<br>现在是" + Dt.Second + "秒");
Response.Write("<br>今天是" + Dt.DayOfWeek);
Response.Write("<br>今天是今年的第" + Dt.DayOfYear + "天");
输出如下:
今天的日期和现在的时间是2008-7-28 10:18:12
今天的日期是2008年7月28日
现在的时间是10:18:12
今年是2008年
现在是7月份
今天是28号
现在是10点
现在是18分
现在是12秒
今天是Monday
今天是今年的第210天
域名选择的五个要点
那么我们就来探讨一下选择域名的几个要点。
1)尽量选择.com域名,特别要注意的是不要选择.info和.cn的,因为这两者因为过为便宜,已经沦为Spam的重灾区,很多服务把这两类域名作为重点对象给限制起来了。
2)域名选择,以英文单词为主,如果是只面向中国中文用户的,也可以以拼音来取名。
3)在域名中只出现字母,尽可能的不要放入下划线,或者连字符号。只有在一种情况下需要,就是说当多个单词组合起来后,会出现两种或两种以上的分词情况的,而且其中有一种会出现非常不好的意思,才需要用符号来分词。通常连在一起的单词,绝大部分情况下,搜索引擎可以很好的区分。
4)域名要容易记忆,短小的域名容易记忆,有特殊含义的容易记忆,有特殊发音的也容易记忆。
5)选择的域名不要易混淆,也不要易拼写错误。这样的域名很容易就会把客户带到别人的网站。
SEO的8项技巧
2)服务器的IP地址是否被处罚过 如果使用的是虚拟主机,或者是共享的空间,那么要注意,谁是你的邻居。一台主机上有40个虚拟主机,如果其中的大多数网站,在Google都曾被除名,或者屏蔽的话,你的服务器也会受到牵连。首先检查一下,这台服务器上有多少的网站,使用这个工具可以轻松查到结果:http://whois.webhosting.info/ip/这里的ip就用你要查的服务器的ip地址来代替。然后用所查到的网站域名,来查看Google收录了多少页面,在Google的搜索框里输入site:www.###.com就可以了。如果大部分的网站都没有给Google收录的话,那么很有可能这台服务器被Google处罚过,最好换一台。
3)服务器的稳定性一个稳定的网站,需要一台稳定的服务器。一台三天两头会down机的服务器,如果恰好在Google蜘蛛来抓取你的网站的时候,无法访问,你的排名和收录都会受到很大的影响。
4)域名、路径名、文件名这些词都有关键词的作用,要选择好的,这却反映你公司的域名,然后路径名称,和文件名称都会对Google排名有很大的影响。记得使用英文,或者拼音来做路径名和文件名,不要直接用中文。
5)网页的标题和meta标签这就是最常用的Title标签,和meta标签。我觉得Title更为重要,一定要用好,每个页面都要用不同的Title,要用最能描述网页内容的名字。至于meta的description和keywords,对于Google来说已,不再那样重要。
到这里开始是精髓,要注意看了。
6)链接对于Google来说,PageRank就是它排名的核心,对于PageRank的基本概念,这里就不解释了。而如何提高PageRank的方法则是相当的简单,可做起来十分的难。增加反向链接,就是从其他高PageRank的网页,建立一个指向你的网站的链接。你也可以在Google的搜索框里输入,link:www.###.com来查看指向该网站的反向链接。在Google的算法里,不光要有反向链接,同你相连的网站,最好还是内容同你相关的网站,那个网站的页面要导出链接较少才好。一般而言,这个添加反向链接的工作,是在优化过程中,最长期的工作,而且,效果是最持久地。
7)网站内容和页面设计这里要明确的告诉大家,原创内容多,才会容易被其他网站引用,才会容易有较多的链接。而原创内容是在网站所有页面中生命力最强的部分。很多页面,写了很多年,依然有访问量,就是因为它的内容是有价值的。在网站内部,各个页面之间的链接也有助于PageRank在各个页面之间的传递。当然还是要指出,页面之间的链接,要以内容相关为联系。
页面的设计要简洁,导出链接不要大于100。
8)关键词的运用在网页的标题内包含关键词是个不错的做法,要包含在<h1> </h1>中,次要的关键词要包含在<h2> </h2>中。在文章里的关键词,可以用粗体字表示。一个页面的关键词出现的位置,最好在内容开始的地方和结束的地方,还有就是网页的标题部分。千万不要做堆砌关键词的动作,这是一种作弊。关键词的出现要自然,就像它原来就在这里一样,要把关键词用自然的语言来描述出来。
2008/07/27
ASP.NET读取本页URL地址的方法总结
Request.ApplicationPath
结果:/China
Request.CurrentExecutionFilePath:
结果:China/default.aspx
Request.FilePath:
结果:/China/default.aspx
Request.Path:
结果:/China/default.aspx
Request.PhysicalApplicationPath:
结果:E:\WWW\China\
Request.PhysicalPath:
结果:E:\WWW\China\default.aspx
Request.RawUrl:
结果:/China/default.aspx
Request.Url.AbsolutePath:
结果:/China/default.aspx
Request.Url.AbsoluteUri:
结果:http://www.brokenman.cn/China/default.aspx
Request.Url.Host:
结果:http://www.brokenman.cn/
Request.Url.LocalPath:
结果:/China/default.aspx
ASP.NET刷新页面的六种方法
第一:
private void Button1_Click( object sender, System.EventArgs e )
{
Response.Redirect( Request.Url.ToString( ) );
}
第二:
private void Button2_Click( object sender, System.EventArgs e )
{
Response.Write( "
<script language=javascript>window.location.href=document.URL;
</script>" );
}
第三:
private void Button3_Click( object sender, System.EventArgs e )
{
Response.AddHeader( "Refresh","0" );
}
第四:
private void Button6_Click( object sender, System.EventArgs e )
{
//好像有些不对?
//Response.Write( "
<script language=javascript>window.location.reload( );
</script>" );
}
第五:(需替换<>)
<script><!--
var limit="3:00"
if ( document.images )
{
var parselimit=limit.split( ":" )parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh( )
{
if ( !document.images )returnif ( parselimit==1 )window.location.reload( )else
{
parselimit-=1curmin=Math.floor( parselimit/60 )cursec=parselimit%60if ( curmin!=0 )curtime=curmin+"分"+cursec+"秒后重刷本页!"elsecurtime=cursec+"秒后重刷本页!"window.status=curtimesetTimeout( "beginrefresh( )",1000 )
}
}
window.onload=beginrefresh//--> </script><DIV style="Z-INDEX: 102;
LEFT: 408px;
POSITION: absolute;
TOP: 232px" ms_positioning="text2D">
<P><FONT size="3">自动刷新页面</FONT></P>
</DIV>
第六:
<meta http-equiv="refresh" content="300;
url=target.html">
安装SQL Server 2005 Express Edition 示例数据库
下载 SQL2000SampleDb.msi 之后,请双击 SQL2000SampleDb.msi 以提取示例数据库脚本。SQL2000SampleDb.msi 将数据库脚本和自述文件提取到文件夹 C:\SQL Server 2000 Sample Databases 中。双击instnwnd.sql,系统启动数据库管理系统,点击“执行”按钮,Northwind数据库安装成功,同样双击instpubs.sql安装pubs数据库。
2008年7月份的开发语言排行榜
谷歌广告联盟本地化提速:将引入电子支付
AdSense广告联盟是全球最大的网络品牌营销平台之一,谷歌在全球范围内通过集合中小型站长的“长尾”力量,打造出据称每天访问量超过7亿次、覆盖全球88%网民的广告平台。
但这个平台,就如谷歌搜索在全球的霸主地位一样,在中国却面临来自阿里妈妈、百度联盟这些本土巨头的强力挑战。有站长反映,尽管谷歌广告联盟具有后台透明、公正等特点,但本土企业具有更灵活的市场措施,这是很多站长不愿舍近求远的原因。 实际上,支付方式是站长们向谷歌反馈比较多的一个问题。自2006年以来,谷歌中国就制定了一些政策,每年与站长搭建一些面对面沟通的机会。今年将在青岛、南宁、合肥这三个站长相对集中的城市各举行一场“AdSense Partner Day”沟通活动。周文彪认为,解决电子支付问题预计能很大程度提高站长对谷歌的粘度。此外,很多站长还希望通过在与谷歌交流中,掌握到AdSense广告平台的使用与优化技巧。
长期以来,谷歌就如阿里妈妈、百度联盟等企业一样一直重视网络广告商的长尾效应。目前谷歌AdSense在中国有数十万家合作伙伴,全球总量超过150万家。自2006年以来,谷歌AdSense迈开了本地化脚步,其中北京支持团队已有26人,上海还有一个研发团队,他们合力为谷歌的合作伙伴--加入AdSense广告联盟的站长们提供支持。
据不完全统计,国内目前有约200家网站联盟,这数字比几年前少了近一半。谷歌方面认为,网站联盟要取得成功,首先要有技术支撑,其次不能太短视,需考虑包括合作伙伴、广告主等在内的多方长远利益。
2008/07/26
VS2008值得称赞的改进之一——新设计视图和CSS 设计工具
用习惯了Dreamweaver的朋友,在用VS2003及VS2005开发asp.net的时候,会经常抱怨vs没拆分视图,而VS2008新增加了这个功能,我想,这对很多朋友都是一个很好的消息吧!
使用网页设计器,可以在“设计”视图、“源”视图或“拆分”视图(同时显示“设计”视图和“源”视图)中工作。
Visual Studio 2008 现在提供一些工具,使级联样式表 (CSS) 的处理更为方便。在“设计”视图中,通过使用新的用户界面工具(例如“CSS 属性”窗口),可以设计布局和样式内容。此外,在“设计”视图中,通过使用 WYSIWYG 可视布局工具,还可以直接更改定位、填充和边距。
2008/07/25
C#中用Rank属性显示数组的维数
// Rank属性用来显示数组的维数
using System;
namespace Test_Rank
{
class Test
{
static void Main()
{
int[,,] Array1=new int[2,4,8];
Console.WriteLine(Array1.Rank);
}
}
}
C#中数组声明的格式
C#中声明一维、多维以及交错数组的格式
class Test_Array
{
static void Main(string[] args)
{
int[] Array1=new int[5];
int[] Array2 = new int[] { 1,8,5,3,4};
int[] Array3 = { 1, 8, 5, 3, 4 };
int[,] Array4=new int[3,5];
int[,] Array5 = { {2,3,5,0,5},{5,6,3,4,5}};
int[][] Array6=new int[5][]; //交错数组,也叫数组的数组
int[][] Array7;
Array7[0] = new int[5] { 5,6,3,4,5};
}
}
更改现有项目的 .NET Framework 版本
Visual Studio 2008新功能:为项目指定 .NET Framework 版本
目前网上流行的一些asp.net的系统多数都是基于2.0版本的,而Visual Studio 2008的这个功能使我们不必担心由于项目文件和开发工具之间版本不同而产生的一些问题。赞!
1.打开 Visual Studio 2008,在“文件”菜单上,单击“新建”,单击“项目”(或网站)。弹出“新建项目”对话框。
2.选择一个项目类型,如 “Visual C#” 中的“Windows窗体 应用程序”。
3.此时在这个“新建项目”对话框的右上角,单击下拉菜单并选择所要开发的项目的 .NET Framework 版本,例如“.NET Framework 3.5”。
2008/07/24
一名25岁的董事长给大学生的18条忠告
一、读大学,究竟读什么?
大学生和非大学生最主要的区别绝对不在于是否掌握了一门专业技能……一个经过独立思考而坚持错误观点的人比一个不假思索而接受正确观点的人更值得肯定……草木可以在校园年复一年地生长,而我们却注定要很快被另外一群人替代……尽管每次网到鱼的不过是一个网眼,但要想捕到鱼,就必须要编织一张网……
二、人生规划:三岔路口的抉择
不走弯路就是捷径……仕途,商界,学术。在这人生的三岔路口,你将何去何从……与其跟一百个人去竞争五个职位,不如跟一个人去竞争一个职位……学术精神天然的应当与尘嚣和喧哗保持足够的距离……商场不忌讳任何神话。你也完全可能成为下一个传奇……
三、专业无冷热,学校无高低
没有哪个用人单位会认为你代表了你的学校或者你的专业……既然是概率,就存在不止一种可能性……如果是选择学术,冷门专业比热门专业更容易获得成就……跨专业几乎早已成为一种流行一种时尚……大学之间的实力之争到了考研考场和人才市场原来是那样的微不足道……
四、不可一业不专,不可只专一业
千招会,不如一招熟……十个百分之十并不是百分之百,而是零……在这个现实的社会,真正实现个人价值才是最体面最有面子最有尊严的事情……要想知道需要学什么,最好的方式就是留意招聘信息……很多专业因为不具备专长的有效性,所以成为了屠龙之术……为什么不将“买一送一”的促销思维运用到求职应聘的过程中来呢……
五、不逃课的学生不是好学生
什么课都不逃,跟什么课都逃掉没什么两样……读大学,关键是学会思考问题的方法……逃课没有错,但是不要逃错课……英语角绝对不是学英语的地方……为了英语丢了专业,那就舍本逐末了……招聘单位是用人才的地方,而不是培养人才的地方……既要逃课,又要让老师给高分……
六、勤工俭学的辩证法
对于贫困生来说,首先要做的不是挣钱,而是省钱……大部分女生将电脑当成了影碟机,大部分男生将电脑当成了游戏机……在这个处女膜都可以随意伪造的年代,还有什么值得轻易相信……态度决定一切……当学习下降到次要的地位,大学生就只能说是兼职的学生了……
七、做事不如做人,人脉决定成败
学问好不如做事好,做事好不如做人好……会说话,就能减少奋斗三十年……一个人有多少钱并不是指他拥有多少钱的所有权,而是指他拥有多少钱的使用权……一个人赚的钱,12.5%是靠自身的知识,87.5%则来自人脉关系……三十岁以前靠专业赚钱,三十岁以后拿人脉赚钱……你和世界上的任何一个人之间只隔着四个人……
八、互联网:倚天剑与达摩克利斯之剑
花两个小时就写出一篇天衣无缝的优秀毕业论文……在互联网领域创业的技术门槛并不高,关键的是市场眼光和营销能力……轻舞飞扬已经红颜薄命了,而痞子蔡却继续跟别的女孩发生着一次又一次的亲密接触……很多大学生的网友遍布祖国大江南北,可他们却从未主动向周围的人说一声:你好,我们可以聊聊吗……
九、恋爱:花开堪折方须折
爱情是不期而至的,可以期待,但不可以制造……越是寂寞,越要警惕爱情……既然单身是可耻的,那西门庆是不是应该被评为宋朝十大杰出青年……花开堪折方须折,莫让鲜花败残枝……一个有一万块钱的人为你花掉一百元,你只占了他的百分之一;而一个只有十块钱的人为你花掉十块,你就成了他的全部……
十、性:上帝死了,众神在堕落
爱要说,爱要做……我只有在肉体一下一下的撞击中才感到快乐。经过之后,将是更大的寂寞更大的空虚……为何要让别人的虚荣成为对自己的伤害……当她机械地躺在床上张开双腿,她的父母正在憧憬着女儿的未来……一朝春尽红颜老,花落人亡两不知……
十一、考研:痛苦的安乐死
没有比浪费青春更失败的事情了……研究生扩招的速度是30%,也就意味着硕士学历贬值的速度是30%……同样是付出三年的努力,你可以让E1的值增加1,也可以让E2的值增加2甚至增加3……读完硕士或博士并不等于工作能力更强……面对13.54万的成本,你还会毫不犹豫地投资读研究生吗……努力就会有结果,但不一定是好结果……
十二、留学:“海龟”变“海带”
月薪2500元的工作,居然引得三个“海归”硕士争相竞聘……对于某些专业而言,去美国留学和去埃塞俄比亚留学没什么两样……既然全世界的公司都想到中国的市场上来瓜分蛋糕,为什么中国人还要一门心思到国外去留学然后给外国人打工……
十三、非统招:养卑照样处优
她在中国信息产业界创下了几项纪录。她被称为中国的“打工皇后”。而她不过是一名自考大专生……要想把曾经输掉的东西赢回来,就必须把自己比别人少付出的努力补上来……非统招生不但要有一定的实力,而且必须掌握一定的技巧,做到扬长避短出奇制胜……路在脚下。好走,走好……
十四、毕业:十面埋伏的陷阱
母校不把自己当母亲,你又何必把自己当儿女……听辅导班不过是花钱买踏实……人才市场就是一个地雷阵……通过多种方式求职固然没有错,但是千万不要饥不择食……只要用人单位一说要你交钱,你掉头就走便是了……这年头立字尚且不足以为据,更何况一个口头约定……
十五、求职:做人不要太厚道
求职简历必须突出自己的核心竞争力……求职的时候大可不必像严守一那样“有一说一”……一个人说假话并不难,难的是把假话说到底,并且不露一丝破绽……在填写自己的特长时,一定要尽可能详细……一份求职简历只要用一张A4纸做个表格就足够了……面试其实是有规律的,每次面试的时候只要背标准答案就行了……
十六、骑一头能找千里马的驴
美国铁路两条铁轨之间的标准距离是4英尺8.5英寸,为什么呢?因为两匹马臀部之间的宽度是4英尺8.5英寸……垃圾是放错位置的人才……世界上最大的悲剧莫过于有太多的年轻人从来没有发现自己真正想做什么……中小型企业或许能够让你得到更充分的锻炼……从基层做起并不意味着可以从基层的每一个职位做起……要“钱途”,更要前途……
十七、写字楼政治:白领必修课
大公司是做人,小公司是做事……职员能否得到提升,很大程度不在于是否努力,而在于老板对你的赏识程度……公司的事情和秘密永远比你想象的还要复杂和深奥……在适当的时候装糊涂不但是必要的,而且是睿智的……就把你的同事当成一群你可以叫得出名字的陌生人好了……
十八、创业:29岁以前做富翁
瘦死的骆驼比马大……撑死胆大的,饿死胆小的……不再是“大鱼吃小鱼”,而是“快鱼吃慢鱼”……对于趋势的把握是一个创业者最重要的能力……高科技行业留给毕业生的空间已经很小……欲速则不达。在创业以前通过给别人打工而积累经验是非常必要的……市场永远比产品更重要……钱不够花,怎么办?第一,看菜吃饭;第二,借鸡生蛋……
提高C#编程水平的50个要点(转载自网络)
1.总是用属性 (Property) 来代替可访问的数据成员
2.在 readonly 和 const 之间,优先使用 readonly
3.在 as 和 强制类型转换之间,优先使用 as 操作符
4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if
5.总是为自定义类重载 ToString 方法
6.区别值类型和引用类型
7.使用不可变的值类型(Immutable Atomic Value Types)
8.在值类型中,确保0是一个合法的数据
9.理解 ReferenceEquals, static Equals, instance Equals 和 比较运算符(==)之间的关系
10.理解 GetHashCode方法的缺陷
11.在编写循环时,优先使用 foreach.
12.在定义变量的时候就将其初始化
13.使用静态构造函数来初始化静态成员变量
14.用多个构造函数时,利用构造函数链
15.使用using和try/finally来处理资源的释放
16.尽量避免产生资源垃圾
17.尽量避免使用装箱(boxing)和拆箱(unboxing)
18.实现类的 Dispose 方法
19.在接口和继承(Inheritance)之间,优先使用接口(interface)
20.区分接口和重载(overrides)
21.用委托(delegate)来实现回调(callback)
22.用事件(event)来定义外部接口
23.避免返回类内部成员的引用
24.使用元数据来控制程序
25.优先使用可序列化(serilizable)类型
26.对需要排序的对象实现IComparable和IComparer接口
27.避免使用 ICloneable接口
28.避免使用类型转换操作符
29.只有当基类加入了与派生类中现有的函数名称相同的函数时,才需要使用 new 操作符
30.尽量使用 CLS-Compliant
31.尽量编写短少,简单的函数
32.尽量编写比较小的程序集(assembly)
33.限定类型的可见性(visibility)
34.编写大粒度的 web API
35.在使用事件时,优先继承基类事件,而不是重新创建一个事件
36.多使用 framework 的运行时调试 (DEBUG, TRACE, EVENTLOG等)
37.使用.net标准的配置机制
38.使用并且在类中支持.net的数据绑定功能 (Data Binding)
39.使用.net的验证机制 (Validation)
40.根据你的需求选择正确的集合类(Collection)
41.在自定义结构中使用 DataSet
42.利用属性(Attributes)
43.不要过度使用反射(Reflection)
44.创建完整的,应用程序特定的异常
45.尽可能多的考虑程序可能出现的异常,并作出处理
46.尽可能少的使用 Interop
47.尽量使用安全代码 (safe code)
48.多多学习、使用外部工具和资源
49.准备使用 C# 2.0
50.学习 ECMA 标准