代码改变世界

随笔档案-2011年8月28日

艾伟:【翻译】使用ASP.NET 2.0记录错误

2011-08-28 23:56 by 狼人:-), 182 阅读, 收藏,
摘要: 原文:http://www.dotnetcurry.com/ShowArticle.aspx?ID=94&AspxAutoDetectCookieSupport=1 使用ASP.NET 2.0记录错误 在我们开发和操作一个网站的过程中不可避免会发生错误和失败的情况. ASP.NET 2.0 提供了跟踪,instrumentation以及错误处理机制来检测和修补程序中的问题. 在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常.我们会这样操作:每当遇到程序错误时,将使用者导航到一个单独的页面.同时,错误将被记录到服务器上的一个文本文件.每当错误发生时,我们将以日志的形式每 阅读全文

艾伟:ASP.NET 与 AJAX的实现方式

2011-08-28 23:56 by 狼人:-), 150 阅读, 收藏,
摘要: Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。 Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土。目前所谓的 Web2.0 网站,基本上没有不使用 Ajax 的,就如使用 RSS 一样,就如同一个标签,贴上去就成了 2.0。Ajax 具体细节不谈,其目的就是让用户触发一些操作的时候,页面不会全部刷新,只刷新待更新的“部分页面”,加载数据的过程中,用 Loading 的图片来表示正在加载数据,不只是看起来挺不错,也提... 阅读全文

艾伟:Visual Studio 2008 到底有多强

2011-08-28 23:56 by 狼人:-), 210 阅读, 收藏,
摘要: 本文通过漫画的方式讲述了Visual Studio 2008的新特性。包括语言级集成查询LINQ,WCF,C#效率优化和更加强健的框架等。 插入数据需要无数个SQL语句支持,而现在,你只需要有一个强大的LinQ巴士,就直接一次性全搞定,方便快捷。 强大的中转站,帮你解决额外的问题,数据传输选择最优路径,完成工作。数据给了WCF,后续的事情就不用在费心了,让它自己去办吧~哈哈 在编辑器里滚动较大的 C# 文件的速度比原来快了一倍,键入新文本的速度是原来的1.5倍. 对C# 中庞大类型的智能感应响应时间提高了至多10倍。 增量生成C++/ CLI 项目解决方案的时间最快可以提高到... 阅读全文

艾伟:学习ASP.NET比较完整的流程

2011-08-28 23:56 by 狼人:-), 153 阅读, 收藏,
摘要: 如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.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非常重要的概念: 对... 阅读全文

艾伟:一个让人遗忘的角落--Exception(一)

2011-08-28 23:56 by 狼人:-), 140 阅读, 收藏,
摘要: 很诱人的标题,今天不是给大家介绍,而是跟大家讨论些问题。 在做开发的这几年中,大大小小的项目也经历了很多,但无论那个项目中,都没有真正的对Exception进行完整的处理。虽然我们在学C#的时候,经常会看到此类的介绍,但我们真的学以致用了吗? 先来看看什么是Exception Exception的解释是异常,每次当我们程序调式的时候,或多或少的会遇到它(如果你的程序没有遇到过,那你是天才)。Richer在它的书中,反复的提到,Exception是对原有接口的一种违背。一开始我反复不能理解,当我真的去考虑这个问题,深入这个主题的时候,我才明白了,它就是一种违背,参数错、对象空等等... 阅读全文

艾伟:Gridview自定义排序且显示上下箭头

2011-08-28 23:56 by 狼人:-), 297 阅读, 收藏,
摘要: 实现功能:单击Gidview列名按该列升序或降序排列,且在排序列上显示向上来向下箭头示意图片 //设置Gridview的AllowSorting属性值为true,即允许排序 AllowSorting="True" OnSorting="gridview1_Sorting" OnRowCreated="gridview1_RowCreated" > //为要排序的列加上SortExpression属性,其值为绑定的字段,如: SortExpression="ID"> //添加Sorting和RowCrea 阅读全文

艾伟:一步一步学WF系列(三)

2011-08-28 23:56 by 狼人:-), 187 阅读, 收藏,
摘要: 1. 写在前面 原本计划从这篇文章开始,开始介绍活动的使用方式,但是考虑到很多在WF中,重要的类和概念都没有清晰,所以还是在本文中继续明确一下WF中重要的类的用法。 这节是纯粹的理论知识,只是为你的后续学习打下一个基础,如果您不敢兴趣,可以略过。 2. WorkflowRuntime类 WorkflowRuntime:工作流运行时。 这个类有四个作用: <1> 管理工作流运行时 <2> 启动和管理工作流实例 <3> 管理运行时服务 <4> 处理运行时事件 A . 管理工作流运行时 管理工作流运行时,涉及到两个重要的方法:StartRuntime和 阅读全文

艾伟:FCKeditor 配置、扩展

2011-08-28 23:56 by 狼人:-), 165 阅读, 收藏,
摘要: 一、自定义 FCKeditor 的 BasePath BasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对其进行配置: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><addkey="FCKeditor:BasePath"value="/FCKeditor_2.6.3/"/> 这样做有诸多优点 阅读全文

艾伟:.NET平台下Web测试工具横向比较

2011-08-28 23:56 by 狼人:-), 236 阅读, 收藏,
摘要: 在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式。借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来。Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试。不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择。目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成。WatiN WatiN是Watir的“应对之作”,使用C#语言开发,不过能够使用任意.NET语言编写测... 阅读全文

艾伟:请不要相信

2011-08-28 23:56 by 狼人:-), 314 阅读, 收藏,
摘要: 1.不要相信Request.QueryString: 相信在asp时代,这个问题比较严重,不信,随便到网络上找几个asp的企业站,找到这种url"view.asp?id=xxx",改成"view.asp?id=xxx or 1=1",相信你会看到不一样的东西,到了.net,应该很少了,不过上次看到有人说CSDN爆过哦,简单的解决方法是在取得数据时做数据类型验证或转换。比如:int ViewID = 0;if(int.TryParse(Request.QueryString["ID"], out ViewID)){//...} 2.不要 阅读全文

艾伟:Web 2.0的后继—Web 3.0

2011-08-28 23:56 by 狼人:-), 205 阅读, 收藏,
摘要: 一、简介 当我们已经熟悉博客、播客、RSS、Wiki、P2P、SNS等这些Web 2.0概念或者名词时,人们已经开始对Web 3.0做起了规划。就如预期的一样,在web2.0大会上,web3.0的讨论成为会议的一个热点。而在web3.0中被提出的观点,则更具有深远意义。它悍足了互联网在人们生活中的地位,会以人们所需、数字化、多维化、更加开放的形式展现互联网。IT企业界也开始对Web 3.0加足了重视,比如Google对Web 3.0的精心布局,目前已经完成了从信息创作、信息组织、信息存贮、信息检索、信息发布、到信息翻译、再到信息服务、以及无线服务Google SMS 的一整条Web 3.0产. 阅读全文

艾伟:一步一步学WF系列(二)工作流与Visual Studio

2011-08-28 23:56 by 狼人:-), 210 阅读, 收藏,
摘要: 1. 工作流的开发风格 在WF中,有三种开发工作流的方式。 <1> Markup-only <2> Code-and-MarkUp <3> Code-only 在这里,我就不想再去花时间去举例子,我们长话短说。 工作流的布局方式是XAML格式,相信了解WPF和Sivlerlight的人对这点都比较清楚。其实这个和WF是一样的。这个就是所谓的Markup-only模式。 而另一个极端是Code-only。我们还是去想WPF中的例子,如果WPF不熟悉我们去想想Winform中的例子,我们想开发一个登陆的窗口,有两种方法,第一种也是我们最常用的一种,是把一些控件拖 阅读全文

艾伟:有关Web 3.0

2011-08-28 23:56 by 狼人:-), 178 阅读, 收藏,
摘要: 很难得,看到园子里有朋友开始关注Web 3.0的概念了。也许很多朋友会认为概念陈述都是虚无飘渺的东西,不如讨论技术来得实在。是的,概念脱离了实际则无异于海市蜃楼,虽然美丽却遥不可及。不过,话也回来,概念的提出或者归纳也许是推广普及的需要,也许是为了创造更大的舞台,Ajax就是一个非常成功的先例。 Web 3.0是一个新的概念,很可惜,我们很难找到权威的定义。不过,从有限的资料中,我们约莫可以猜想到Web 3.0的一些特点: 1、Web 3.0时代的网络访问速度会非常快; 2、Web 3.0时代的网站会更加开放,对外提供自己的API将会是网站的标准配置; 3、Web 3.0时代的信息关联通过语义 阅读全文

