既然要开始做了,那就要先想好采用的架构,在我考虑再三下,我提出一种大胆的想法:就像开blog一样架站。本来想着买八台服务器,一个服务器上面挂50个站的,后来我提出把它们全部集合到一台服务器上面,就一个站点,每个站点有自己独立的数据库和文件夹,以方便该站大了以后,可以独立出去,也为了某些站点可能有自己的服务器。url上面采用url转发欺骗。数据库还是采用sqlserver,不过每个站点还有一个独立的数据库文件sqlite。当创建一个站点后,有一个总后台可以控制各个站点所具备的功能模块,当子站点登录进行操作后,将会保存二个地方,一份是自己的sqlite数据库,一份是sqlserver的总库,以达到备份的目的,当然,是否往sqlserver里面写数据是可以配置的。这样,只要定时备份一下sqlserver就可以保证几百个用户的数据不会丢了。其中文件信息,我没有提供备份方案。
基本确定方向后,就开始实施了。这个系统总共经历了三次重新推倒 开发。因为到底还是经验不足,程序的架构设计还是很缺的,只是我现在记住了一句话,发现可以重构的时候,一定要进行重构,一定不能等。当然,我的三次推倒都是在简单重构不合意的情况下发生的。第一次只是简单的参考了网上的自助建站系统,当我完成差不多的时候,发现还是有很多功能实现不了,补来补去,没办法。重新推了,连数据库全部重新设计。第二次,比第一次强点,数据库倒是没有重新设计了,只是写着写着,总感觉层次很乱,就又重新写了,不过这次只是做了一些大的层次上面的调整,很多代码还是可以重用的。就在我的第三版把页面显示模板基本完成后,接到通知,财政部款项延期。我哭啊。这时候也到八月份了,一向不存钱的我,资金链出现问题啦。(这个项目是我们自己先做的,因为这算是一个私单,只是金额比较大,为了有把握拿到这个项目,就先把程序给开发出来,原来预计七月份能签下合同的,现在还不确定结局会怎么样呢,还需再等一个月才能确定是否黄掉,对于政府的办事效率,大大失望。)
犹豫了一段时间,决定重新找份工作。还不错,晚上投的简历,第二天面试,第三天就叫我去上班了,公司是做教育软件的,刚进去就做老行当,仿淘宝做C2C交易平台,做了近三个星期,快完成了。
刚来这个公司不久,不做过多的评价。只是感觉我面试的时候保守了。钱又要少了(工作负荷比我预想的要大)。下次一定吸取教训,试用期不谈转正工资,试用期是双方试用的阶段,不只是公司考验员工,也是员工考验公司。都还没有工作,怎么知道公司有任务轻重呢,不知任务轻重,又怎么谈钱呢。等双方觉得试用期合格以后,再坐下来谈其它的,谈的好,签合同,谈不好,大家好聚好散。
写了二天时间,基本上写完了。最后总结一下。
由于之前记事本学习了java和c#,所有基础还算扎实,第一家公司就是看中我的c#基础扎实(自己猜的,那时候我觉得就这点强些)
看的书也还蛮多,范围也还蛮广。学java之前,就学过c,html,falsh等基本的东西,后来学习java,c#,jsp,及j2ee(那时候学习框架就有些想转平台了,因此j2ee很是初级,框架学得不深)其中也看过些关于linux,oracle等其它方面的书,后来就是转向.net了。
在 .net上面,对我影响比较大的就是用记事本学习了《C#和.NET核心技术》,还有就是《ASP.NET 2.0开发详解》,第一个让我有了一个比较扎实的c#基础,后者让我在asp.net开发上学习到了很多,也是我的第一本asp.net 2.0教程。
随后的工作中,将我的很多想法转换成了项目,同时也在网站学到了大量的新东西。较完整的有 Enterprise Library,Linq,asp.net mvc这些新东东,其它比较常见的一些小技巧和小知识就多不胜举了。
最初,可以说是就c#还算过关,其它都不咋的。到后来,有美工朋友向我请教css的问题。到现在,我看人家的存储过程写得很垃圾,性能低下。
感觉自己有时候 还是过于保守,就像这次面试,人家问我div和css怎么样?我回答说,马马虎虎,要真做项目的话,至少给我配个美工吧。(其实笔试题里面就有考到div和css的),问我存储过程会不会写?我回答说,我一般都不用存储过程的,因为之前做的项目没有那么高的性能要求,而且存储过程有时候管理不是很方便,甚至有不严谨的程序员在存储过程内部拼凑sql语句的,有sql 注入的隐患。(之前公司的项目里面都是存储过程,上千个,找起来头疼,我后面加的东西,能不用存储过程就都不用)
基本上通过这次的公司,我能给自己定一个位了,因为公司还有其它几个专业的程序员,还有二个老手,他们的水平,我基本上都有所了解了,我感觉,通过比较,最能体现价值了。
最后再附上点目前的不足:
系统的架构能力,这个可能真的是和经验直接挂钩的,看得再多,好像也没啥进步的。这个也是我现在最想要的。
底层特性,这个说重要也还是很重要的,能让自己看清很多东西。
理论基础,这个没办法,有机会慢慢补上吧。数据结构和算法,感觉就是永远都学不完的。
英语,26个字母发音都不准的我,哪一天能看明白英文文档啊。