偶然发现5年前的编程实习日记,特与博客园同仁分享一下
今日,研究QQ的一些应用,在我的网络硬盘中,偶然发现以前在大学的时候为了做毕业设计而产生的一系列文件,突然有了很多的感慨,尤其的里面有一篇“实习日记”,突然想到自己从事编程已经有7年了。也是从菜鸟走来,特发出与博客园诸位同仁共勉。
________________________________________________________________________________________________________________
实习日记
日期:2005.12.5 阴有小雨
今天应我们公司的客户东风柳汽销售公司要求,在原有的系统上(注:公司刚为东风柳汽开发完毕售后服务系统)增加论坛模块,该模块公司分配给我做,这个模块对于增个系统来说只是一个附加模块,但实现起来并不容易,更何况我是菜鸟一个,关键是后台数据库要用ORACLE,真是倒霉,我看过很多论坛,都没有见过有ORACLE为后台的数据库,先到网上逛逛看看有没有合适的例子栽下来研究一下。
日期:2005.12.6 晴
昨天真失败,找个很久都只有SQL SERVER和ACCESS为后台数据库的,没有ORACLE的,怎么办呢?看来要找个方便移植的例子才行呀,怎么才算移植性好呢,按我的理解,最好代码中只有SQL语句的,没有涉及到存储过程的,因为数据库基本上支持SQL语句,但是存储过程就比较难以移植,按照这个思路,从网上找一下用ASP,NET做的、后台的SQL SERVER 的,里面全部用SQL语句而不涉及到存储过程的程序示例。
日期:2005.12.7 晴
真是黄天不负有心人,总于给有找个到了要用的东西。ASP600论坛,有良好的分层架构,而且数据访问层全部用SQL语句,好想有两个存储过程,不过仔细研究了一下代码,发现并没有使用这两个存储过程,真是天助我也,看来我要对这个论坛进行改造了,先把前台的LOGO换成我们的图片,在替换些CSS,恩,看起来,界面的整体色调变了很多,好可以应付一 下。
日期:2005.12.8 晴
今天看来要对数据库进行彻底的移植拉,先把表结构从SQLSERVER导到ORACLE中,改掉数据库连接字符串,一测试数据库读不出来,一看程序,问题还不小,原来的程序的数据库访问层用的是SQLCILINT 怎么可能认识我的ORACLE数据库呢,看来移植可不是那么容易呀,幸好在。NET中有另外一个访问组件,专门用于访问ORALCE数据库的,而且有相同的接口。真是爽。
日期:2005.12.8 阴有小雨
今天继续数据库移植,经过一番查找替换,SQL SERVER的接口全部换成ORACLE的,效率真是高呀,一测试,效果比较理想,可以读出原数据库里的一些内容,如版块信息等等,先注册一个用户看看,提交后,出错,经过逐步调试发现,在插入新记录时发生异常。查看异常信息,原因的不能ID处插入空值,我从数据库里查看,原来ID是主键,这时我想起来在原来的SQLSERVER中,改值可以自动增长,但是在ORACLE中,可没有这种机制,真是麻烦,痛苦中。
日期:2005.12.9-10 晴 休息
日期:2005.12.11 晴
所谓兵来将挡,水来土掩,看来要求助于互联网拉,经过一阵神搜,发现有中在ORACLE里的替代方案就是建立序列对象,然后在该表建立插入触发器。看来ORACLE还真麻烦,哎,这么麻烦,硬着头皮上吧,一个表一个序列,一个插入触发器,经过两个小时的努力,终于弄完了,测试了一下,基本上也实现了数据的插入,总算大工告成了。
日期:2005.12.12阴有小雨
测试了所有的板快发现还可以,基本上达到了预期的效果,论坛发贴,回复,留言 还有后台的管理都可以正常使用,就是发邮件还有些问题,算了不理拉,把该功能删除,反正也没有多大的作用,增加了相应的几个板快,如技术讨论,业务咨询等,然后打包,一切OK,我的独一无二的ORACLE版论坛终于问世了,哈哈。
日期:2005.12.13 晴
经过一个多星期的努力,也学到了不少的东西,在此总结一下,首先一个程序的架构是 很重要,要有分层的思想,每层都有自己的职责,这想的话,程序很容易维护,如果数据库发生修改的话可以只针对数据库访问层的相关代码进行修改,而不必来回转,另外发现异构数据库中的存储过程很难移植,但是如果考虑到性能的问题又不得不考虑存储过程,这就看如何看待这个问题拉。
日期:2005.12.14阴有小雨
今天有一重要使命,去东风柳汽更新系统,顺便把我的新版论坛也加上去,走到柳汽,计算机科的办公室和我们的办公室真是不一样,人家都是液晶显示器,想起我们做开发的烂机子,就觉得不爽,没有办法,谁让人家是大公司呢,安装过程还算顺利,没有出现什么问题,将论坛数据导入到柳汽的数据库中,然后改一下配置文件,简单地培训了一下论坛的使用,就回公司了。
日期:2005.12.15 晴
今天总算比较轻松了,在网上逛逛,发现一种新技术,叫ORM,中文名就对象关系映射,在JAVA领域里已经很流行,但是在。NET领域才刚起步不久,主要的功能是根据数据库里面的表和程序集中的实体类进行映射从而实现对数据库的CURD操作,既不用写存储过程又不用写SQL语句,正好解决我前面遇到的难题,比较麻烦的是要写很多配置文件,不过这样的话,数据库移植以及维护都变得非常的方面,看来我得好好研究一下。
日期:2005.12.16-17 晴 休息
日期:2005.12.16-18阴有小雨
今天在研究ORM过程中,发现了一个很好的东西,就是听棠写的SPL,堪称国内最好的ORM组件,已经封装了实体类的CURD操作,使用简单,易于上手,而且写好了一个工具可以自动读取数据库生成相对应的实体类和配置文件,我决定用它来对一个小型项目进行数据库移植,看看移植的代价大不大,后经过测试发现其对ORACLE里的CLOB等大数据类型不支持,分析其原代码可以看出它的访问机制是用OLEDB,而OLEDB不支持对CLOB等大数据类型进行读取,看来我还是看看其他的ORM组件吧。
日期:2005.12.19 晴
今天还是继续研究ORM,在WWW.BAIDU.COM打入“ORM”,资料还真不少,不过大部分都是外国的,最权威的要属NHB了,借着HB在JAVA的风光,挺进NET阵营,规模比较庞大,不过基本思想都是从JAVA中转移过来,可以我不太懂JAVA呀,郁闷,不过看了其源代码,也略知一二,其基本思想是通过程序中的类和数据库中的表,进行一一映射,然后通过对类进行操作,动态构造SQL语句,来实现对数据库的操作。
日期:2005.12.20 晴
今天还是继续研究ORM, 上面提到ORM是通过对类进行操作,动态构造SQL语句,实现对数据库的操作,但是也不能忽视一个问题,就是效率问题,在复杂的业务逻辑中,这的必须面对的,很对人比较趋向于将复杂的业务逻辑写到存储过程中,ORM不提倡使用存储过程,因为存储过程难于一直移植,特别在应用程序中,如果数据库类型要更换,存储过程都将必须重写,而使用SQL语句的话,各个数据库对标准的SQL语句都支持,看来还要进行进行一些取舍。
日期:2005.12.21 晴
今天还是继续研究ORM,复杂的业务逻辑必须要用存储过程,幸好NHB提供这方面的接口,但是不是很方便使用,看来我还要进行必要的封装才行,写一个组件将一些基本的操作进行封装起来,然后其他的程序进行调用,先去网上看看有没有合适的资料提供一些具体的思路,于是就去WWW.CODEPROJECT.COM看了看,我平时遇到什么问题都去那里看看基本上都能找到思路,可是这次失败了,那里只有一篇关于NHB的,真是郁闷!
日期:2005.12.22 晴
林锐说的很对“客户的需求是勇无止境的”,我算是体会到了,柳气那边,又不断传出新的需求,东改西改,我们的项目也不知道在年前能否验收,痛苦呀,我还指望年前可以发奖金呢,有些改动是可以的,但是有些改动却要大动筋骨,所以开发容易,实施难呀。
日期:2005.12.23-25 休息
日期:2005.12.26阴有小雨
刚过完圣诞,柳汽的工作还得继续做,真希望能早点验收,报表又出问题了,还得改,其实在BS结构下打印就是一件很麻烦是事情,因为它不向CS结构下可以为客户做个报表设计器,真是头痛,客户的打印机打印的设置又是千奇百怪,结果在套打的时候对不齐的情况常有,但是客户不管你怎么多,他们也不懂,真是麻烦事情,哎!
日期:2005.12.27 晴
没有办法,客户又有新的需求给每个业务单据的界面加上文件上传,客户要求要能支持上传
日期:2005.12.28 晴
寻找上传大文件的解决思路,在网上找了一下资料,基本思路就是通过分块上传的思路,看了思归的分块上传思路,但是思路毕竟是思路,还没有经过实际的使用,我再看看有没有现成的,有个上传组件,但是是要钱的,算了,去外国的网站,找个找还真找到了,还有原代码,上传进度条,真是爽,开来我有救了。
日期:2005.12.29 晴
经过一番测试,我的上传组件已经进入使用阶段了,将所有的单据录入界面加上上传,在配上进度条,真是专业,哈哈,爽,下午去柳汽安装新的版本,替换上去我的上传,等待着上传进度条出现,突然,弹出一个对话框,文件上传失败,一查错误日志,原来是拒绝访问,估计是用户在保存文件的文件夹下没有写的权限,哎,真是麻烦,不过这是个小问题,加上写的权限就OK了。
日期:2005.12.30 晴
实习快结束了,应该想一下毕业设计的事情了,做什么系统好呢,现在还是一头雾水,呆在这软件部,就有六个同事,也不见得在信息系统方面有什么需求,到使经常帮其他公司开发信息系统,要不把现在给东风柳汽的系统给一下做成我的毕业设计,但是好想也不好,这毕竟不是我一个人的作品,还是做其他的系统吧,现在一般比较流行的就是ERP、SCM、CRM、OA等,在其中属OA比较轻量,看看有没有相关的资料研究一下。
日期:2005.12.31—2006.01.04 晴
元旦放假
日期:2006.01.05 晴
从网上找了一些与OA相关的资料,还真不少,比较小型的,没有什么价值,中大型的开起来又过于庞大,比较有名的国产OA,就是大连奥远的新思创OA,系统结构是采用B/S结构,开发语言为PHP,数据库为MYSQL,真的好,利用免费的软件开用跨平台的程序,这在软件研发费上又少了不少,而且市场又吃遍了所有的操作系统。真够强!
日期:2006.01.06 晴
但是我对PHP和MYSQL虽然做过一段时间的研究,但是并没有实际 使用过,没有太大的把握去做这个系统而且原代码都经过加密,没有什么参考价值,不过界面和流程还可以借鉴一下,界面做得还可以,至于工作流程也经过许多实际考验的,应该也没有什么问题,但是在原代码方面我还得找一下,看看有没有相关的NET语言下的OA程序来研究一下。
日期:2006.01.07---2006.01.08 晴
刚放完假又是周末,真是爽
日期:2006.01.09 晴
听到许多大学的学生已经签了,我的心里也是紧张呀,可我们学校的同学签的很少,看来得抓紧了,我工作这么久了,多少也有一些经验,应该没有什么问题吧,但是还得推销一下自己,于是乎,在国内一个有名的程序员交流网站申请了一个博客,然后就准备做一份图文并茂的简历,怎么说我也给别人做了很多网站程序了,可是美工很不好,先下载个模板,然后把我的资料和以前做网站的截图粘上去,看来还挺专业的,有空可以去看一下http://xuxianpeng.cnblogs.com
日期:2006.01.10 晴
实习报告快交了,还有开题报告,看来要马上做了,选题就定到OA上了, 去网上一遍神搜,资料还真不好,可是没有多少符合我意的,免费的一看没有什么价值的,好东西都收费,想看都看不到,这帮人真黑,好不容易找到了东西,它说要钱才行,真是郁闷呀,看来还得靠自己了,真的不爽,按照我的编程经验,我决定选用NET做为我的 开发语言,用现在比较流行的B/S架构。恩,就这样决定了。
日期:2006.01.11 晴
经过一天的焦头烂额,终于我的报告成型了,一生成目录,恩,还挺专业,窃喜中,幸好同事没有发现我上班时间做其他的事情,报告写完了,可是没有做事呀,又白领一天工资,心里真是不怎么舒服,可是报告也必须写了,都没有时间了,不理拉。交给老师再说了,看能不能通过,通过的话就完事大吉了,通不过还得重写,不过我想,应该没有什么问题。
日期:2006.01.12 晴
真是万幸,我的报告被老师通过了,真是谢天谢地哦,看来一天没有白忙,那今天又可以轻松一下了,突然又传来不幸的消息了,柳汽那里又发现我们程序的BUG,痛苦中,我美妙绝伦的上传组件,也不怎么良好,一会又可以上传,一会又出现问题,真的头痛,看来又要和我们的项目一起编译、打包,看看行不行,如果不行我也就没有办法了。
日期:2006.01.13 晴
今天是实习的最后一天,就和公司的同事告别,让主管给我写实习鉴定,我的实习结束了。