艾伟:C#3.0笔记(一)预备知识之Delegate

2011-08-28 23:56 by 狼人:-), 191 阅读, 收藏,
摘要: 在学习C#3.0之前还是先来回顾下委托、事件,因为这样能更加有助于理解C#3.0里面的一些新的特性,如Lambada表达式等。 背景 在C语言中我们可以用函数指针来创建回调函数,但是在C里面回调函数存在一些安全问题。因为它只是在内存地址中记录了下来,并没有像方法的参数类型、参数个数、返回值等其他安全信息。而在.Net FrameWork中,回调仍然是可以的,.net framework中提供了更为高级的更为安全的面向对象的delegate来实现。 定义委托 在委托中主要包含了三个重要的信息: 1.调用的方法的名称; 2.方法的参数; 3.方法的返回值。 定义... 阅读全文

艾伟:让.NET程序脱离.NET Framework框架运行

2011-08-28 23:56 by 狼人:-), 290 阅读, 收藏,
摘要: Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.Net程序脱离.NET框架的方法。 现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Linker 。 另外还有 MaxToCode 作者以前做的 framework linker。 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等。 最后还有某网友(应其要求隐去网名) 兜售的一个实现方法。 Xenocode的是使用了一个虚拟机环境,模拟框架需要的注册表信息和文件信息.Xenocode号称的生成nativa代码功能实际上就是指的这个功... 阅读全文

艾伟:打通.NET 3.5与ExtJS数据交互的任督二脉

2011-08-28 23:56 by 狼人:-), 209 阅读, 收藏,
摘要: ExtJS是一套非常好的UI框架,已经有越来越多的企业级应用程序使用上了这个框架而从中受益。然后,在众多的项目当中,以J2EE项目居多,原因是ExtJS与Java的集成化越来越强。而对于使用.NET平台的开发者来说,想要在自己的项目当中使用ExtJS却困难重重,原因在于数据通信很难达到统一。在.NET 3.5以前,.NET平台提供有限的JSON原生支持。因而很多程序员都是使用第三方的组件。例如LitJson.net组件。 在.NET 3.5中,框架提供了DataContractJsonSerializer类,可以方便地对对象进行JSON序列化跟反序列化。另外,.NET3.5提供了扩展方... 阅读全文

艾伟:正则表达式30分钟入门教程

2011-08-28 23:55 by 狼人:-), 240 阅读, 收藏,
摘要: 本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。 如何使用本教程 最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的——我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住80%以上的可能性为零。这里只是让你明白基本的原理,以后你还需要多练习,多使用,才能熟练掌握正则表达式。. 阅读全文

艾伟:编写自文档化的代码

2011-08-28 23:55 by 狼人:-), 134 阅读, 收藏,
摘要: 文所以载道也。 —— 宋·周敦颐《通书·文辞》 对于我们程序员来说,我们的工作也是写作——几乎每天都要写代码;而且还要载“道”,不仅仅要满足客户的需求,还要让代码具有高度的可读性,这样其他的程序员可以更容易地对代码进行修改和扩展。 按这样的要求,我们需要为代码编写足够的文档,也就是将代码“文档化”。常见的做法有两种,外部文档和注释。 外部文档 外部文档指的是在代码文件之外编写的附加文档,比如在Word文档中采用大量的篇幅(如UML图、表格)来设计或记录相关的包、类型、类型成员、成员参数之类的信息。这看起来很规范,但如果你用过这种方式,一定会讨厌它。这种方式的主要问题在于: 阅读全文

艾伟:一次挂死(hang)的处理过程及经验

2011-08-28 23:55 by 狼人:-), 328 阅读, 收藏,
摘要: 前言: CPU占用率低,内存还有许多空余,但网站无法响应,这就是网站挂死,通常也叫做hang。这种情况对于我这样既是CEO,又是CTO,还兼职扫地洗碗的个人站长来说根本就是家常便饭。以下是一次处理hang的经验及总结,前后用了一个月,不仅涉及程序排查,数据库优化,还有硬件升级的苦恼。其中辛酸苦辣只有经历过的站长才能体会,希望此文能对各位有所帮助! 首先介绍一下网站基本情况,是一个在线小说阅读网站,每天有一定页面访问量,在优化开始前由两台服务器运行,均为Dell PowerEdge 2950,配置为一台Intel xeon E5410 2.33G*2 ,4GB ECC内存,另一台Intel xe 阅读全文

艾伟:Regex.Replace 方法的性能!

2011-08-28 23:55 by 狼人:-), 377 阅读, 收藏,
摘要: 园子里有很多关于去除Html标签的文章。一个常用的经验是使用 Regex.Replace 方法利用正则去替换。这里有一篇使用该方法的文章C#中如何去除HTML标记。下面我贴出该方法的代码,见代码清单1-1 代码清单1-1引用http://www.cnblogs.com/zoupeiyang/archive/2009/06/22/1508039.html /// ///去除HTML标记 /// ///包括HTML的源码 ///已经去除后的文字 publicstaticstringReplaceHtmlTag(stringHtmlstring) { //删除脚本 Htmlstring=Htm... 阅读全文

艾伟:C# Design Patterns (1) - Factory Method

2011-08-28 23:55 by 狼人:-), 155 阅读, 收藏,
摘要: Simple Factory Pattern (简单工厂模式) 特性: 把类的实例化工作,集中到一个「工厂类」去处理,亦即将 new instance 的工作,都交给一个「工厂」去处理,而不要分散写在各个类中。 客户端程序,与创建实例 (对象) 的工作必须隔离,亦即「解耦」,客户端程序只要专注于自己的业务逻辑。适用于客户端程序在开发过程中,尚无法预知要创建的具体类型。 产品具体的实现能和客户端隔离,便于事后抽换。 Simple Factory Pattern (简单工厂模式)、Factory Method Pattern (工厂方法模式),在实作的代码中,有时很难明确去界定此二者。Simp.. 阅读全文

艾伟:[原创]再谈IIS与ASP.NET管道

2011-08-28 23:55 by 狼人:-), 246 阅读, 收藏,
摘要: 在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NET运行时管道的文章,深入介绍了IIS 5.x与IIS 6.0HTTP请求的监听与分发机制,以及ASP.NET运行时管道对HTTP请求的处理流程: [原创]ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI[原创]ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part I[原创]ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part II 很多人留言为何没有IIS. 阅读全文

艾伟:基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现

2011-08-28 23:55 by 狼人:-), 205 阅读, 收藏,
摘要: 本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 申明:本系列课程是专为新手们写来入门练习用的,目的是想通过一个完整的问卷调查管理系统的案例开发来让新手们了解、加深或是熟悉软件项目的开发流程及在.NET平台上使用VS2005和C# 进行Windows方面的编程;在整个课程的设计上,... 阅读全文

艾伟:关于.NET中的循环引用

2011-08-28 23:55 by 狼人:-), 336 阅读, 收藏,
摘要: 在现在开发模式日益增多,框架泛滥的时代里,人们越来越多的依赖于固有的框架模式的开发而忽略了对项目底层架构的理解。所以在部署项目结构的时候,会遇到“循环引用”这个问题,今天我就遇到了。 其实说起来并不复杂,就是我有5个项目A,B,C,D,E,然后我在项目A中引用了B的类,然后又在B中引用了C的类,最后又在C中引用了A中的类,这就构成了循环引用。 那么碰到这样的问题,怎么解决呢? 解决方案一: 我们考虑创建新的一个项目Z,然后分别添加对A,B,C的引用,这样A,B,C只要引用Z就行了。 解决方案二: 也可以创建一个类库项目,然后将A,B,C,D,E,F... 阅读全文

艾伟:老赵谈IL(3):IL可以看到的东西,其实大都也可以用C#来发现

2011-08-28 23:55 by 狼人:-), 329 阅读, 收藏,
摘要: 在上一篇文章中,我们通过一些示例谈论了IL与CLR中的一些特性。IL与C#等高级语言的作用类似,主要用于表示程序的逻辑。由于它同样了解太多CLR中的高级特性,因此它在大部分情况下依旧无法展现出比那些高级语言更多的CLR细节。因此,如果您想要通过学习IL来了解CLR,那么这个过程很可能会“事倍功半”。因此,从这个角度来说,老赵并不倾向于学习IL。不过严格说来,即使IL无法看出CLR的细节,也不足以说明“IL无用”——这里说“无用”自然有些夸张。但是,如果我们还发现,那些原本被认为需要通过IL挖掘到的东西,现在都可以使用更好的方法来获得,并且可以起到“事半功倍”的效果,那么似乎我们真的没有太多.. 阅读全文

