計算機(jī)專業(yè)實(shí)習(xí)日記
4-1 星期四
實(shí)習(xí)的第一天,感覺心里空空的,畢竟昔日在學(xué)校的作息時間,一下子被工作所取代,還真有點(diǎn)不適應(yīng)。其實(shí)在此之前我也作好了進(jìn)入社會的準(zhǔn)備,以前經(jīng)歷過一次畢業(yè),現(xiàn)在總比第一次畢業(yè)時“無所適從”的感覺要好很多,心態(tài)也放得更為平和。如果真要說點(diǎn)與眾不同的話,那就是明顯感覺到:多了一些信心與實(shí)在。
4-2 星期五
今天下班后回宿舍上機(jī)調(diào)試程序,一個java網(wǎng)站,用Tomcat作服務(wù)器, 在被瀏覽器加載的時候總是無法顯示出來,頁面提示出錯信息:500錯誤。到服務(wù)器日志查找原因,有一個“數(shù)據(jù)加載失敗”的提示。數(shù)據(jù)庫用的是SQL Server2000,原以為是Tomcat配置文件的問題,到網(wǎng)上查了很多相關(guān)資料,改了又改一直沒搞定,頭都大了,一直到12點(diǎn)才郁悶的關(guān)機(jī)睡覺!
4-5 星期一
工作也兩三天了,員工也已熟悉,可惜他們都不是編程高手,要不我就可以直接向他們問一些我在做網(wǎng)站時遇到的難題了。唉,誰叫我找一個與專業(yè)不怎么相干的單位來實(shí)習(xí)呢!可說歸說,事還得做:與客戶交談,打電話詢問相關(guān)事宜,遇到好心的客戶還好,不會刁難你,要是來了一個挑三檢四的就不好應(yīng)付了,至少你得耍點(diǎn)小聰明,當(dāng)然不能惹客戶不高興,要不過后會接到老板的“呼叫”的。其實(shí)最簡單的對付辦法也很簡單:你只管順著客戶的意思,點(diǎn)頭即可!
4-6 星期二
最近到網(wǎng)上找了些視頻資料,看后很過癮,可看歸看,一動手寫代碼就傷神了。忘說內(nèi)容了,其實(shí)看的就幾個與Java編程相關(guān)的開源框架(Struts+Spring+Hibernate)而已,不過涉及到的東西就多了,開發(fā)平臺用的是Eclipse+MyEclipse,這個還好應(yīng)付,裝上設(shè)一下環(huán)境變量就搞定,跟JDK差不多。難的是在這之上的插件的應(yīng)用,要知道開源的東西特多,很多其實(shí)多差不多,但你卻不得不花時間去了解,而且版本的兼容性問題有時會讓你不知從哪處理是好。開源而且集成的東西用起來是好,感覺就是復(fù)雜了一點(diǎn)!尤其是面對一大堆英文文檔或者官方英文指導(dǎo)手冊時候,砸電腦的沖動都有呀!
4-7 星期三
今天就簡單聊聊上面的Struts+Spring+Hibernate吧。
Struts代表:表示層;Spring代表:業(yè)務(wù)邏輯層;Hibernate則代表持久層。他們是目前在Java Web編程開發(fā)中用得最多的框架,其實(shí)這樣區(qū)分是為了適應(yīng)軟件開發(fā)過程中各個分工部門之間保持一致性的需要。說得簡單點(diǎn)就是大家都在一個模式下寫代碼,這樣就能保證寫出來的程序能被每一個人都能夠讀懂,而且有些基本的東西它可以自動幫你生成,不用你自己一個一個的敲了,達(dá)到了代碼復(fù)用。這樣保證可讀性的同時也提高了開發(fā)效率,從而降低了成本。Struts這個框架其實(shí)就是Java MVC設(shè)計模式中(簡稱Model1與Model2)Model2的一個具體實(shí)現(xiàn),Spring 則通過提供ICO(控制反轉(zhuǎn),也稱依賴注入)實(shí)現(xiàn)了對對象甚至事務(wù)(如聲明式事務(wù))的集中管理,此外還引入了AOP(對向切面編程),當(dāng)然也完全兼容其它框架。Hibernate嗎,就是一個實(shí)現(xiàn)對象與關(guān)系映射的中間件,大家知道,現(xiàn)在的主流數(shù)據(jù)庫還是關(guān)系型的,但編程卻已經(jīng)采用了面向?qū)ο蟮乃枷,如何讓編程人員能像操作對象一樣,操縱數(shù)據(jù)庫里的數(shù)據(jù)呢?Hibernate就是這樣一種框架。以前Java程序員與數(shù)據(jù)庫打交道都是通過JDBC,還要寫SQL語句,不過Hibernate徹底改變了這一切,它在JDBC之上又作了一次封裝,從而實(shí)現(xiàn)了不用寫SQL語句就可以實(shí)現(xiàn)操作數(shù)據(jù)庫。
值得提醒的是,這三個框架都是輕量級的,沒有侵入性或者侵入性很低,不像EJB這樣的重量級框架,它們都能最大限度的實(shí)現(xiàn)代碼的可復(fù)用。
4-8 星期四
今天根據(jù)經(jīng)理給的項目,自己嘗試的進(jìn)行修改!
4-9 星期五
轉(zhuǎn)眼幾天又過去了,工作的感覺也漸漸好了起來。值得高興的是,前些天說的網(wǎng)站數(shù)據(jù)庫加載失敗的問題也解決了。多虧了論壇朋友的解答與同學(xué)的指導(dǎo),總結(jié)一下主要有以下幾個原因:沒給SQL Server2000打補(bǔ)丁;數(shù)據(jù)庫連接文件中寫的密碼與SA用戶登陸數(shù)據(jù)庫時的密碼沒保持一致;我用的是Tomcat的最新版本6,估計有兼容性問題,所以換了版本5;還有就是一開始沒安裝微軟JDBC for SQL Server2000的驅(qū)動程序,導(dǎo)致無法加載驅(qū)動類庫。幾天的工夫總歸沒白費(fèi)!
4-12 星期一
今天裝了MySQL數(shù)據(jù)庫,想給網(wǎng)站換個數(shù)據(jù)庫管理系統(tǒng)。說實(shí)話,用慣了SQL Server2000感覺沒什么意思了,就像總是用Windows操作系統(tǒng)一樣,用久了就膩了!雖然SQL語句兩者相差不大,但初次使用起來還是有點(diǎn)具有挑戰(zhàn)性,至少有新鮮感,并促使你不斷學(xué)習(xí)。
遇到的最頭痛的要屬數(shù)據(jù)庫的備份與還原了。在SQL Server2000中,這非常簡單,點(diǎn)擊菜單即可?稍贛ySQL里,就不一樣了,可能我剛學(xué),還沒上手吧。按照書上的操作把數(shù)據(jù)文件拷到Mysql安裝目錄的Data/數(shù)據(jù)庫名 文件夾下,重啟MySQL,用客戶端連接上,能顯示出來有表了,可執(zhí)行Select語句里就出錯了:
ERROR 1034 (HY000): Incorrect key file for table 'ebs_book'; try to repair it
Google百度了一上午都沒解決。只得到一些大概信息,如下:
frm、MYI、MYD分別對應(yīng)MyISAM表的表結(jié)構(gòu)索引\數(shù)據(jù)文件;
frm,myd,myi是屬于MySQL存儲數(shù)據(jù)的文件,phpMyAdmin是無法導(dǎo)入的。 phpMyAdmin支持的文件格式為sql文件。
frm格式 MYD格式MYI格式文件導(dǎo)入MySQL中的方法: 導(dǎo)入到sql的data目錄
直接復(fù)制到新的數(shù)據(jù)庫下就可以了,這樣的文件是mysql用來存放表的文件,所以只能放到mysql的安裝目錄的data目錄下,而且如果你是要傳到空間上的話,基本上是無法恢復(fù)了,除非你把這些數(shù)據(jù)給空間商要他幫你恢復(fù)。 感覺像是判了“死緩”一樣,難道數(shù)據(jù)真的無法恢復(fù)了?
4-13 星期二
又是一個雨天,早上上班時間還下得很大,就沒起床了。直接電話向經(jīng)理請了假,說是頭痛下午再過去了,還好經(jīng)理爽快的答應(yīng)了,要不一去就會露餡現(xiàn)出原形的!
上午上網(wǎng),下載了三個網(wǎng)站源碼,本想找個部署運(yùn)行看下效果,結(jié)果一看,后臺數(shù)據(jù)庫全不一樣:分別使用了三個不同的數(shù)據(jù)庫(SQL Server2000、Oracle、Mysql),很是無奈。 個人比較熟悉微軟的SQL Server2000,可那個好一點(diǎn)源碼用的卻是MySQL,突然有種把數(shù)據(jù)庫重建的想法,因?yàn)閿?shù)據(jù)庫之間相互轉(zhuǎn)換的軟件好像一般都不好使,這可能是數(shù)據(jù)庫廠商之間的競爭造成的兼容性差所至。由于時間有限,這活便暫且被擱置下來。