自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Allen Lee's Magic

这里没有答案,顶多给你几个值得一试的猜想。

  • 博客(128)
  • 论坛 (1)
  • 收藏
  • 关注

原创 WP7有约:一个应用的破蛋过程

2011年年度独家巨献,超过半年的写作成果,将近300页的中文教程,全程记录一个WP7应用的开发过程,全新排版,图文并茂,免费下载,不容错失!

2011-05-29 19:43:00 720

原创 Ruby 101:行为驱动

Ruby 101:行为驱动  Written by Allen Lee  写下你的期望       在上一篇文章里,我们创建了一个简易的插件系统,还为它写了一个YAML导出器,这次,我们将会尝试写个SQLite导出器,并探讨开发过程中的遇到的问题。       首先,我们的插件系统会自动装载插件,这意味着,当应用程序启动好后,插件就应该准备就绪了,这既是我们期望

2010-01-27 08:55:00 590

原创 Ruby 101:动态编程

Ruby 101:动态编程  Written by Allen Lee  当method_missing的魔法失效时……       在上一篇文章里,我们通过重写Hash类的method_missing方法把Hash对象模拟成匿名对象,但是,这种做法有时会产生一些莫名其妙的问题,举个例子吧,假如我把process方法(完整实现参见上一篇文章的代码31)的option

2009-12-14 08:24:00 1216

原创 Ruby 101:方法对象

