软件工程实习日记
实习是观察体验社会生活,将学习到的理论转化为实践技能的过程,所以既要体验还要观察。以下YJBYScj为大家收集了软件工程实习日记,希望对大家有帮助!
实习日记一
今天下班后回宿舍上机调试程序,一个java网站,用Tomcat作服务器, 在被浏览器加载的时候总是无法显示出来,页面提示出错信息:500错误。到服务器日志查原因,有一个数据加载失败的提示。数据库用的是SQL Server2000,原以为是Tomcat配置文件的问题,到网上查了很多相关资料,改了又改一直没搞定,头都大了,一直到12点才郁闷的关机睡觉!
实习日记二
ListCtrl中LVITEM lpara有很广泛的用处,我们可以通过这个参数实现list控件的排序功能,这里需要注意的是使用LVITEM中的LPARAM,但是SetItemData 函数似乎又是对LVITEM 的lPara进行设置的,这里的关系似乎很微妙,但是我们一定要注意 不能混淆。类中的成员函数可以单独的声明为模板函数,但是模板函数的实现要放在头文件中。GDI+中没有提供绘制圆角方的函数,我们需要通过GraphicPath类进行模拟来实现。
鼠标跟踪消息的要点:响应消息WM_MOUSEMOVE WM_MOUSELEAVE WM_MOUSEHOVER 在WM_MOUSEMOVE消息中处理__TrackMouseEvent()函数。
实习日记三
今天就简单聊聊上面的Struts+Spring+Hibernate吧。
Struts 代表:表示层;Spring代表:业务逻辑层;Hibernate则代表持久层。他们是目前在Java Web编程开发中用得最多的框架,其实这样区分是为了适应软件开发过程中各个分工部门之间保持一致性的需要。说得简单点就是大家都在一个模式下写代码,这样就能保证写出来的程序能被每一个人都能够读懂,而且有些基本的东西它可以自动帮你生成,不用你自己一个一个的敲了,达到了代码复用。这样保证可读性的同时也提高了开发效率,从而降低了成本。Struts这个框架其实就是Java MVC设计模式中(简称Model1与Model2)Model2的一个具体实现,Spring 则通过提供ICO(控制反转,也称依赖注入)实现了对对象甚至事务(如声明式事务)的集中管理,此外还引入了AOP(对向切面编程),当然也完全兼容其它框架。Hibernate吗,就是一个实现对象与关系映射的中间件,大家知道,现在的主流数据库还是关系型的,但编程却已经采用了面向对象的思想,如何让编程人员能像操作对象一样,操纵数据库里的数据呢?Hibernate就是这样一种框架。以前Java程序员与
实习日记三
今天就简单聊聊上面的Struts+Spring+Hibernate吧。
Struts 代表:表示层;Spring代表:业务逻辑层;Hibernate则代表持久层。他们是目前在Java Web编程开发中用得最多的框架,其实这样区分是为了适应软件开发过程中各个分工部门之间保持一致性的需要。说得简单点就是大家都在一个模式下写代码,这样就能保证写出来的程序能被每一个人都能够读懂,而且有些基本的东西它可以自动帮你生成,不用你自己一个一个的敲了,达到了代码复用。这样保证可读性的同时也提高了开发效率,从而降低了成本。Struts这个框架其实就是Java MVC设计模式中(简称Model1与Model2)Model2的一个具体实现,Spring 则通过提供ICO(控制反转,也称依赖注入)实现了对对象甚至事务(如声明式事务)的集中管理,此外还引入了AOP(对向切面编程),当然也完全兼容其它框架。Hibernate吗,就是一个实现对象与关系映射的中间件,大家知道,现在的主流数据库还是关系型的,但编程却已经采用了面向对象的思想,如何让编程人员能像操作对象一样,操纵数据库里的数据呢?Hibernate就是这样一种框架。以前Java程序员与
数据库打交道都是通过JDBC,还要写 SQL语句,不过Hibernate彻底改变了这一切,它在JDBC之上又作了一次封装,从而实现了不用写SQL语句就可以实现操作数据库。
值得提醒的是,这三个框架都是轻量级的,没有侵入性或者侵入性很低,不像EJB这样的重量级框架,它们都能最大限度的实现代码的可复用。
实习日记四
又是一个雨天,早上上班时间还下得很大,就没起床了。直接电话向经理请了假,说是头痛下午再过去了,还好经理爽快的答应了,要不一去就会露馅现出原形的!
上午上网,下载了三个网站源码,本想个部署运行看下效果,结果一看,后台数据库全不一样:分别使用了三个不同的数据库(SQL Server2000、Oracle、Mysql),很是无奈。 个人比较熟悉微软的SQL Server2000,可那个好一点源码用的却是MySQL,突然有种把数据库重建的想法,因为数据库之间相互转换的软件好像一般都不好使,这可能是数据库厂商之间的竞争造成的兼容性差所至。由于时间有限,这活便暂且被搁置下来。
实习日记五
我们在使用tooltip的时候,有以下几个关键点:
1,创建CToolTipCtrl对象,Create()函数实现。
值得提醒的是,这三个框架都是轻量级的,没有侵入性或者侵入性很低,不像EJB这样的重量级框架,它们都能最大限度的实现代码的可复用。
实习日记四
又是一个雨天,早上上班时间还下得很大,就没起床了。直接电话向经理请了假,说是头痛下午再过去了,还好经理爽快的答应了,要不一去就会露馅现出原形的!
上午上网,下载了三个网站源码,本想个部署运行看下效果,结果一看,后台数据库全不一样:分别使用了三个不同的数据库(SQL Server2000、Oracle、Mysql),很是无奈。 个人比较熟悉微软的SQL Server2000,可那个好一点源码用的却是MySQL,突然有种把数据库重建的想法,因为数据库之间相互转换的软件好像一般都不好使,这可能是数据库厂商之间的竞争造成的兼容性差所至。由于时间有限,这活便暂且被搁置下来。
实习日记五
我们在使用tooltip的时候,有以下几个关键点:
1,创建CToolTipCtrl对象,Create()函数实现。
2,使用AddTool()函数向这个tooltip中加入tools,这也是绑定tool到某个控件的过程,从中我们可以知道在这个CToolTipCtrl对象中应该存在着不止一个tool,而是一系列的tool,通过函数DelTool实现删除,AddTool实现添加,UpdateTipText实现更新tool的文本。
3,最关键的是我们需要一个触发tooltip的关键点,这个关键点控制着何时显示这个tooltip,一般情况下我们在PreTranslateMessage()函数中进行处理,这也是我们拦截WM_MOUSEMOVE的地方,拦截之后,我们调用tooltip的RelayEvent向toolTip对象传递这个消息用以表示tooltip可以被显示或者更新。
静态链接MFC DLL模块的时候,由于MFC总是使用它所练级额的DLL模块状态,所以不存在模块管理的问题。
调试DLL的时候,我们需要exe文件的配合,所以先要生成exe测试文件,然后将DLL工程设置成active ,这时候会出现exe路径提示对话框,我们将测试用的exe路径填入就可以了。sql server 2000是一种
3,最关键的是我们需要一个触发tooltip的关键点,这个关键点控制着何时显示这个tooltip,一般情况下我们在PreTranslateMessage()函数中进行处理,这也是我们拦截WM_MOUSEMOVE的地方,拦截之后,我们调用tooltip的RelayEvent向toolTip对象传递这个消息用以表示tooltip可以被显示或者更新。
静态链接MFC DLL模块的时候,由于MFC总是使用它所练级额的DLL模块状态,所以不存在模块管理的问题。
调试DLL的时候,我们需要exe文件的配合,所以先要生成exe测试文件,然后将DLL工程设置成active ,这时候会出现exe路径提示对话框,我们将测试用的exe路径填入就可以了。sql server 2000是一种
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论