月经贴20128月9月总结

    最近在做一个相比以前做过的要大的多的项目,考虑到以后模块的扩展以及想把前段时间所学东西都实践一下,在设计时就把原本很简单的工程刻意设计的很复杂。结果陆陆续续做了三四周吧,终于大体完成了(期间为了避免太枯燥,做了几个Metro风格的小程序玩了一下)。由于好多东西都是初次接触不太熟悉,遇到各种各样的问题,堵得自己很痛苦。虽然这段时间把自己逼得很忙,但收获也很大。程序员是个犯贱的职业,不是受虐狂根本做不来,我们的工作和目前的生活状态极为相似,总结一句话:痛并快乐着。

    先来说说数据库吧,大学时期所有专业课里边数据库应该是学得最烂的一门,虽然不想苛责什么,但还是想说一个操蛋的老师是会毁了你对一个新事物的兴趣的,唯一能说道的是多年应试教育培养出来的超强的考前突击能力把该门成绩刷得异常漂亮。毕业这两年一直没有机会用数据库,对它的认知停留在入门级增删查询,至于范式,视图,存储过程,用户自定义函数,触发器,索引,游标等概念早就忘光了。好在项目相对比较小而.Net又提供了Linq to SQL这一神器,项目初期为了赶进度就使用了Linq to SQL回避数据库问题。直到做最后一块,一个ASP的网站的时候才使用了一下视图,存储过程。数据库的产生是为了解决大数量的存储和访问而带来的效率和安全问题,里边所有的技术针对的都是效率和安全,把数据库里所有的技术模块按照这个区分一下,学习起来逻辑思路就很清晰了。一般企业级的应用都沿用了现成的解决方案,像淘宝,百度这种超大型的数据库现成的解决方案肯定无法解决全部问题(这应该是他们数据库采用mySQL最大的原因吧),定制的比大众货好,这在日常生活和其他技术或者框架中屡见不鲜。真想有个平台能够接触一下巨型数据库性能优化。

    Windows Service是一个很实用但很容易被忽略的东西,考虑到一个要长时间运行并与本地特定帐户无关的应用使用Windows service是一种恰如其分的选择。以前一直以为Windows Service只能用C\C++写,这次经历再一次告诉我,语言与技术是两个层面的事,同样一种技术如果一种语言无法做到或者无法很方便的做到,那是一件很丢份儿的事。这两年一直在身边听见语言之争,刚开始还会上去跟人争辩几句,凸现一下自己博学,脸红脖子粗的时候丢下一句话-我不同意你的观点,但我誓死保卫你表达自己观点的权利-然后潇洒走开,后来就傻笑点头同意了,因为每个哥们都说得对,但又等于没说。    至于WCF,这是一个很复杂的但很容易使用的编程框架,它庞大的架构使得要想全面了解它需要付出很大的精力,但良好的封装性及xml配置文件使得它又极易入门。其实封装性好是一件很让人纠结的事,对于一个刚接触的人来说很容易上手无须关注细节,但却极易产生困扰,随着接触时间渐长逐渐试图拨开封装探究它本质的时候,看到是一个又一个坎,而好多坎其实是为了优雅的封装而引入的,无形中增加了学习负担。微软的产品和技术都有这样一种特点,极易入门,异常好用因为它提供了几乎全部能想到的功能,但想要精通就得深入了解这庞大的功能模块,学习曲线会被画的非常平缓且漫长。学习是一件痛苦的事情,而兴趣就像麻醉剂,如果没有几品脱的兴趣,哥们早就不玩了。于是一路上我们见证了身边挨不了疼回头的,没有打麻醉剂死挨死在手术台上的,还有成功挨过去风光无限的,学习是一种信仰和憧憬。

     总觉着WPF从理念上在模仿ASP,确切来说在偷师网站的开发。前端与后台代码分离,很酷的东西,但这也意味着你得重新学习一个DSL(Domain Specific Language).好在XMAL里边的style, template等概念和HTML,CSS等相似,排除WPF较之WinForm多出不知几倍的类库需要学习外,就拿它当ASP.net学习。以前一直很抵触网站开发,总觉着是简单,重复性的工作,纯粹学院派的眼高手低,通过近段时间接触,发现其实做网站挺有意思的。而且ASP.net, AJAX ASP.net等好多设计理念对工程架构很有借鉴意义。

     实践是检验学习很好的试金石,将前段时间所学的上述一切放在一个项目中对混沌了两年的我来说是一个挑战,而每个模块都在具体的开发中遇到了书上或网站上没有涉及或没有关注的问题,通过发现问题,解决问题,我们才会一步一步接触这些技术最核心的东西。技术的学习过程一如应试教育下应付考试,题海战术永远是高分的保证,通过在大量的项目实践中不断犯错,总结,才能更加精益求精,完善自己的知识体系。写到这我默然回首,屌丝也可以牛逼过:乐,勇,博, 如我一样彷徨的你们,咱们当年哪一个高考不是六百多。

http://msdn.microsoft.com/zh-cn/library/hh230827.aspx

原文地址:https://www.cnblogs.com/salomon/p/2693926.html