于是我便在很陌生的状态下开始去了解这个网站的相关情况,可以说当时的我根本没有工作思路,只是在“摸着石头过河”。经理首先要我做一个产品搜索的功能,这时的我对于ASP只是学了一些基础的内容,要将理论用于实际开发当中还是有一定的难度。而更重要的是,对于开发搜索功能必须要用到的SQL Server 2000,我还根本没有开始去学。
一道难题摆到了我的面前,但工作来之不易,我没有其他选择,我必须去解决。所以每天下班后回到住处我便狂攻ASP和SQL Server 2000,往往到夜里十二点多甚至一点多才休息,然后第二天又精神抖擞地去上班。也许是因为新鲜,也许是因为当时的精力还不错,我当时竟不觉得累。
但是也许是因为此时的我正被学习技术的念头强烈地影响着,我并没有往其他方面去多想,就觉得只是男女合租这么简单。每天晚上我还是狂啃ASP和SQL Server 2000至深夜才睡,好几次欣看见我在那个小厅里如此“挑灯夜读”,都叫我不要那么晚了,要早点休息。她有点奇怪地问我为什么要那么拼力学习,我不知如何回答她,每次都只是对她笑笑,然后谢谢她。也许是从这个时候开始,我慢慢地脱离了真实正常的生活,而走进了无数个敖夜学习的不正常作息的日子。也是从这个时候开始,我的身体状况慢慢地差起来了。
虽然是春节假期,但我仍然没有忘记学习技术,还是一有时间就拿出ASP和SQL Server 2000的书本来学习,我似乎已不知道工作之外还有生活,或者说,我暂时已没有了去讲生活的条件,所以必须以拼力地学习技术来改变。但是,这时的我还不知道,要想有更好的工作和生活,有时学习技术并不是一条行得通的路,反而是其他东西更重要,比如社会阅历或关系。
短暂的春节假期过后,我又回到了朝九晚六上班的日子。经理给我布置了新的任务,要我做一个日历,并通过日历的某一天可以将当天的产品查询出来。经过这段日子的学习积累,我对ASP和SQL Server 2000开始上手了。我发挥我的逻辑思维,配合所学的知识,完全用ASP将日历做出来了,然后用ASP搭配SQL Server 2000,也实现了日历的产品查询功能。
从学习JavaScript和ASP开始,慢慢地,我也形成了适合自己的一套特别的学习方法──当然这是对书本的学习而言。学习的过程中我会拿出一个本子,边看书本的内容边将那些关键的知识点在本子上写一篇,然后我就可以很牢固地记住这些知识点,而不是边看书边上机操作。正是通过这种方法,我学完了JavaScript、ASP和SQL Server 2000那三本书,而且学完之后上机实践时我都能够很好地将书本上的理论知识跟实际操作对接起来,而不会出现理论知识跟实际操作脱节的情况。所以在学习ASP.NET的过程中我也同样是用这种方法。
Access 2000与SQL Server 2000相比,还是有很大的不同,这可以说是两个几乎完全不同的数据库,所以我必须先对Access 2000作一番了解后才能使用它。
Access 2000要比SQL Server 2000简单得多,借助搜索引擎网站的强大的搜索功能,我找到了有关Access 2000的使用说明,并花了几个晚上的时间来学习。有了SQL Server 2000的基础,Access 2000学习起来可以说是轻而易举,我很快就学上手了。此外对于防止Access数据库被下载的问题,我也作了一番详细的了解。
准备就绪后,我便正式开始这个票务网站的开发工作了。我“依瓢画葫芦”,根据公司网站的SQL Server 2000数据库,创建了这个票务网站的Access 2000数据库。这项工作并不难,关键是要将SQL Server 2000数据库中的表和视图转成Access 2000数据库中的表和查询。
有了网站首页页面作参考,其他页面就可以在编码的过程中同步制作。这个票务网站的定位是要跟公司网站类似,所以其程序和功能都可以参照公司网站的程序和功能来做。经过我之前对程序代码重组后,此时公司网站程序的源代码全部都有了,但最大的问题却是,公司网站用的是SQL Server 2000数据库,程序中涉及数据增删改等与数据库交互的地方都是用存储过程来实现的,但Access数据库并没有存储过程的功能,所以这些地方统统需要作修改,改为直接用SQL语句来实现。公司网站程序可以说就是与数据库紧密交互的一套程序,所以几乎所有地方都要作修改,这是一项工作量很大的工作,我需要一定的时日才能完成。
选择Access 2000数据库,虽然使我多做了很多工作,但在这个编码的过程中,却使我更深刻地理解了Access 2000和SQL Server 2000两者的异同,从而使我在存储过程的编写和应用方面有了更深的认识,以及获得了更多的ASP.NET程序发开方面的实践经验,更深入地掌握了ASP.NET编程的方法。这些对我来说是很有意义的。
前后历时三个多月后,终于在9月初的时候,我将这个票务网站全部开发完成了。原来公司网站中有一些不够完善的地方,比如管理后台中部分没有经美工处理的页面,在这个票务网站中我都将其完善起来了。如果不考虑数据库Access 2000与SQL Server 2000的问题,我自认为这个票务网站不比公司网站差,甚至更胜于公司网站。
最后,跟华作了一个简单的告别后,我便离开了这家公司。虽然在这家公司的时间也同样很短,而且离开的时候还发生了这点不愉快的事情,但是在这里我还是学到了一些东西,比如对VS2005使用的掌握、多人共同开发时使用Visual Source Safe(简称VSS)对源代码进行版本控制、Windows Server 2003作为Web服务器的配置等。
锋给我介绍说,系统用了一个叫ORM.NET的代码生成器来生成数据访问层(简称数据层)的代码,只要在SQL Server 2000中将数据库的表、视图、存储过程按一定的规则建好后,就可以用ORM.NET来生成数据层的代码,对于对表数据的查询、插入、更新、删除,对视图数据的查询,对存存储过程的调用,等等,都可以直接调用代码中相应的方法,这就免去了要手写相应代码的繁琐,提高程序开发的效率。锋重点给我介绍了ORM.NET的使用及如何调用生成代码中相应的方法,此外还大概介绍了系统的架构及系统各部分的基本情况。看得出来锋的技术水平应该还不错。
被王经理安排与洪共同解决银行数据处理引擎问题的那位同事,是一名刚入职不久的新员工,也是东北人,听洪说那哥们在SQL Server 2000数据库方面的能力很强,大概正因为如此,所以王经理才临时安排他来配合洪去解决银行数据处理引擎导入数据速度过慢的问题。也大概是因为那哥们觉得自己在SQL Server 2000数据库方面的能力很强,我觉得他有点狂。
在洪和那哥们的配合和努力下,他们终于初步实现了提高数据导入速度的突破。他们用了一种完全不同的方法:在SQL Server 2000中,利用已编写好相应SQL程序的存储过程,先将以文本文件格式保存的原始数据直接导入到兑换系统的数据库中,再在数据库中对数据进行处理并将处理后的数据写入到相应的表中,这样就可以大大提高数据导入和处理的时间,从而提高数据导入速度。
银行数据处理引擎导入数据速度过慢的问题,软件公司并不能解决,在祁总作出新的人事安排之前,我曾建议由公司着手安排内部开发人员接手银行数据处理引擎的开发工作,真正解决数据导入速度过慢的问题,所以当时在王经理的安排下,由管理系统组一位新入职的同事和洪配合,在春节放假前开发出了新的导入数据的方法,初步实现了提高数据导入速度的突破。他们所开发出来的新方法就是:在SQL Server 2000中,利用已编写好相应SQL程序的存储过程,先将以文本文件格式保存的原始数据直接导入到兑换系统的数据库中,再在数据库中对数据进行处理并将处理后的数据写入到相应的表中,这样就可以大大提高数据导入和处理的时间,从而提高数据导入速度。
那位同事在SQL Server 2000数据库方面的能力很强,导入数据的新方法开发出来后,他也可以功成身退,剩下的工作就由洪去处理了。