艾伟:基于.NET平台的Windows编程实战(三)—— 项目的创建及主界面的设计

2011-08-28 23:55 by 狼人:-), 159 阅读, 收藏,
摘要: 第一步:创建一个新的Windows项目 打开VS2005,点击“文件”-->“新建”-->“项目”,在弹出的对话框里,在左边选择“Windows”,在右边选择“Windows应用程序”,并在下面的名称里输入“QuestionnaireSystem”,选择相应的保存位置后,点“确定”,如下图3-1所示: 图3-1 这样一个新的Windows项目就创建好了。 另:为了整个系统的操作需要,我们为项目新建二个文件夹:一个是DataBase[用来存放数据库文件],另一个为Images[用来存放用户所要用到图片资源],创建方法为:右击项目名称,选择“添加”à“新建文件夹”;创建好后, 阅读全文

艾伟:基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现

2011-08-28 23:55 by 狼人:-), 181 阅读, 收藏,
摘要: 本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 首先,为了使我们的界面更加便于操作及布局,我们引入第三开源控件DockPanel[当然也可以不引入控件而直接进行开发],你可以从这里:DockPanel控件下载其编译好的DLL文件,也可以从这里:http://sourceforge.ne... 阅读全文

艾伟:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计

2011-08-28 23:55 by 狼人:-), 185 阅读, 收藏,
摘要: 本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 大家都知道一个系统的成败与否关键在于其所做的需求分析是否到位,数据库的设计是否合理。因为本系列文章的目的是在于提高大家对.NET Windows编程的实战能力,故不对需求分析与数据库设计作太多的理论说明,有关这方面的知识请大家自行查阅... 阅读全文

艾伟:AOP in Asp.net MVC

2011-08-28 23:55 by 狼人:-), 271 阅读, 收藏,
摘要: 不同的观点,开拓迥然不同的世界. Another point of view can sometimes open up a whole new world. ---- HSBC 本文内容包括: SoC AOP AOP in Asp.net AOP inAsp.net MVC SoC Separation of concerns (SoC) is the process of breaking a computer program into distinct features that overlap in functionality as little as possible. ... 阅读全文

艾伟:闲说继承

2011-08-28 23:55 by 狼人:-), 168 阅读, 收藏,
摘要: 继承已经是一个古老的话题了,不过最近又在一些地方看到有人讨论它,加上自己也有一些想法,因此形成了这篇文章。继承好不好?经典的OO理论说:继承是面向对象的三大基石之一。现代的OO理论说:组合优于继承。这两种说法显然是彼此冲突的。如果组合优于继承的话,那么为什么组合没有取代继承成为OO的基石呢?哪一种说法更有道理?对这个问题,简单的说哪个比哪个更好其实是没有多大意义的。我们应当从技术发展的历史角度去看,这两种说法各自是在什么时期产生的,它们形成的背景是什么,才能对此问题有一个更加深刻的理解。面向对象的思想形成与上个世纪70年代,但真正在软件开发阵营中流行开则是在80年代末和90年代初的时间。巧合的 阅读全文

艾伟:基于.NET平台的Windows编程实战(一)——前言

2011-08-28 23:55 by 狼人:-), 157 阅读, 收藏,
摘要: 本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 前言:本系列文章是一个关于.NET Windows编程的入门实战教程。通过一个完整的真实案例:问卷调查管理系统,全面展示了基于.NET平台的Windows编程方法,内容囊括界面的建立、业务逻辑、数据访问等。 案例背景:大约是3月份... 阅读全文

艾伟:基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写

2011-08-28 23:55 by 狼人:-), 188 阅读, 收藏,
摘要: 本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 大家都知道本系统的正常运行少不了数据库操作这一块,且其在本系统中具有决定性作用,可以说没有它的操作系统将无法运行,故在本节课程中,专门把针对数据库的操作类拿出来讲讲,以便大家更加容易理解后面的课程。 好,进入正题…… 首先,我们来新建一个... 阅读全文

艾伟:ASP.NET安全问题--Forms验证(后篇)--实战篇

2011-08-28 23:55 by 狼人:-), 135 阅读, 收藏,
摘要: 验证流程讲述 我们首先假设一个场景:用户现在已经打开了我们的首页Default.aspx,但是有些资源只能是登录用户才可以看到的,那么如果这个用户想要查看这些资源,那么他就要登录。而且这个用户已经有了一个帐号。(我们本篇主要的话题是身份验证,至于创建用户账户是怎么创建的,我们不关心,方法很多,如直接一个数据库插入就行了!)我们现在就把我们的一些流程说下:1.用户登录,在输入框中输入用户名和密码信息2.点击登录按钮后,到数据库中查询该用户是否存在3如果存在,服务器端代码就创建一个身份验证的票据,保存在cookie中,然后发送到客户端的浏览器4.用户已经有了验证的cookie,那么就页面就跳转到. 阅读全文

艾伟:[你必须知道的.NET]第三十二回,深入.NET 4.0之,Tuple一二

2011-08-28 23:55 by 狼人:-), 165 阅读, 收藏,
摘要: 本系列文章导航[你必须知道的.NET] 开篇有益[你必须知道的.NET] 第一回:恩怨情仇:is和as[你必须知道的.NET] 第二回:对抽象编程:接口和抽象类[你必须知道的.NET] 第三回:历史纠葛:特性和属性[你必须知道的.NET] 第四回:后来居上:class和struct[你必须知道的.NET] 第五回:深入浅出关键字---把new说透[你必须知道的.NET] 第六回:深入浅出关键字---base和this[你必须知道的.NET] 第七回:品味类型---从通用类型系统开始[你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理[你必须知道的.NET] 第九回: 阅读全文

艾伟:C# 4.0下的新特性

2011-08-28 23:55 by 狼人:-), 146 阅读, 收藏,
摘要: 回顾C#发展的历史,C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手;C#2.0加入了泛型,也与Java1.5的泛型如出一辙;C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性;C#4.0增加了动态语言的特性,从里面可以看到很多javascript、python这些动态语言的影子。虽然越来越偏离静态语言的道路,但从另一个角度来说,这些特性也都是为了提高程序员的生产力。至于被接受与否,还是让时间.. 阅读全文

艾伟:如何在ASP.NET项目里面正确使用Linq to Sql

2011-08-28 23:55 by 狼人:-), 157 阅读, 收藏,
摘要: 老久不上来写技术类的东西了,偶尔回归一下吧。(其实,这篇文章8个月前写了个大半,后来一直没有时间去完善,再后来就因为各种原因给放下来了。) Linq to Sql 用的人也应该有些吧,我在cnblogs上面看老赵写的那几篇文章(请看08年9月左右的文章),感觉也很有深度,有不少启发。因此我也打算写一点我自己的实践经验,希望也能同样给大家一些有用的启发吧。 我首先想要问一下大家,Linq to Sql有哪些很特别的地方?这个问题的答案肯定五花八门,我说一下我看到的一些问题吧。 首先,Linq to Sql的基础之一是DataContext,而另外一个基础,则是通过映射产生的实体类,以及这些实体类 阅读全文

艾伟:.NET,你忘记了么?(八)-- 从dynamic到特性误用

2011-08-28 23:55 by 狼人:-), 147 阅读, 收藏,
摘要: 1. 摘要 每个程序员都想写出漂亮的代码,但是什么是漂亮,这个我想每个人都有着自己的看法。那么我就说几种典型的想法: A. 写出别人看不懂的代码,让别人觉得很高深。 B. 写出简短的代码 C. 用最新的语言特性写出代码 这个我不发表评论,毕竟每个人有着自己的观点,我也不能证明自己的就是对的。但是在这里,我想说一些典型的误用。 2. 从dynamic谈起 作为C#4.0的更新之一,dynamic已经越来越被推到了很多技术论坛的第一线。我看了很多关于dynamic的讲解,但是我还是我一贯的观点。既然我们用的微软的东西,那么我们在使用一个语言特性的同时,我们首先要弄清微软为什么要推出这门语言,不要. 阅读全文

艾伟:WM--GPS开发

2011-08-28 23:55 by 狼人:-), 245 阅读, 收藏,
摘要: 前几天,有朋友托我给他写个GPS程序,就取经纬度坐标,以及将之转换成高斯直角坐标。花了一些时间,给他做了个小程序。 后来总结时,想起,很多网上朋友都会问及关于GPS开发的一些事。我这里先将我的程序解释下,然后再总结下,相关经验及个人看法。 目前在一些移动设备中,都提供GPS功能,设备中都需要一个接收器,用来接收GPS信号。(类似于GPRS工作方式)。GPS一旦启动后,会自动连接卫星,接收信号,通过算法计算出位置等信息,然后以NMEA data的格式输出。GPS receiver就是接收卫星信号转换成NMEA data的设备。 开发GPS有3种选择: 1、直接使用串口连接GPS... 阅读全文

