RSS 2.0 Feed
2004-03 Entries
摘要:从高中开始算到今日,我弹吉他已经有八年了。这期间经历的乐队,参加的演出,写的歌曲,真的都已经记不清楚。我只知道当自己选择了软件开发之后,花在弹吉他上的时间越来越少,几年时间内一直在吃过去的老底,再也没认真、正式地练过琴,甚至有段时间都想把这种爱好放弃了。我想自己可能遇到一个瓶颈了吧。 前天晚上我在MSN上和开心聊天时说,自己感到不知该做点什么了,技术上不知该如何突破,找不到下一个应该学习的方向,甚至找不到开发的热情。我想自己可能遇到一个瓶颈了吧。 记得去年在CSDN上看到一篇题为《程序员成长最危险的时刻》的帖子,里面有一段给我留下的印象特别深,我把它引用在下面: 其实程序员成长最危险的时刻不是在你什么都不懂的时候,而是在你懂了一些的时候。开始的时候,你觉得什么都不懂,于是你天天看书,通宵编程。后来你懂了c了,算法数据结构操作系统在学校也学了,用VC 写程序时你边看MSDN边用MFC,觉得感觉还不错;你用Delphi甚至做了一个个像模像样数据库的项目了。至于COM,你懂了一点点,说起来头头是到,虽然没用过。标准C++嘛,你在大学学过基本的C++,工作时用VC,什么继承,虚函数,const,引用,模板你也都用过了。你也听说过设计模式,用过最简单的单件模式什么的,虽然还有很多你不懂的。有的时候你觉得操作系统很有意思,你还写过些多线程的控制系统的东西。可是现在你反倒觉得你什么都不会了,看这别人用VC 写的大系统,你觉得很写的很好,可是你不知道怎样达到那样的水平。你觉得你有很多的东西都不懂,可是你不知道怎么学得更好,有的时候你对编程序都快没激情了,于是你也跟我一样到了程序员成长最危险的时刻。有些朋友觉得已经可以混到饭吃了,就不再努力,这样就危险了! 在CSDN论坛的汪洋大海中,这是一篇再普通不过的帖子了,然而却是这篇普通的帖子给了我最大的冲击,里面的每句话都仿佛在描述一个过去的我。比如说弹吉他,我曾在大学里以两年的时间和无数次翘课为代价苦练了小林克己的那套教材,在演出时能轻松弹一些诸如Hotel California的曲子,然而后来我却没有继续练下去,多年来站在原来的水平无法前进,甚至技艺渐趋倒退;至于软件开发的情形也大体相似。当我对.NET一无所知的时候拼命地看书写代码,到CSDN上去问问题找答案,后来考下了MCAD/MCSD.NET,又做了几个或大或小的项目,自己感觉对.NET (特别是ASP.NET/XML/C#)掌握得已经很不错了,于是就开始松懈起来,开始止步不前。到了后来,我甚至不愿去CSDN问问题,有了疑问后便去查MS KB,查不到就去Google,再找不到就捡一个自己会的解决方案代替了。如此一来,技术长进也就真的遥不可及了。 OK,从现在开始以这篇文章为警示,放弃一切负担,重拾热情,像初学者一样认认真真地去学。如果您在自己的身上也发现了同样的问题,那么就让我们共勉吧。:)...[阅读全文]

posted @ | Feedback (16) | Filed Under [ 技术 ]

摘要:MyMSDNTVLibrary是我以前写的一个小型WinForms项目,当时的想法是为初学者们演示如何创建一个简单但却完整的小项目。今天我又把这个小项目翻出来,通过应用Factory Method模式,使该项目可以支持多种不同的数据源(Access/ SQL Server ...)。大家如果感兴趣可以看我写的这篇文章。   目前我增加了对Access和SQL Server的支持,对其它数据源的支持也可以很容易增加。   BTW:不知大家对MCT领域是否关注,我昨天看到这里正在进行“2004年微软金牌认证讲师”评选。在其中列出的MCT名单中就有我们博客堂的马骐,一位有着四年授课经验的资深MCT(同时也是我的好老师、引路人);此外还有我们博客堂长期以来的好朋友李争(上次聚会时站在我旁边的那个高个子:)。如果大家也和我同样欣赏和佩服这二位MCT的话,那么请支持他们!...[阅读全文]

posted @ | Feedback (14) | Filed Under [ 技术 ]

摘要:前段日子读代码时发现了一个不曾用过的命名空间——System.IO.IsolatedStorage,通过该命名空间下面的一些类(如IsolatedStorage、IsolatedStorageFile、IsolatedStorageFileStream等)可以把应用程序中一些敏感的信息保存在文件系统之外,这让我感到很兴奋。   举个简单的例子,下面这行代码可以在IsolatedStorage(MSDN中译为“独立存储区”)寻找是否有一个名为PersonalFeedList.xml的文件:   if (IsolatedStorageFile.GetUserStoreForDomain().GetFileNames("PersonalFeedList.xml").Length!=0)     {         IsolatedStorageFileStream listLoader=new IsolatedStorageFileStream("PersonalFeedList.xml",                                                FileMode.Open, IsolatedStorageFile.GetUserStoreForDomain());         // TODO: process the FileStream here         }   关于IsolatedStorage命名空间的具体应用大家如有兴趣可以查阅MSDN,我个人认为IsolatedStorage非常适合存储那些应用程序运行过程中产生的临时文件,比如下载到本机需要进一步处理的xml文件。这些文件不便于呈现给最终用户,有些还不能让用户看到(比如一些临时性的密码存储)。由于IsolatedStorage独立于用户的文件系统,因此这种存储方式在某种程度上保证了数据的保密性。   不过此项应用也有诸多不足,最主要的一点是:你不应该用它来存储永久性文件,因为用户可以使用.NET SDK中的storeadm.exe工具删除独立存储区的所有数据,方法是:   storeadm /remove  ...[阅读全文]

posted @ | Feedback (17) | Filed Under [ 技术 ]

摘要:最近有很多初学.NET开发的朋友给我发来邮件,在询问一些具体问题之余还希望能得到一些关于学习方法的提示,末了很多人还会要一些电子资料,并特别强调要中文的,而且千篇一律地会说一句话:“小弟e文很差”。   其实我真的很想和这些“e文很差”的小弟们面对面地好好谈一谈,告诉他们怎样才能度过学习初期的难关,怎样才能满腔热情地去做自己喜欢的事。说真的,我很不喜欢别人说类似“小弟e文很差”这样的话,英语不好可以努力去学,天质不高可以靠勤奋去补,不能因为自己英语不好就“自觉地”把自己关在英文资料大门之外,也不能因为这一项缺点的存在而就放弃努力。我就真的见过这么一位初学者,在和我联系过的几个月后又一次向我表示“小弟e文很差”,天哪,士别三日,当刮目相看,都几个月过去了,你怎么就还没进步呢?   下面我给小弟们讲个故事吧,故事的主人公叫Yngwie Malmsteen,是一位来自瑞典的超级吉他大师(我没说跑题),他小时候立志刻苦练琴的经历绝对值得我们每个开发人员学习。下面一段来自一篇对他的访谈:   有人经常问我是如何提高我的演奏技巧的,在这个问题上没有什么秘密。在我刚开始学琴的好几年中,我除了练吉他之外,几乎不做任何事情。我从早上一醒来就会抓起吉他,一直练习到晚上睡着了,当我再次醒来时会发现手里还攥着吉他。   也许你会觉得他太疯狂了,没错,就是这样的疯狂精神使他一度成为世界上弹吉他速度最快的大师,也就是这样刻苦的经历使他开创了吉他音乐史上的新篇,新古典主义从此诞生。   希望我那些“e文很差”的小弟们能从中体会到什么,希望小弟们能真的少一些抱怨,多一些刻苦。...[阅读全文]

posted @ | Feedback (29) | Filed Under [ 学习 想法 ]