2008年5月29日

最近想我们小组想做个外设管理软件

            在遇到USB接口封锁和解锁的模块时候,由于我不懂驱动,因此不知道驱动的动态卸载和加载,查了一些资料,驱动可以动态的卸载和加载,而且可以通过API来禁用和启用,但是就驱动的动态卸载和加载这模块还没有底,希望大侠可以指教,我现在最想得到的是有一个测试USB接口驱动的动态卸载和加载的测试代码,嗨,在虚拟机上我已经测试好多方法,曾经也有蓝屏,还好是用的是虚拟机测试的。
            如果哪位大侠有相关的测试代码,恳请能给我发一份My Email:colenming@126.com                            THANK   YOU!

posted @ 2008-05-29 19:55 colen 阅读(128) | 评论 (0)编辑 收藏

2008年4月8日

高手与菜鸟,思想与技术

 

这是个严肃的话题。同样的问题,高手和菜鸟的看法是不同,怎么样不同呢?我们是高手还菜鸟呢?看看以下问题:

对于AJAX:
菜鸟看到的是一种新技术,趋之若骛;高手看到的是javascript的一种巧妙的应用,适可而止。

对于Web2.0:
菜鸟看到的是AJAX,RSS,Tag;高手看到的是以用户体验为着眼点的开发思想。

对于.Net和Java:
菜鸟看到的是格格不入的两大阵营,二者取一;高手看到的是表达自己设计的两种不同的方式,游刃有余。

对于委托和事件:
菜鸟看到的是奇妙的魔法;高手看到的是函数指针和函数指针数组。

对于网页控件:
菜鸟看到的是响应事件的编程;高手看到的是Html生成和页面回送。

对于项目:
菜鸟看到的是数据库和GUI;高手看到的是业务逻辑。

对于图形界面:
菜鸟看到的事Vs.net中看到的所见即所得窗体;高手看到的是Form的一个派生类。

对于算法:
菜鸟觉得是百年一遇的洪水;高手觉得是呼吸着的空气。

........


这样的例子太多了。为什么会用这样的差距?因为:

                        高手看到的是一种思想,菜鸟看到的是一种技术。

         太多次听人说程序员是吃青春饭的,为什么?因为很多程序员成不了高手。总是在追逐技术而不是升华思想。速度是年轻人的特长,而思想则是智慧的结晶。这是个很浅显的道理:你用一个月能够掌握的东西,别人同样一个月可以掌握;你用十年才能掌握的东西,别人不可能用十个月就比你强;你用一个月掌握的东西,可能一年就过时了,而你用十年的心血,是足够你依仗一辈子的。
         偏偏IT就是这么一种不断追逐的轻浮的行业。没有人对离散感兴趣,也没有人研究动态规划。我们该用什么来提升我们的价值??
         对于正在上大学的朋友,我想说:不要急于工作,急于赚钱。从25到65,你用40年的工作时间,为什么不好好珍惜你仅有的4年,好好学习呢?着什么急呢?
         对于为了需要养家糊口的程序员朋友,我想说:不要在技术中迷失,给自己点信念,五年,从算法到OOP,论气概,英雄豪迈,从头再来。

         愿天下程序员皆成高手。

posted @ 2008-04-08 22:02 colen 阅读(152) | 评论 (0)编辑 收藏

学习的方法 转载

 

作为IT业的一员,我们几乎每天都有大量的知识需要学习,有大量的技能等待我们去掌握。几乎从我决定“献身”程序员这一伟大事业之后,我就一直在考虑怎么提高自身的学习的能力(简称学习力),以下两张图作为我多年学习生涯得来的宝贵经验,拿出来和同学们分享。

金字塔.JPG 太极图.jpg

如果你看到的第一张是埃及的金字塔,第二张是中国的太极图,说明我的图片没错:第一张代表“知识的金子塔结构”,第二张说明了“理论和实践的相生相克原理”。

一、知识的金字塔结构。我把我了解的软件知识分成了四个层次:思想,原理,技术和应用,他们之间的关系就像金字塔一样:

知识的金字塔结构副本.jpg 

  1. 思想:目前我觉得能上思想的就两个:算法和面向对象。
  2. 原理:原理就有很多了,比如计算机组成原理,网络连接的原理,操作系统的文件访问原理,GC的运行原理等等。
  3. 技术:这个就数不过来了,比如Asp.net技术啦,Ajax,WPF……这些统统是技术。
  4. 应用:世界上所有机器上运行的代码,都算是应用。

思想到应用的划分没有高低贵贱,而只是抽象层次的不同。

学习的过程,就是通过某一个应用,了解它所使用的技术,进而掌握其中的原理,最后,领悟其中的思想。这大概也就对应了“了解”、“掌握”和“精通”这三个层次吧。所以学习力的高低,在于对高层次抽象的掌握能力。

举个例子:设计模式这最近几年很火,23个模式翻来覆去的有人在讲。我不知道有几个人认真看了,又有几个人能记得住,反正我比较懒,也比较笨。但是笨人有笨办法,面向对象就那么几个概念:“继承”、“派生”、“多态”,说的再具体一点,也就DIP,SRP这么几个原则,大体看看每个设计模式中运用了哪些概念和什么原则,下次在遇到类似的问题,估计就能把这个模式用出去。(PS:此处选择性的忽略了模式在沟通上的意义,呵呵)。

所以要提高学习力,咱们看书就地多看些有深度的书,什么“精通”啦、“速成”啦,就免了。孙子兵法、道德经之类的思想藏的太深,想用在代码里咱没那水平。像《敏捷软件开发 原则、模式与实践》,《深入浅出设计模式》之类的就刚刚好。

可是也千万别认为思想就比应用更重要,没有应用,要思想、原理、技术作甚?

二、理论和实践的相生相克原理。

说完抽象,再看看理论与实践的关系,老祖宗的太极图很形象的说明了这个问题,再看一下:白色代表理论,黑色代表实践:

太极图.jpg

  1. 白色走到头,和黑色接触的就更多:实践多了,更容易理解理论。
  2. 黑色走到头,和白色接触的也更多:理论的东西看多了,就可以更好的实践。
  3. 白色走到头,就会产生黑色:实践的东西多了,自然会有理论产生。
  4. 黑色走到头,就会产生白色:理论的东西多了,自然而然就会想去试试看。

所以我常用的方法是边看书,边写程序,看完书就试着把学到的东西用在项目里。感觉这样能把知识体系穿起来,容易记,不容易忘;写程序写多了就回过头来琢磨一下看看哪儿好哪儿不好,下次肯定会有进步。

posted @ 2008-04-08 22:00 colen 阅读(201) | 评论 (0)编辑 收藏

仅列出标题  
<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

公告

希望大家多多指教!

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

MY BLOG

搜索

最新评论

阅读排行榜

评论排行榜