艾伟:小巧优美的ORM框架-doodads入门指南[转载]

2011-08-28 23:55 by 狼人:-), 228 阅读, 收藏,
摘要: 关于.net下的ORM框架,大家最为耳熟的可能就是NHibernate了,当然,很多公司正在使用自己开发的ORM框架,笔者至少见过3家不同公司的ORM框架,其实都是大同小异,借助于codesmith、mygeneration等代码生成工具,自己开发一个ORM框架也不是什么难事,关键的问题是,你能不能设计出代码优美简洁、功能灵活、定制方便以及部署容易的ORM框架。 我去年开始热衷NHibernate(与其说热衷,不如说是迷信,因为后来越来越多的证据证明,公司自己的那套用了几年的使用Excel生成实体类的ORM小框架更加适合快速开发,并且灵活易定制),因为当时很多人讨论NH,有的公司招聘的时... 阅读全文

艾伟:在Windows Mobile Emulator建立网络连接

2011-08-28 23:55 by 狼人:-), 186 阅读, 收藏,
摘要: 因为想使用Windows Mobile Emulator进行网络通信程序的测试,所以找方法配置Emulator的网络连接。在网上找了一些文章,很多都说需要安装Virtual PC 2007. 例如下面的文章Enable Network Connection Windows Mobile 6 Emulator 如果需要 Virtual PC 2007 可以在这里下载 http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en 我的配 阅读全文

艾伟:C#4.0初探:dynamic 关键字

2011-08-28 23:55 by 狼人:-), 260 阅读, 收藏,
摘要: C#新增了dynamic关键字,正因为这一个小小的关键字,C#动态特性向前迈进了一大步。dynamic是一个类型关键字,声明为dynamic的类型与"静态类型"(这里的静态类型是指编译时确定的类型,下同)相比最大的特点它是"动态类型",它会运行时尝试调用方法,这些方法的存在与否不是在编译时检查的,而是在运行时查找,如果方法存在并且参数正确,会正常调用,否则会抛出Microsoft.CSharp.RuntimeBinder.RuntimeBinderException异常。看一个最简单的示例: using System; namespace Xianfen 阅读全文

艾伟:Silverlight 2.0在IE6 SP2上的虚线边框问题

2011-08-28 23:55 by 狼人:-), 198 阅读, 收藏,
摘要: 在《Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题》里谈一些Silverlight在浏览器上运行时会出现虚线边框的问题,当时主要考虑了IE7和FireFox,却没想到在ie6 sp2上还是会出现虚线边框,必须鼠标点击一次让其获得焦点虚线边框才消失。 经过测试,发现如果用<asp:Silverlight />引入silverlight来取代直接使用<object>可以避免虚线边框的出现。实际上直接使用<object> 的代码可以完全移植到<asp:Silverlight /&g 阅读全文

艾伟:浅谈 Stream.Read 方法

2011-08-28 23:55 by 狼人:-), 279 阅读, 收藏,
摘要: Microsoft .NET Framework Base Class Library 中的 Stream.Read 方法: Stream.Read 方法 当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。 语法: public abstract int Read(byte[] buffer, int offset, int count) 参数: buffer: 字节数组。此方法返回时,该缓冲区包含指定的字符数组,该数组的 offset 和 (offset + count -1) 之间的值由从当前源中读取的字节替换。 offset: buffer 中的从零开始... 阅读全文

艾伟:ASP.NET内部原理(HttpHandler和HttpModule)

2011-08-28 23:55 by 狼人:-), 181 阅读, 收藏,
摘要: 在以前的ASP时候,当请求一个*.asp页面文件的时候,这个HTTP请求首先会被一个名为inetinfo.exe进程所截获,这个进程实际上就是www服务。截获之后它会将这个请求转交给asp.dll进程,这个进程就会解释这个asp页面,然后将解释后的数据流返回给客户端浏览器。其实ASP.DLL是一个依附在IIS的ISAPI文件,它负责了对诸如ASP文件,ASA等文件的解释执行, ------------------------------------- ASP.NET的HTTP请求处理方法 当客户端向web服务器请求一个*.aspx的页面文件时,同asp类似,这个http请求也会被ine... 阅读全文

艾伟:基于web信息管理系统的权限设计分析和总结

2011-08-28 23:55 by 狼人:-), 215 阅读, 收藏,
摘要: 1、权限的应用对象 上面我们已经定义了权限的范围,就是信息系统管理里面的表单操作,那么权限的应用对象就是表单,更进一步说,就是表达表单内容的web管理页面。 2、权限的分类 一个页面的权限范围分为以下几种,也可以叫做基本权限单位。 l 操作权限:操作权限是一种页面级别的权限,也可以叫做页面权限。包括以下几种 n 新增 n 修改 n 删除 n 查询 在此基础上还可以进行更加详细的一些分类,比如查看他人记录的权限,修改他人记录的权限等。这部分也可以使用下面的记录权限来实现。 l 按钮权限:针对页面上按钮的权限管理,包括 n 是否可见 n 是否可用 有时候,我们可以把按钮权限看作为... 阅读全文

艾伟:ASP.NET安全问题--Forms验证的具体介绍(上篇)

2011-08-28 23:55 by 狼人:-), 135 阅读, 收藏,
摘要: 本篇的话题如下: Forms验证的工作原理 Forms验证中的API Forms验证的工作原理 我们知道,Forms验证主要是基于cookie的,说白一点就是:把用户信息保存在cookie中,然后发送到客户端;再就是解析客户端的发送了的cookie信息,进行解析,然后进行验证。关于cookieless的工作原理和方法,我这里不赘述,大家可以参看我的另外的一片文章:浅谈ASP.NET内部机制(一)。 当匿名用户请求一个需要验证后才能访问的资源和页面的时候,那么如果采用了Forms验证,那么URL授权模块就会把用户重定向到登录页面。而之前请求的URL就会被保存起来,等... 阅读全文

艾伟:简单探照灯遮照效果的Silverlight程序

2011-08-28 23:55 by 狼人:-), 218 阅读, 收藏,
摘要: 最近做SonySource项目时实现了几个很小的Silverlight程序,分别是Clock、HomePeoplePicker和ManageMentPeoplePicker。实际上这三个silverlight程序都非常简单,主要特点有以下几个方面: 1. Silverlight程序和页面上的HTML元素混合在一起,且在特定事件触发后要动态改变Silverlight程序在页面中占的位置及大小,但给用户的感觉是无缝连接; 2. Javascript和Silverlight相互调用; 3. 简单的探照灯遮照效果; 下面就分别对我认为比较不好处理的地方或者一些我费了很多周折才实现的地方做... 阅读全文

艾伟:表达式树和泛型委托

2011-08-28 23:55 by 狼人:-), 255 阅读, 收藏,
摘要: 什么是表达式树? 表达式树又称为表达式目录树,以数据形式表示语言级代码。所有的数据都存储在树结构中,每个结点表示一个表达式(Expression)。要想手动生成表达式树我们需要引用System.Linq.Expressions 命名空间,最重要的一个类是Expression,它是所有表达式的基类。例如: 1:参数表达式:ParameterExpression,就是一个方法中的参数,例如 search(string key),key可以看成是一个参数表达式。 2:二元表达式:BinaryExpression,例如a+b等。 3:方法调用表达式:MethodCallExpress... 阅读全文

艾伟:[你必须知道的.NET]第三十一回,深入.NET 4.0之,从“新”展望

2011-08-28 23:55 by 狼人:-), 193 阅读, 收藏,
摘要: anytao.net | 《你必须知道的.NET》网站 | Anytao技术博客 发布日期:2009.05.22 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处。 /// /// 本文开始,将以《.NET 4.0深入》为主线,开始一段体验.NET 4.0的激动旅程。 /// 总体来说,这是一篇介绍性的文章,不会涉及过多技术细节和研究过程。但是,作为拉开序幕的第一页,本文以提纲挈领的方式展开对.NET 4.0的初次体验。从What’s new的角度,开始我对.NET 4.0新特性的探索之旅。既然是介绍,那么首先给出导航式的链接是必要 阅读全文

艾伟:Web.config配置文件详解

2011-08-28 23:55 by 狼人:-), 225 阅读, 收藏,
摘要: 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xml version="1.0"?><!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 阅读全文

艾伟:jQuery性能优化指南(2)