Ruby 101:方法对象  Written by Allen Lee  从方法调用说起       在上一篇文章里,我们看到调用对象的方法实质上是向对象发送消息,下面,我们再来看一个有趣的应用。在Ruby里,字典可以通过 {key => value} 来创建,如果你使用的版本是1.9或以上,当key的类型是Symbol时,创建字典的语法可以进一步简化为 {key:

2009-11-30 08:24:00 1277 1

原创 Ruby 101:对象和方法

Ruby 101:对象和方法  Written by Allen Lee  从静态方法说起       在上一篇文章末尾,我们提到了受保护的静态方法……受保护的静态方法??Ruby的protected不是用来向相同类型的不同实例开放受限方法的访问的吗(忘记protected的用法了?不要紧,回去上一篇文章复习一下吧。),如果把它用于静态方法,那么我该向参数传入什么?

2009-11-03 20:35:00 1351 3

原创 Ruby 101:重用、隐藏和多态

Ruby 101:重用、隐藏和多态  Written by Allen Lee  什么?你不想安装Ruby?       在我决定把Ruby装到我的机子里之前,我想先试一下;在我试用Ruby之前,我得先把它装到我的机子里;在我决定……哎哟,死锁了……       没问题,今天我带上"钥匙"了!现在,请用你喜欢的浏览器打开这个网址:http://tryruby.s

2009-10-15 08:48:00 885 4

原创 Ruby 101:类和对象

Ruby 101:类和对象  Written by Allen Lee  今天开始Ruby ~        虽然仅仅阅读文章也能了解Ruby的语法,但这样就会少很多乐趣,如果你有兴趣学习Ruby,我建议你还是动手试试,与纯粹阅读相比,亲身体验将会有另一番不同的感受。        工欲善其事,必先利其器,想要体验Ruby,就得花点时间配置它的运行环境了。目前可

2009-09-25 08:48:00 992 1

原创 WM有约II(九):再谈部署

WM有约II(九):再谈部署  Written by Allen Lee  当多语言应用程序遇到CabWiz……       创建安装包的方法非常简单,如果你对此没有了解,我建议你先去阅读《WM有约(五):部署应用程序》。安装包创建好后,拿到模拟器里安装,安装好后,你可以在"开始"菜单的"程序"里找到应用程序的图标: 图 1 因为我们在简体中文系统上运行应

2009-04-12 20:48:00 486

原创 WM有约II(八):本地化

WM有约II(八):本地化  Written by Allen Lee  让用户界面支持多种语言       如果你不曾为.NET Compact Framework的应用程序做过本地化,我建议你先去阅读MSDN的《设备的本地化注意事项》,以便了解.NET Compact Framework在这方面的一些限制。       首先,在当前项目里创建一个Resource

2009-04-06 12:48:00 601

原创 F#与FP

F#与FP  Written by Allen Lee  做回你自己       每当提到内向的性格,人们就会联想到"沉默,不爱说话"、"孤僻,不善交际"、"神秘,不够open"等个性特征。就连一些知名的心理学词典也使用了消极的描述来定义内向,比如说,《心理学词典》(Dictionary of Psychology)把内向描述为"专注于自己的思想,回避社会交往,倾向于逃

2009-03-26 07:48:00 453

原创 WM有约II(七):番外篇

WM有约II(七):番外篇  Written by Allen Lee  别让软键盘遮住屏幕! 如果你的手机带有数字键盘或者Qwerty键盘,那么你可能不会遇到这种问题;但若你和我一样偏爱全触摸手机,那么你可能已经受到这种问题困扰多时了。当我们打开软键盘时,它会把屏幕的下部遮住,继而妨碍我们的操作: 图 1 这时候就轮到Orientation Awar

2009-03-03 00:48:00 405

原创 WM有约II(六):分级限制

WM有约II(六):分级限制  Written by Allen Lee  等级制度 在上一集里,我们把发送查询短信息的人分为"联系人"和"陌生人"两大类,应用程序会自动回复"联系人",忽略"陌生人",在这一集里,我们将会引入另外两种类型:"白名单"和"黑名单"。如果你看过上一集,你应该知道"联系人"和"陌生人"是互斥的,它们之间的区别是手机号码是否存在联系人里。"

2009-02-16 22:48:00 833

原创 WM有约II(五):区别对待不同的手机号码

WM有约II(五):区别对待不同的手机号码  Written by Allen Lee  不要删除我的短信息! 试想一下,某天你的朋友给你发了下面这条短信息: 在干嘛呢?早上收到你的东西了,今晚有空出来聊聊吗? 而此时应用程序正在运行,将会发生什么事呢?没错,你的朋友将会收到自动回复,但是,你却永远看不到这条短信息,因为它已经被删除了。能够想象吗,在某些情况

2009-02-08 14:48:00 456

原创 WM有约II(四):你明天有空吗?

WM有约II(四):你明天有空吗?  Written by Allen Lee  你明天有空吗? 在上一集结束时,我们发现了一个新的需求——查询Outlook Mobile的计划安排,由于目前的用户界面已经不能满足这个需求了,于是我们需要对其进行一些调整: 图 1 我们使用TabControl分别安置设置当前状态和查询朋友状态两个功能,其中,查询朋友状

2009-01-30 02:48:00 431

原创 WM有约II(三):整合Outlook Mobile的约会信息

WM有约II(三):整合Outlook Mobile的约会信息  Written by Allen Lee  如何使用Outlook Mobile创建约会? 在着手设计和实现今天的功能之前,我们得先了解一下如何在Windows Mobile上使用Outlook Mobile创建和查看约会信息。首先,打开Calendar,单击Menu菜单项: 图 1 接

2009-01-23 01:48:00 523

原创 WM有约II(二):持续改进

WM有约II(二):持续改进  Written by Allen Lee  自定义"你在干嘛?" 在上一集结束的时候,我们发现一个极其严重的问题——这个应用程序会忽略我们最初希望截获的"你在干嘛?"!这怎么行?好,马上添加一个Configuration.xml: 代码 1 这段配置信息包含了4个截获设置,它们分别用于截获"计算机"版、普通话版、广东话版

2009-01-19 22:48:00 378

原创 WM有约II(一):你在干嘛?

WM有约II(一):你在干嘛?  Written by Allen Lee  "你在干嘛?" 我想大多数读者都收到过这样的短信息吧?有时候我在想,能否为手机开发一个应用程序,自动回复当前的状态?不要让想法只停留在脑子里,因为这样是无法产生任何现实意义的。事不宜迟,我们创建一个智能设备项目试试看吧(创建项目的详细步骤可以参见《WM有约(一):你好,CF》)。项目创建好

2009-01-14 23:48:00 443

原创 WM有约(五):部署应用程序

WM有约(五):部署应用程序  Written by Allen Lee  创建安装包 创建一个新的项目,用来部署Windows Mobile应用程序的项目模板是Other Project Types/Setup and Deployment下的Smart Device CAB Project: 图 1 输入项目名称,然后单击OK完成项目的创建。部署项

2008-12-24 00:48:00 333

原创 WM有约(四):处理屏幕旋转

WM有约(四):处理屏幕旋转  Written by Allen Lee  如果用户旋转屏幕…… 首先,运行一下应用程序: 图 1 接着,旋转一下屏幕: 图 2 噢,"下一次"被挤下去了,屏幕也出现了滚动条,然而,屏幕上仍有许多空白地方未被利用,怎么办?  支持屏幕旋转的控件 以前,patterns & pactices提供了

2008-12-21 21:48:00 475

原创 WM有约(三):下一次是什么时候?

WM有约(三):下一次是什么时候?  Written by Allen Lee  不要留恋过去 怎样才能约束用户,不让其选择过去的日期呢?有一个很傻的办法,就是每次启动应用程序的时候,自动把MonthCalendar控件的MinDate属性的值设为今天。这样虽然禁止了用户选择过去的日期,却带来另外一些问题: 当月之前的日期无法查看。 和选项窗体的Min

2008-12-17 08:48:00 357

原创 WM有约(二):配置信息

WM有约(二):配置信息  Written by Allen Lee  添加配置文件 首先,向项目添加一个Options.xml文件,这个文件将会用来储存应用程序的配置信息: 图 1 接着,把Options.xml的Copy to Output Directory属性的值改为Copy if newer: 图 2 然后,就是为Options

2008-12-14 00:48:00 269

原创 WM有约(一):你好,CF

WM有约(一):你好,CF  Written by Allen Lee  来,和CF打个招呼! 在这个系列里,我将会使用Visual Studio 2008来创建Windows Mobile 6 Professional应用程序,如果你也想在自己的计算机上体验一下,那么请先安装Visual Studio 2008和Windows Mobile 6 Professio

2008-12-10 23:48:00 314

原创 我的书架

有人留意到我左边的阅读栏,发现我一直在阅读非技术书籍,于是来信询问我的书架都有哪些书籍。你是否也想好奇一下?  故事/传记: 股票大作手回忆录 说谎者的扑克牌——华尔街的投资游戏 诚信的背后——摩根士丹利圈钱游戏黑幕 华尔街顶级证券分析师的忏悔 对冲基金风云录 门口的野蛮人:历史上最著名的公司争夺 当和尚遇到钻石 旁观者——管理大师德鲁克

2008-09-07 12:48:00 392

原创 从C# 3.0到F#

从C# 3.0到F#  Written by Allen Lee  缘起 当你看到这篇文章的标题时,你有什么感觉?是不是很想脱口而出:"到底搞什么飞机啊,我C#还没来得及用好,现在又搞个F#,还让不让人活啊?"《程序员修炼之道》曾经建议我们"learn at least one new language every year",但Gustavo Duarte却对这种

2008-07-25 19:48:00 367

原创 我眼中的C# 3.0

我眼中的C# 3.0  Written by Allen Lee  缘起 每次有新技术发布时,我们总能感受到两种截然不同的情绪:一种是恐惧和抵抗,伴随着这种情绪的还有诸如"C# 2.0用的挺好的,为什么要在C# 3.0搞到那么复杂?"或者"我还在使用C# 1.0呢?"等言辞;另一种则是兴奋和拥抱,伴随着这种情绪的还有诸如"原来这个问题在C# 3.0里可以这么简单!"

2008-06-01 10:49:00 270

原创 再获 Microsoft MVP

今天突然发现园子里多了几篇MVP获奖感言的文章,所以也来凑个热闹。连续三次获得MVP称号是个什么样的感觉呢?很难描述,里面夹杂了激动和兴奋,又带上几分高处不胜寒,除了真心地说声谢谢之外,也不知道说什么好了,还是多些点文章比较实际,嘿嘿~很多人有这么一种感觉:我的文章发布的很慢。其实,对于我来说,一篇发得出手的文章,从构思到最终发布,包含写Demo、打草稿、排版和审校等等,平均需要1~2周时

2008-04-03 13:49:00 244

原创 烧水器事件簿 II

烧水器事件簿 II  Written by Allen Lee  缘起 两年前研究.NET事件机制时我写了一篇《烧水器事件簿》,然而,那篇文章存在一个很大的问题,就是Proton的逻辑并不直观。后来,Microsoft发布了Windows Workflow Foundation,我就在想,如果用Windows Workflow Foundation重写Proton,

2008-01-06 08:50:00 656

原创 探索 Word 2007 开发 II(二):引用 Amazon 图书信息

探索 Word 2007 开发 II(二):引用 Amazon 图书信息  Written by Allen Lee  引经据典 写文章的时候,我喜欢引经据典,只要有需要,我就会引用曾经看过的图书。然而,和上一回提到的问题类似,每当我要引用一本图书时,我得首先打开浏览器上网搜索一下这本书,接着把这本书的一些基本信息,例如书名和作者,复制到文章里,然后插入这本书的超链

2007-11-01 07:50:00 491

原创 探索 Word 2007 开发 II(一):引用 .NET Framework Class Library 在线文档

探索 Word 2007 开发 II(一):引用 .NET Framework Class Library 在线文档  Written by Allen Lee  再临之时 每当我在文章中提到.NET Framework的某个类、属性或者方法时,我会为它添加一个超链接,引用.NET Framework Class Library的在线文档。首先,我用浏览器打开MSD

2007-10-20 15:50:00 870

原创 探索 Word 2007 开发(五):部署插件

探索 Word 2007 开发(五):部署插件  Written by Allen Lee  使用ClickOnce发布插件部署包         我不知道你是如何看待VSTO/VSTO 2005 SE项目的部署过程,我个人觉得很繁琐复杂,每当想到这个令人厌烦的过程,使用VSTO/VSTO 2005 SE进行开发的兴致就大为减弱了。现在好了,VSTO Orcas支持

2007-10-07 07:50:00 429

原创 探索 Word 2007 开发(四):上传图片

探索 Word 2007 开发(四):上传图片  Written by Allen Lee  故事缘起         作为Word 2007的一个新特性,博客功能一直让我跃跃欲试,然而,正如大家所知道的,它的一个bug致使通过MetaWeblog API在博客园发布带图片的文章时出错。Ken和TianFang都分别在他们的文章中提到了这个问题,TianFang更进

2007-10-01 08:50:00 534

原创 探索 Word 2007 开发(三):管理侧栏

探索 Word 2007 开发(三):管理侧栏  Written by Allen Lee  问题再现         我在上一回提到了"我的博客"侧边栏的一个问题,现在来看看到底是什么回事。首先,依次打开《探索Word 2007开发(一):我的博客》和《探索Word 2007开发(一):扩展Ribbon》两篇文章;然后,点击任意一篇文章上的My Blogs按钮。有

2007-09-26 20:50:00 760

原创 探索 Word 2007 开发(二):扩展 Ribbon

探索 Word 2007 开发(二):扩展 Ribbon  Written by Allen Lee  Ribbon设计器         VSTO 2005 SE以RibbonX的方式对Office 2007的Ribbon提供了支持,然而,这种支持不够直观,Visual Studio 2008 Beta 2所带的VSTO则提供了可视化的设计器支持,本文将会探讨如何

2007-09-23 21:50:00 695

原创 探索 Word 2007 开发(一):我的博客

探索 Word 2007 开发(一):我的博客  Written by Allen Lee  创建 Word 2007 插件项目         这里,我将会使用Visual Studio 2008 Beta 2所带的VSTO(Visual Studio Tools for Office)来开发这个插件,此外,Office 2007也是必须的。 Figur

2007-09-19 19:50:00 464

原创 探索动态程序集

探索动态程序集 Written by Allen Lee         我相信,当你看到标题中“动态程序集”(Dynamic Assembly)这个字眼时,就冒出了很多想法和问题,然而,在我们深入这个概念之前,先来看看我遇到了什么问题。 1. 发生了什么事?A:我们的客户要处理一组 Shape 对象。B:怎么处理?A:计算其中每个对象的面积。 这点需求实在

2007-06-24 22:50:00 334

原创 凉宫春日的忧郁

      最近在看《凉宫春日的忧郁》,一开始的确挺无聊,致使我产生了无数次放弃继续观看的想法。直到某集给我带来的震惊,我开始为这部动画所吸引。在最后一集里,凉宫终于厌倦了原来的世界,潜意识地要创造一个新的世界,而原来的世界则有可能瞬间灰飞烟灭……看到这里,我不禁想起了曾经看过的两篇文章,那就是demonfox 的《说说》Joel Spolsky 的《你絕對不應該做的事》 

2007-05-03 12:50:00 322

原创 不从 System.Object 继承之后

不从 System.Object 继承之后 Written by Allen Lee 上一篇文章说到 IL 允许创建一个不继承自 System.Object 的类,这打破了我们已有的一些认识。到了这个份上,我们自然会追问,为什么要允许这种类型存在呢?考察如下 C++/CLI 代码: 1using namespace System; 2 3public ref c

2007-01-23 23:50:00 312

原创 System.Object 是 .NET 中所有类型的根吗?

System.Object 是 .NET 中所有类型的根吗? Written by Allen Lee 这不是废话吗?每个人一接触 .NET 就会被提醒任何类型都是直接或者间接继承自 System.Object 的,即使 MSDN 也记录着类似的话。事实果真如此吗?如果你在命令行界面输入 ilasm /?,将会发现这样一个参数:/NOAUTOINHERIT Di

2007-01-22 23:50:00 538

原创 当调用 Remove 失效时 [C#]

当调用 Remove 失效时 [C#] Written by Allen Lee 有没有试过从一个集合里面移除一个对象之后,这个集合仍然留有这个对象?世界之大,无奇不有。稍有疏忽,便会导致这种奇怪的现象。现在让我们看看这个“不死”对象究竟是怎么一回事。 1、“不死”对象现身这个问题起初是我一个同事提出的,为了重现“不死”对象,现把代码简化如下:// Co

2007-01-06 22:50:00 264

原创 .NET Remoting Use Cases and Best Practices [翻译]

.NET Remoting Use Cases and Best Practices Written by Ingo RammerTranslated by Allen Lee        大多数没有直接接触过我的人会假设我认为 .NET Remoting 比其它分布式应用程序的开发方法更有价值。他们也会假设我把 Remoting 当作任何分布式应用程序的万能解决

2006-12-14 22:50:00 273

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除