好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

我的2007

我的2007

  2007.3~2007.4

2007 年 3 月份回学校 ( 北工大 ) 时,我不知道接下来该做什么,是去找个工作还是创业或者是再学一些新技术(原先一直是在 vs2003 下做开发),接下来看到在学院里的一个公告参加微软的 Image Cup, 于是我就参加了,当时正式参赛的人员已经定下来了,一共是4个人,我和其它二个同学做为后援加入这个 team, 我们一起做了一个基于互联网教育相关的主题的项目,在这个项目中,我主要负责了 web 相关模块的具体设计实现,这次的设计中也应用了我不久前学习的 pd 建模工具,并把整个项目基于 vs2005+SqlServer2005 平台下来,在项目的架构上,应用了动软生成器生成的仿 petshop 的七层架构 , 并在此基础上利用了 .net 2.0 的特性分局类进行了一些改进,在架构的设计方面并没有太多的考虑,轻车熟路,还是比较成功。在项目的开发过程中主要遇到的问题是对 vs2005 里一些新控件的使用,如 updatepanel,mutilview, 以及 sitemap 的无限级分类的实现等具体控件的应用上。另外一个是对 vss2005 的学习使用上,之前在做兼职时,也只是用 vss6.0d ,并没有实际做过配置管理,这次项目从头到尾都自己来,加上另外成员都没有这方面的经验,出现了很多的问题,总的来说这次项目中版本管理基本上没起上用场,因为每个人都是做单独的一块。这个项目结束时,给我的收获是,让我熟悉了 vss 的使用,建模工具,以及 vs2005 中的新特性。

2007.5~2007.6

在做创新杯时就有同学希望叫我帮他做一个简单的网上的产品展示的程序,这种程序当然很简单,如果使用 .net 使用一个 datalist 就解决问题了 , 使用 asp 的话,使用一个 mod 也就可以实现 datalist 的效果,况且之前也都做过这样的程序了,但是我觉得没有新意,当时我一直想学着用一下 nhibernate, 但是所有的教程之类的都是讲的 hibernate, 正巧在 javaeye 论坛上泡了一段时间,对论坛上的一些关于贫血、充血模型的帖子很感兴趣,但是没有实践过,心里总是没有底,于是我就定位使用 struts+spring+hibernate+ajax 这样一套架构来实现了同学的这个网上的产品展示程序,这个程序使我对 ORM 、容器的使用有了一个比较初步的认识,也为我更加深入的学习 .net 做了一个辅垫。

2007.6~2007.7

在上两个项目中我就一直希望能出更多的文档,使用 pd 是能够按照定制输出数据库设计文档,但是可定制性还是太差,亦或许是我还没有研究透(极有可能)。加上原来我使用的动软生成的代码是无法定制的(刚出的新版似乎已经可以自己定制了,没有研究过),于是我在考虑是否使用 codesmith 或 mygenerator 按照我的要求定制输出文档,又鉴于 mygenerator 是开源的,我就在 mygenerator 的基础上进行了二次的开发,我把这个项目命名为 DBSchema2Doc, 根据自己的模块定制输出到 word 或 excel, 这个项目中有一大部分时间花在了阅读 mygenerator 的源码上,另外一部分是程序 UI 的展现上,这中间应用了 DevExpress 的 tree 控件,让我感受最深的是它的文档非常齐备,常见的应用它都有示例代码给你写好并可运行查看,这期件也应用了一些在 codeproject 上的改进控件如 checkboxlist, 使之拥有三种状态。最后这个项目是个半成品,因为这个是个我自己想要的东东,因为马上要进入下一个项目,所以就搁浅在一边了。

2007.8~2007.12

这期间我设计了一个叫做朗志轻量级项目管理解决方案的项目,它的功能就是实现项目进度的管理, bug 的跟踪,任务的分配,知识库,客户反馈等,是我以前的一些经历,让我想到要做这样一个东东,但是做到一半的时候这样的东西原来已经有人做了,并且做的很好,这让我明白了调研原来很重要。但是这次也是做为一个学习的项目还是很有意义的,我负责带大二大三还有研二的共计十个同学参与这个项目,我的角色即是 PM, 又是架构师(虽然有些不象样,但是从中真的学习到很多内容),这次我使用 project 来做任务分配,进度管理,同时在项目架构上使用了简单的三层架及 vs2003( 当时考虑 borland together 只有地 for 2003 的版本,事实证明又是我消息滞后了,那时其实已经有 together for 2005 的版本了,这也给我的成员们造成了不便,因为他们起点就是 vs2005, 没有接触过 vs2003 ,还是有很大的不同的 ) ,另外一点是没有用 petshop 的架构了,因为会给成员们增加负担,让他们理解反射、接口之类的概念。在这个项目中我的收益是巨大的,在技术上,了解并运用 remoting 在 1.1 框架下实现 aop( 改进自 websharp), 参考 2.0 角色控制实现了在 1.1 下基于 RBAC 的角色权限认证及审计操作。同时利用 codesmith 自己写了仿李天平动软的模板(用动软生成的代码在有些类型上有问题,如 guid 型),在团队管理上也给我很大的启发,如何和团队成员之间沟通,怎样把恰当的工作分配给合适的人,原先我应该说是一个话不多的人,经过这个项目,我成了一个挺能说的人了。

2008.1~2008.2

经过上个项目的磨合,这期间我本想带着大家一起到外面接个项目做做,但是低年期的同学们都忙着考试,很是无奈,这时正好同学介绍了一个网站的改版及二次开发的任务,我原本是不想接的,因为之前我在做 asp 时接过一个二次开发的任务做的很不愉快,给我的打击非常之大。但是和客户谈过之后,最后还是接下来来,主要因为前期是一个外包公司做的,程序的代码还算比较清淅,我分析前人的代码及业务流程花了将近半个月。并根据客户的要求,对数据库进行了扩展,在这期间,我也对我要使用的程序的架构进行了分析,再使用动软件那一套三层架构或者是七层架构我觉得都太累了,我不想把长长的 sql 写在代码里了,于是我在找一种 rad 的开法方法或者说是工具,我当时有考虑过用 ibetas.net,nbear,castle, 其中 ibetas.net 的资源最多了,无论是基于 .net 的还是 java 的,都有现成的范例,但是我还是想再看看, nbear 的介绍也很多,但是它的资源或者是范例就比较少了,而且它给我的印象是很好很庞大,什么东西都有,且版本变化比较大,不稳定,真是让人又爱又恨 ,castle 大家对他的评价都不错,但是虽然我有 spring,hibernate 的经验,但对 ror,activerecord 都还是个皮毛,也不敢贸然采用。最后,我选择使用了 subsonic, 应该说这个选择就我目前的水平而言还是非常明致的,这个选择保证了我的项目能够按期完成的关键(本身项目时间很紧,就一个月,而且不能托,因为要过年了),因为整个开发过程主体就我一个人,所以只要我一个人了解怎么使用 subsonic 就行了,不再需要考虑成员、团队的需求。 Subsonic 吸收的 ror 中经验,它给我印象最深的是强类型,什么都是强类型,复杂的查询、分页直接用储存过程及视图,

前两天园子里还有人通告了 subsonic 的最先动态,感兴趣的朋友可以看一看。我之所以这么挺 subsonic 还有一个原因是,客户前面的需求还有一些不明确,后来才和我讲,导致我又要改数据库,而我改动数据库,只需要重新生成一下代码就 ok 了。给了我极大的方便。

查看更多关于我的2007的详细内容...

  阅读:41次