2011-08-28 23:55 by 狼人:-), 136 阅读, 收藏,
摘要: 1.对直接的DOM操作进行限制 这里的基本思想是在内存中建立你确实想要的东西,然后更新DOM 。 这并不是一个jQuery最佳实践,但必须进行有效的JavaScript操作 。直接的DOM操作速度很慢。 例如,你想动态的创建一组列表元素,千万不要这样做,如下所示: var top_100_list = [...], // 假设这里是100个独一无二的字符串 $mylist = $("#mylist"); // jQuery 选择到 <ul> 元素 for (var i=0, l=top_100_list.length; i<l; i++){ $mylist 阅读全文

艾伟:也谈实体验证(Entity Validation)

2011-08-28 23:55 by 狼人:-), 245 阅读, 收藏,
摘要: 环境: Windows 2008, VS 2008 SP1, Asp.Net Mvc 1.0 ------------------------------------------------------------------------------ 今晚喝茶看片之时,脑子里忽然闪过一个念头,于是打开VS简单的做了一个实现,于是有了本文...是关于实体验证的,嗯,从头开始说吧。 一. 可能是最原始的验证代码 为了让问题尽量简单,我们就拿一个简单得不能再简单的User类开刀吧。 现在我们要在User类里面加一个方法用于验证User实例的合法性,相信很多人写过如下类似的代码: Check()方.. 阅读全文

艾伟:C#基本语法简介

2011-08-28 23:55 by 狼人:-), 168 阅读, 收藏,
摘要: 一、系统数据类型和C#简化符号 和各任何编程语言一样,C#定义了一组内建数据类型。每种类型都有对应的C#关键字、取值范围和作用,如系统类型中表示真实的或者虚假的类型为 System.Boolean,C#简化符号为bool,范围true或false;又如uint对应的系统类型是System.UInt32,范围 0~4294967295,代表一个无符号的32位数。其中bool是遵循CLS(公共语言规范),而uint则不遵循CLS(符合CLS的.NET代码可以被任何托管编程语言使用,不止是C#,还有VB.NET和托管C++等)。 C#内建的系统型有15个,请查看.NET Framework 3... 阅读全文

艾伟:在Windows Mobile上实现自动拼写和匹配建议

2011-08-28 23:55 by 狼人:-), 192 阅读, 收藏,
摘要: 使用Windows Mobile手机的朋友,应该有一个体会,那就是要查找某个联系人,在输入目标联系人名字的过程中,系统会实时按照所输入的内容来筛选,呈现在列表中,供用户选择。同样,如果我们要直接拨打电话,在输入电话号码的过程中,系统也会实时地将输入的号码和联系人库进行比较,将匹配的联系人显示在列表中,供用户选择。 大家不要小看了这一个功能,其实,在设备小巧、需要花费大力气来处理输入和输出的嵌入式设备上,用户对UI的体验是至关重要的。在我看来,这个自动拼写建议是非常有用的,至少目前很多软件(诸如各类输入法等)都有这个功能。那么,如何来实现这个功能呢?如何在自己的应用程序中添加这个Featur.. 阅读全文

艾伟:对 String 的几个错误认识

2011-08-28 23:55 by 狼人:-), 127 阅读, 收藏,
摘要: 昨天调试一段程序发现内存始终释放不掉,最后终于发现是对String 的错误使用造成,这促使我今天又仔细研究了一下String类型,不研究不知道,一研究发现我过去对String 的很多认识都是错误的,感觉这种错误认识还比较有典型性,于是写下此文和大家一起探讨。 1. String 类型变量追加,或修改后的新String对象是驻留(Interned)的。 如下面代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->strings1=" 阅读全文

艾伟:用 IIS 7、ARR 與 Velocity 建置高性能的大型网站

2011-08-28 23:55 by 狼人:-), 264 阅读, 收藏,
摘要: 本帖是研讨会中的一些杂记,搭配一些官方的文档,经整合归纳后,介绍 IIS 7 如何搭配新一代的 ARR (Application Request Routing),建置Server Farm 并达到比过去NLB 更优的Load Balancing 功能,此外还介绍微软新一代的分布式缓存技术 Velocity。 ------------------------------------------------------------------------------------------------------- 过去及目前 Windows Server 中的 NLB (Network Loa 阅读全文

艾伟:WCF中通过Dispose有效实现重用

2011-08-28 23:55 by 狼人:-), 137 阅读, 收藏,
摘要: 在我翻译的InfoQ新闻《WCF的问题和Using语句块》中提到了释放客户端资源(其中包括端口、通道)和关闭连接的问题。新闻并没有很深入地讨论,所以我想再补充一些内容。 毫无疑问,在.NET Framework中,一个资源(尤其是非托管资源)通常都需要实现IDisposable接口。一旦实现了该接口,我们就可以使用using语句来管理 资源,这是最便捷的方式。但是,一旦在using语句中抛出了异常,就可能不会正确完成资源的回收,尤其是连接,很可能会一直打开,既占用了通道和端口, 还可能出现资源的浪费,从而影响系统的性能和稳定性。 微软推荐的最佳实践是抛弃using语句,转而利用 t... 阅读全文

艾伟:[一步一步MVC]第一回:使用ActionSelector控制Action的选择

2011-08-28 23:55 by 狼人:-), 191 阅读, 收藏,
摘要: 本系列文章导航[一步一步MVC]第一回:使用ActionSelector控制Action的选择[一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理[一步一步MVC]第三回:MVC范例大观园[一步一步MVC]第四回:漫谈ActionLink,有时“胡搅蛮缠”[一步一步MVC]第五回:让TagBuilder丰富你的HtmlHelper[一步一步MVC]第六回:什么是MVC(上)? ActionFilter一定是MVC控制中对于Action控制中最值得研究的玩意,在项目实际中我们不可避免的使用例如: HandleError Authoriz... 阅读全文

艾伟:DynamicControl/DynamicField 例外的解决

2011-08-28 23:55 by 狼人:-), 322 阅读, 收藏,
摘要: 在使用 DynamicField / DynamicControl 时,经常在PostBack时,会出现一个例外: The DynamicControl/DynamicField needs to exist inside a data control that is bound to a data source that supports Dynamic Data. 中文为: 绑定到支持动态数据的数据源的数据控件内必须存在 DynamicControl/DynamicField 具体发生原因暂时不太清楚,估计是PostBack的事件流程和页面正常加载不一致。当Post... 阅读全文

艾伟:详解AJAX核心 —— XMLHttpRequest 对象 (下)

2011-08-28 23:55 by 狼人:-), 183 阅读, 收藏,
摘要: 继续上一篇的内容上一篇关于XMLHttpRequest 对象发送对服务器的请求只说到了用Get方式,没有说Post方式的。那是因为要说Post方式就需要先说另外一个东西,那就是DOM(Document Object Model)文档对象模型。JavaScript通过DOM读取、改变或者删除 HTML、XHTML 以及 XML中的元素,可以重构整个 HTML 文档。可以添加、移除、改变或重排页面上的项目,而且这样的操作会马上显示在页面上。另外,所有浏览器执行W3C 发布的 DOM 标准规范,DOM的跨浏览器的兼容问题也就不是问题了。 先来看看下面的这个HTML文档 Code highlighti 阅读全文

艾伟:详解AJAX核心 —— XMLHttpRequest 对象 (上)

2011-08-28 23:55 by 狼人:-), 173 阅读, 收藏,
摘要: 我要说的内容都是非常基础的内容,高手就免看了,如果看了欢迎给点意见啊。新手或者对低层还不是很了解的人可以看看,帮助理解与记忆。 XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始。 了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法: 先看看IE创建XMLHttpRequest 对象的方法(方法1): Code highlighting produced by Actipro CodeHighlighter (free 阅读全文

艾伟:Chart Controls 简介与下载点

2011-08-28 23:55 by 狼人:-), 150 阅读, 收藏,
摘要: 虽然博客园已有人介绍过了,还是忍不住介绍一下微软这套免费又功能强大的图表控件「Microsoft Chart Controls for Microsoft .NET Framework 3.5」。本帖并提供相关软件、文件、官方示例的下载点。 微软在收购了 Dundas 这家优秀的图表组件公司后,日前释出了功能相当强大,而且完全免费的图表组件,名为「Microsoft Chart Controls for Microsoft .NET Framework 3.5」。 过去要在 ASP.NET 或 Windows Form 中绘制图表,可能要花钱买其它公司的组件,或用微软的绘图函式库自己撰... 阅读全文

艾伟:C#类和接口、虚方法和抽象方法及值类型和引用类型的区别

2011-08-28 23:55 by 狼人:-), 228 阅读, 收藏,
摘要: 1.C#类和接口的区别 接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。 但接口是一个行为的规范,里面的所有东西都是抽象的! 一个类只可以继承一个基类也就是父类,但可以实现多个接口 PS: 接口除了规范一个行为之外,在具体项目中的实际作用也是十分重要的,在面向对象的设计原则以及设计模式的使用中,无不体现作为一个接口的使用好处,最直接 的就是设计 原则中OCP(开放封闭原则),我们使用接口,而不需要关 阅读全文

艾伟:C#3.0之自动属性和对象初始化器

2011-08-28 23:55 by 狼人:-), 177 阅读, 收藏,
摘要: C#3.0中定义属性更加方便,不用再在像之前的版本那样的繁琐,需要先定义存储数据的字段,然后再定义属性器,现在只需要定义属性器就可以了,其它的有编译器自动为我们完成,就可以省去定义字段时需要的那些时间;在对象初始化的时候我们可在对象构造的时候实现对象属性的初始化工作,和集合初始化类似。 1.匿名属性 定义属性如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class Employee { pu... 阅读全文

艾伟:用 C# 实现带键值的优先队列

2011-08-28 23:55 by 狼人:-), 283 阅读, 收藏,
摘要: 在上一篇随笔 Timus 1037. Memory management 的“进一步的讨论”小节中,我提到: 这个程序中使用 KeyedPriorityQueue 来存储已分配的“内存块”,使用 PriorityQueue 来存储尚未分配的“自由块”。这两个优先队列的算法是一样的,可以想办法合并。这将在下一篇随笔中讨论。 现在,就开始行动吧。 首先,需要一个接口,用来获取键以及获取和设置值,如下所示: namespace Skyiv.Util { interface IKeyValue { K GetKey(T x); V GetValue(T x); voi... 阅读全文

艾伟:HTML重构:战略篇

2011-08-28 23:55 by 狼人:-), 130 阅读, 收藏,
摘要: 《Refactoring HTML: Improving the Design of Existing Web Applications》是一本精彩的HTML重构指南,作者给出了HTML重构的实践路线和方法。本文是《Refactoring HTML》的读书笔记,按照我的理解将全书的分为:战略篇,战术篇,工具篇。 本文是战略篇:全局方略的角度介绍重构的内涵,原因,时机,目标 嗯哼,我们开始: 进行重构就像打一场仗,而战争的发起是要慎重考虑的,《孙子兵法》里面讲“兵者,国之大事,死生之地,存亡之道,不可不察也。”所以动手重构之前首先要回答下面几个问题: 什么是重构? 为什么进行H... 阅读全文

艾伟:一个让人遗忘的角落—Exception(二)

2011-08-28 23:55 by 狼人:-), 220 阅读, 收藏,
摘要: 在上一篇中"一个被人遗忘的角落"中,跟大家简单介绍了一下Exception,也使大家充分的了解了Exception管理在一个项目中的重要性,那如何在我们的项目中处理异常呢?因为我从事的是Web开发,所以我只跟大家讨论Web的解决方案,Win的解决方式,还希望同大家一起探讨。 上一章中我们了解了异常发生的原因,同时也说了不存在没有bug的程序,任何网站都会遇到各种各样的问题,无论是大网站还是小网站都会存在,但大公司和小公司对待异常的态度全然不同,一个是主动出击,一个是守株待兔,我们是好的开发者,我们不能坐以待毙,我们必须主动出击。好了,废话少说,切入主题。 现在网站一般都采用 阅读全文

艾伟:ASP.NET 2.0的编译模型

2011-08-28 23:55 by 狼人:-), 193 阅读, 收藏,
摘要: ASP.NET 2.0支持两种编译模型(Compilation Model): 一为动态编译(Dynamic Compilation),另一个为先行编译(Precompilation)。 这让程序设计师可以有更宽广的选择以决定不同网站何时该用何种编译模型,不但弹性大大提升,且若採用先行编译网站执行效能还可以更高,分述如下: (一)ASP.NET网站动态编译(Dynamic Compilation) 在ASP.NET 1.0时就已经支援网站动态编译,也就是使用者第一次请求网站网页时,ASP.NET会先将网站程式编译成一个.dll组件档,而后续的请求就会以此来回应,而编译过后的网站执行效... 阅读全文

艾伟:VS 2008快捷键

2011-08-28 23:54 by 狼人:-), 210 阅读, 收藏,
摘要: 编辑: CTRL + M, O:折叠当前源代码文件中的所有大纲 CTRL + M, L:将当前源代码的大纲在折叠与展开间切换 CTRL + M, M:将当前选中的源代码在折叠与展开间切换 CTRL + M, P:将当前源代码文档中的所有大纲信息清除 CTRL + K, C or CTRL + E, C:注释掉所有选中的源代码部分 CTRL + K, U or CTRL + E, U:取消掉所有选中的源代码部分的注释 CTRL + K, D or CTRL + E, D:按源码缩进和标准格式来格式化当前文档 CTRL + K, F or CTRL + E, F:按源码缩进和标准格式来格式化选中. 阅读全文

艾伟:WCF安全之EndPointIdentity

2011-08-28 23:54 by 狼人:-), 189 阅读, 收藏,
摘要: 最近在做一个项目,应用了WCF进行分布式开发,中间还涉及到消息路由器等,好在有WCF提供了强大的基础支持,当然,本身也作了不少的扩展,实际,我 最关心的是WCF的安全问题,网上不少朋友介绍的WCF的安全也是少得可怜,微软发布的WCF Security GUID好像讲得也只是入门级别的教程,离真正应用到项目中还是有很大的距离,这也让我萌发了分享的想法,今天先放出来占个位置吧,有反对的朋友砖头轻 点,呵~,可以告诉你,WCF的安全里,有很多的小秘密,当然还是要告诉你,并且有此小秘密是要自己去体验后才知道,在博客排版方面,李会军(军哥)让人 感觉最舒服,在解说方面,军哥也是以简洁著称,我在这里... 阅读全文

艾伟:C# Design Patterns (3) - Decorator

2011-08-28 23:54 by 狼人:-), 183 阅读, 收藏,
摘要: Decorator Pattern(装饰模式) 装饰模式可「动态」地给一个对象添加一些额外的职责,提供有别于「继承」的另一种选择。就扩展功能而言,Decorator Pattern 透过 Aggregation (聚合) 的特殊应用,降低了类与类之间的耦合度,会比单独使用「继承」生成子类更为灵活。 一般用「继承」来设计子类的做法,会让程序变得较僵硬,其对象的行为,是在「编译」时期就已经「静态」决定的,而且所有的子类,都会继承到相同的行为;然而,若用「装饰模式」以及 UML 的 Aggregation 的设计,来扩展对象的行为,就能弹性地 (flexible) 将多个「装饰者」混合着搭配使用,而 阅读全文

艾伟:C# Design Patterns (2) - Strategy

2011-08-28 23:54 by 狼人:-), 229 阅读, 收藏,
摘要: Strategy Pattern (策略模式) 所谓 Strategy Pattern 的精神,就是将策略 (算法) 封装为一个对象,易于相互替换,如同 USB 设备一样可即插即用;而不是将策略、具体的算法和行为,硬编码在某个类或客户程序中,导至事后的修改和扩展不易。 若有多种「策略」,就将这些个策略,和这些策略的算法、行为,封装在各个类中,并让这些类,去继承某个公用的抽象类或接口。接着在客户程序中,就可动态引用,且易于更换这些不同的「策略」,不会因为日后添加、修改了某一个「策略」,就得重新修改、编译多处的源代码。此即为一种「封装变化点」的做法,将常会变化的部分进行抽象、定义为接口,亦即实现「 阅读全文

Android实例剖析笔记(六)

2011-08-28 23:34 by 狼人:-), 272 阅读, 收藏,
摘要: Android Layout机制 1, FrameLayout 先来看官方文档的定义:FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。 有点绕口而且难理解,下面还是通过一个实例来理解吧。我们仿照Snake项目中使用的界面一样,建立一个简单的FrameLayout,其中包含两个Views元素:... 阅读全文

Android Widget开发详解

2011-08-28 23:34 by 狼人:-), 459 阅读, 收藏,
摘要: 本文和大家重点学习一下Widget开发的概念,本例是为了实现一个手机Android平台的Widget开发,该Widget中的内容是根据输入账号从叽歪网站上获得得。当然,这个过程需要叽歪的API,得到信息后进行处理并显示出来。大体流程就是这样。好了,进入第一步。 Android Widget开发系列(二) 该叽歪账号是测试账号,用户名是“students”,密码是“111111”请不要擅自更改。 2.建立一个Widget Androidreference中有关于如何建立一个Widget的详细方法,这里简要说明一下,详情可以查看AndroidSDK中自带的reference。 ... 阅读全文

Android实例剖析笔记(七)

2011-08-28 23:34 by 狼人:-), 203 阅读, 收藏,
摘要: Snake这个项目把主界面剖成界面UI和游戏逻辑两层,最基础的界面UI部分用父类TileView来表示,子类SnakeView是在TileView的UI基础上,加入相应的游戏控制逻辑,从而实现了两者的分离,这对于游戏的修改非常有用。 UI实现部分 首先来看界面UI部分,基本思想大家都非常清楚:把整个屏幕看做一个二维数组,每一个元素可以视为一个方块,因此每个方格在游戏进行过程中可以处于不同的状态,比如空闲,墙,苹果,贪食蛇(蛇身或蛇头)。我们在操作游戏的过程,其实就是不断修改相应方格的状态,然后再让整个View去重绘制自身(当然,还需要加入一些游戏当前所处状态(失败或成功)的判定机制)。Tile 阅读全文

Android实例剖析笔记(五)

2011-08-28 23:34 by 狼人:-), 192 阅读, 收藏,
摘要: 游戏暂停/继续机制 由于原来的代码中在游戏运行时没有提供控制选项(比如暂停/继续),因此除非你死了,否则只能玩到底。我这里对代码进行一些修改,加入一个Option Menu来提供暂停/继续机制。 首先加入一个变量记录游戏当前状态 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->privateintmState=SnakeView.READY; 然后重载onCreateOptionsMenu函数,创建一个控制菜单项,并对其进行处理,提供暂停.. 阅读全文

Android实例剖析笔记(一)

2011-08-28 23:34 by 狼人:-), 211 阅读, 收藏,
摘要: 开卷语 俗话说,“熟读唐诗三百首,不会作诗也会吟”。最近收集了很多Android的示例代码,从这些代码的阅读和实验中学习到很多知识,从而产生写这个系列的打算,目标就是一步步跟着实例进行动手实作,真正从“做”中体会和学习Android开发。 本文是这个系列的第一篇,目标是Android自带的一个范例程序:记事本,将分为四篇文章进行详细介绍。 预备知识 搭建开发环境,尝试编写”Hello World”,了解Android的基本概念,熟悉Android的API(官方文档中都有,不赘述)。 程序截图 先来简单了解下程序运行的效果 程序入口点 类似于win32程序里的Win... 阅读全文

Android实例剖析笔记(二)

2011-08-28 23:34 by 狼人:-), 207 阅读, 收藏,
摘要: 简介 android提供了三种菜单类型,分别为options menu,context menu,sub menu。 options menu就是通过按home键来显示,context menu需要在view上按上2s后显示。这两种menu都有可以加入子菜单,子菜单不能种不能嵌套子菜单。options menu最多只能在屏幕最下面显示6个菜单选项,称为iconmenu,icon menu不能有checkable选项。多于6的菜单项会以more icon menu来调出,称为expanded menu。options menu通过activity的onCreateOptionsMen... 阅读全文

Android实例剖析笔记(三)

2011-08-28 23:34 by 狼人:-), 160 阅读, 收藏,
摘要: Activity的生命周期 Activity类中有许多onXXX形式的函数可以重载,比如onCreate,onStart,onStop,onPause,那么它们的调用顺序到底是如何的呢?下面就通过一个实验来进行分析。在做这个实验之前,我们先得知道如何在Android中进行Log输出的。我们要使用的是android.util.log类,这个类相当的简单易用,因为它提供的全是一些静态方法: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Log. 阅读全文

Windows Phone 7常用资源大集合

2011-08-28 23:34 by 狼人:-), 147 阅读, 收藏,
摘要: 本文将Windows Phone 7常用的资源进行了整理,方便大家使用。 后续我将会经常更新其中的资源,大家如果有好的资源请留言,我好编辑到本文中。 1.工具下载 在线安装包 离线安装包(推荐) 2.微软官方资料 MSDN Windows Phone首页 微软Windows Phone Portal 微软Windows Phone Home Windows Phone Newsroom Windows Phoen团队博客 Silverlight for Windows Phone Expression Blend 4 for Windows Phone Windows Phone开发者网站 M 阅读全文

Android实例剖析笔记(八)

2011-08-28 23:34 by 狼人:-), 236 阅读, 收藏,
摘要: 和Snake的比较 就界面Layout来说,这个程序其实和Snake没有什么不同,同样是采用了FrameLayout,而且游戏的主界面由一个自定义的View来实现,这里是LunarView。读过上一篇文章的朋友也许会发现,Snake的架构是“定时器+系统调用onDraw”来实现的,这里有一个最大的缺陷就是onDraw是由Android系统来调用的,我们只能依赖它,却无法自行控制。这就好比一个黑盒,当然,总是能把我们要的东西给做出来,可却无法控制其做事的细节,这对于游戏这样高效率的东西可是不利的,因此最好的解决之道当然是把绘制这部分工作自己”承包“过来,告别吃大锅饭的,进入”联产承包制”时... 阅读全文

Android实例剖析笔记(四)

2011-08-28 23:34 by 狼人:-), 180 阅读, 收藏,
摘要: NoteEditor深入分析 首先来弄清楚“日志编辑“的状态转换,通过上篇文章的方法来做下面这样一个实验,首先进入“日志编辑“时会触发onCreate和onResume,然后用户通过Option Menu选择”Edit title”后,会触发onSaveInstanceState和onPause,最后,用户回到编辑界面,则再次触发onResume。 最终通过LogCat可以得到下图: 那么下面就按照上述顺序对此类进行剖析。首先是onCreate方法,一开始先获取导致进入“日志编辑”界面的intent,分析其操作类型可得知是“编辑日志”还是“新增日志”。 Code highlig... 阅读全文

有效控制Android应用程序的耗电量

2011-08-28 23:34 by 狼人:-), 391 阅读, 收藏,
摘要: 在对尚邮架构师的访谈中曾经探讨过移动开发是否要重视移动终端软件的耗电问题,答案是显而易见的!那么如何才能降低Android应用程序的耗电量呢?今天再一次回顾了一下09年Google IO大会Jeffrey Sharkey的演讲(Coding for Life — Battery Life, That Is),同时也讲一下应该如何有效地控制耗电量问题。 首先我们来看看Android手机的电量都主要消耗在了什么地方: 显而易见,大部分的电都消耗在了网络连接、GPS、传感器上了。 简单的说也就是主要在以下情况下耗电比较多: 1、大数据量的传输。 2、不停的在网络间切换。 ... 阅读全文

Windows 2003,XP安装Windows Phone 7

2011-08-28 23:34 by 狼人:-), 224 阅读, 收藏,
摘要: 很早就听说了Windows Phone 7的发布,一直想玩一下,但是很郁闷,公司的电脑是Windows 2003操作系统,而家里的破电脑也只安装了Windows XP系统。但是Windows Phone 7的开发工具只能在Viata和Windows 7上安装。但是还好,经过多方面的努力,还是找到了再Windows 2003和Windows XP安装Windows Phone 7的安装方法,简述如下: 1、在微软官方网站下载Windows Phone Developer Tools RTW: 官方下载地址为:http://www.microsoft.com/downloads/en/... 阅读全文

QtCreator中常用快捷键总结

2011-08-28 23:34 by 狼人:-), 394 阅读, 收藏,
摘要: F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5 帮助模式 Ctrl+6 输出模式Alt+0 显示或者隐藏侧边条,编辑模式下起作用(有时写的函数太长,屏幕不够大,就用这个)Ctrl+Space 自动补全(貌似会和输入法的切换冲突)ESc 切换到编辑模式Alt+1 创建细节窗口Alt+2 搜索结果窗口Alt+3 程序输出窗口Alt+4 编译输出窗口Ctrl+B 编译工程Ctrl+R 运行工程Ctrl+I 自.. 阅读全文

使用QSS动态更换皮肤简单举例

2011-08-28 23:34 by 狼人:-), 755 阅读, 收藏,
摘要: 最近在看QSS的内容,觉得真是一个十分好用的东西,特来做了一个小例子和大家一起学习下。通过QSS可以实现动态更换QT程序的外观。具体QSS的内容请看QT皮肤(QSS)编程,这里有QSS的详细介绍。下面我主要通过一个小例子说明下如何动态变换皮肤的功能。首先,先创建一个test.qss文件,放置在程序目录下,文件内容如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->QPushButton {color:red;background-colo 阅读全文

Web移动应用开发框架的8个技术构想

2011-08-28 23:34 by 狼人:-), 345 阅读, 收藏,
摘要: 之前我们已经介绍过四大主流移动Web开发框架,今天我们再次深入,探讨Web移动应用框架需要具备的技术特性和理念。目前虽然已经有诸如iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit等Web移动应用开发框架,但在移动这个领域毕竟刚刚起步,需要更多技术人员对其修正和思辨。下面这篇文章来自腾讯WSD团队博客,为我们梳理了移动Web开发框架的技术构想。 iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit、Rhodes、gwt-mobile…当我们已经开始惊叹web移动应用充斥着各种各样框架与类库的时候,其实各大web框架才刚刚开始他... 阅读全文

Android应用开发入门五问

2011-08-28 23:34 by 狼人:-), 298 阅读, 收藏,
摘要: 1. Android是什么? Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。 Android 作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。 2. Android用什么语言开发的? Android的SDK(software deve 阅读全文

Android2.2快速入门

2011-08-28 23:34 by 狼人:-), 218 阅读, 收藏,
摘要: 一、 环境配置和安装(Android2.2) 1.1 JDK 1.2 SDK 下载地址:http://dl.google.com/android/android-sdk_r06-windows.zip 1.3 Eclipse 3.5 (Galileo) 下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip 1.4 ADT 0.9.7 下载地址:http://... 阅读全文

关于N900的TXT文本的编码注意事项

2011-08-28 23:34 by 狼人:-), 236 阅读, 收藏,
摘要: N900上TXT文本的编码格式为UTF-8。此格式不用说,是目前兼容性相当好的一种编码。但是比如PC上(特指中文系统的XP、win7等)建立的TXT文本默认是ANSI 所以当存储有中文的ANSI编码的TXT文本在N900上中文显示成乱码,更有可能无法打开(大量特殊符号)。提示系统内部错误,这是因为编码不兼容所致。 当然如果是全E文就不会发上以上问题。 结论是,PC端生成的TXT文本最好另存为UTF-8编码。然后在N900上使用。(N900生成的TXT文本直接是UTF-8编码) 大量特殊符号:ANSI所包含的符号远比UTF-8少,例如全角的·在ANSI编码文本里会无法显示,成为?... 阅读全文

解读iPhone平台的一些优秀设计思路

2011-08-28 23:34 by 狼人:-), 194 阅读, 收藏,
摘要: 本文试图从iPhone的角度结合一些iPhone平台项目的设计经验提炼出iPhone平台的一些优秀设计思路,以供大家在做移动互联网设备设计时参考。 1、移动互联网设备和传统手机的区别 在传统手机时代,标准的通话键、挂机键、菜单键是手机的标配,用户被教育成了用键盘来操作数据,于是我们就养成了使用键盘的习惯,经典的案例就是诺基亚主导的时代。 在移动互联网时代,特别是触屏的大规模应用,手机的功能已经发生了转变,对互联网内容的浏览、下载、消费等等成为主要应用场景,触摸屏成为行业趋势,直接对内容进行操作,在屏幕范围内的点击成为主要的操作。绝大部分操作通过直接和内容交互完成,不要让用户通过中... 阅读全文

Linux下MeeGo源码下载 — repo+git

2011-08-28 23:34 by 狼人:-), 511 阅读, 收藏,
摘要: MeeGo的源码是通过git工具来管理的,我们可以通过源码的git地址进行下载,但是http://meego.gitorious.org/此网址上面提供的都是模块的git地址,如果一个模块一个模块下载的话,那岂不累死,呵呵~所以通过安装repo工具,用repo工具进行全部下载。1.git安装 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->sudo apt-get install git-core curl 2.repo安装 首先在用... 阅读全文

VirtualBox安装MeeGo系统黑屏问题处理

2011-08-28 23:34 by 狼人:-), 277 阅读, 收藏,
摘要: VirtualBox安装MeeGo系统具体过程与VirtualBox虚拟机安装MeeGo车载系统图文教程相同,请查看相关文档,本文主要为了大家解决大家在安装完系统之后出现黑屏无法进入系统的问题。主要参考http://202.112.3.1/wiki/Main_Page网站给出的方法。 这个问题主要是因为MeeGo的X Server出现了问题。MeeGo UI在QMENU中初始化创建GLXPixmap产生错误,而无法顺利进入桌面程序。 解决方法是通过将X Server中的GLX版本由1.4改为1.2,这样初始化UI时就不会去尝试创建GLXPixmap,进而就可以顺利运行图形界面。 具体... 阅读全文

N900快捷键一览表

2011-08-28 23:34 by 狼人:-), 209 阅读, 收藏,
摘要: 为了更有效的利用N900的键盘,整理了N900的快捷键一览表: Ctrl + C 复制文本 Ctrl + V 粘贴文本 Ctrl + X 剪切文本 Ctrl + A 全部选择 Ctrl + O 打开(如果有效) Ctrl + N 新建(如果有效) Ctrl + S 保存(如果有效) Ctrl + Z 取消(如果有效) Ctrl + Y 重复(如果有效) Ctrl + F 打开搜索框(如果有效) Ctrl +右箭头 移动到文本的最后 Ctrl +左箭头 移动到文本的开始 FN + Ctrl 打... 阅读全文

meego中css主题文件的使用方法

2011-08-28 23:34 by 狼人:-), 241 阅读, 收藏,
摘要: 转载时请注明出处和作者联系方式文章出处:http://blog.csdn.net/jack0106作者联系方式:冯牮 fengjian0106@yahoo.com.cn1. qtwidget里面有stylesheet(CSS)的概念,而原始的qtgraphicsview里面,并没有stylesheet概念,到了mtf里面,又引入了stylesheet,但是没有专门的文档进行介绍,我只能参照qtwidget里面关于stylesheet的介绍,在猜测验证的基础上,做出一些总结。也许会有不准确的地方,以后会随时修改。因此,建议先看一下qtwidget中的stylesheet的相关介绍文档。 2. . 阅读全文

N900当初的绚丽宣传片

2011-08-28 23:34 by 狼人:-), 181 阅读, 收藏,
摘要: N900虽然已经发布了一年多,但是,它还是NOKIA最具可玩性的一款手机,当初的宣传片也可以看出NOKIA本想大力宣传这款性能强劲的旗舰机型。 阅读全文

N900开发中的3D重力过山车游戏

2011-08-28 23:34 by 狼人:-), 125 阅读, 收藏,
摘要: 阅读全文

[.NET] 在Windows系统中搭建基于.NET的iPhone应用程序虚机开发环境

2011-08-28 23:34 by 狼人:-), 225 阅读, 收藏,
摘要: 看了这个标题,也许很多朋友认为我是标题党,很多人都没听说过.NET开发iPhone,今天就我就来证实了这一点,而且我已经亲身体会了这一点。在正式开始教程之前,先陈述一下环境搭建的步骤及要点,本环境搭建共需要四个步骤,分别如下: 1. 安装VMWare虚拟环境(你也可以用VBox); 2. 安装Mac OS X(雪豹)操作系统; 3. 安装Xcode和iOS SDK; 4. 安装MonoFramework等.NET iPhone开发框架及工具。 完成以上步骤就一切OK了。在第一步开始之前还需要注意您的机器配置,建议4G内存,2G也凑合,而CPU必须要支持64位及虚拟化,这... 阅读全文

盛大资深软件工程师谈Android开发经验

2011-08-28 23:34 by 狼人:-), 192 阅读, 收藏,
摘要: Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用程序组成,是首个真正为移动终端打造的开放并且完整的移动平台。2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款Google手机,即T-MobileG1,从那个时候起,Android的时代就真正的来临了。 从Android1.0至今经历了多次的版本更新,其中重要的变更是1.5、2.0和2.2。而其他的版本更新相对而言并不是那么重要。另外,由于每次更新都会多少改动包括Dalvik在内的底层模块,同时牵... 阅读全文

诺基亚N900聊QQ的三种方法

2011-08-28 23:34 by 狼人:-), 377 阅读, 收藏,
摘要: 很多人不知道如何用N900上QQ,现在我给大家简单的解说以下三种登陆QQ的方法! 一、PIDGINQQ 首先在程序目录里添加以下2个源(点击查看需要添加的源):这2个源不只是这个软件,以后很多的软件都要用到,这是必添加的源!如果已经有以下的源请略过这步。 然后在程序里搜索"pidgin Internet Messenger"或者直接搜索“pid”,下载如下红框内所示的企鹅程序并安装。然后再下载绿框所示的pidgin language support(这个是中文包)。 全部安装完毕后你可以重启下你的手机,然后打开“更多”那里你刚下载完毕的pidgin,如下图所示: 打开后我们 阅读全文