2017年軟件公司實(shí)習(xí)報(bào)告(一)
本周是實(shí)習(xí)的第一周,很幸運(yùn)碰到了產(chǎn)品部很有耐心的leader詹老師。 實(shí)習(xí)第二天他讓我做一個(gè)H5的游戲類應(yīng)用, 主要用于微信中分享。之前對于自己的水平是否能完成完全沒底,但感覺第一次實(shí)操確實(shí)也有點(diǎn)讓人興奮,之前關(guān)于產(chǎn)品開發(fā)的印象只停留在書本上。
詹老師讓我模仿“過家家gogaga”所開發(fā)的“打電話認(rèn)師姐”微信小游戲?qū)懸粋€(gè)類似的應(yīng)用。 我把原始應(yīng)用找出來便開始摳代碼, 第一步是將套在微信接口中的原始應(yīng)用摳出來(套在微信接口的原始應(yīng)用只能在微信瀏覽器中運(yùn)行,無法在電腦上測試),周二開始做, 一開始我的效率非常低, 因?yàn)槲液芏鄿y試方法并不熟悉, 在參閱了微信JS-SDK后總算把原始代碼摳出來, 厘清該應(yīng)用的基本邏輯后開始重寫, 在詹老師的耐心地指導(dǎo)和對基礎(chǔ)知識的講解下,我們將原始代碼中120行的CSS代碼優(yōu)化到60行,將五百多行的JS代碼優(yōu)化到只有60行,這事實(shí)上是在原有的邏輯上完全重寫了,這讓我開始有點(diǎn)成就感了。
也第一次感受到產(chǎn)品開發(fā)中的大局觀,這種大局觀更多的是體現(xiàn)在細(xì)節(jié)上,比如代碼變量名的設(shè)置需要與文件存放聯(lián)合考慮,以便日后修改和維護(hù)。 詹老師在講代碼邏輯的時(shí)候親自寫了一個(gè)例子讓我體會, 雖然消化這些用了快一天,但感覺真的收獲很大, 有拔云見日之感。
實(shí)習(xí)一周后所遇到的種種困難也讓我意識到自己很多問題,歸納如下:
1.盡管之前對于書本的學(xué)習(xí)有一定積累,但還是?暴露出代碼的不熟練,細(xì)節(jié)方面處理能力差,在細(xì)節(jié)上耗費(fèi)時(shí)間太多。
2.缺乏基本的軟件開發(fā)測試思路, 比如之前不知道chrome具有相當(dāng)強(qiáng)大的錯(cuò)誤測試功能,它對于沒有觸發(fā)的函數(shù)也有錯(cuò)誤提示。
3. 缺乏專注的習(xí)慣,比如詹老師讓我先完成功能方面,但我卻習(xí)慣于去找找界面的素材, 這就導(dǎo)致兩邊都沒有做好。雖然認(rèn)識上知道不該這么做,但是習(xí)慣上卻很難改。
4.自己很多時(shí)候雖然有問題但是不能完全闡述清楚,所以跟leader溝通的時(shí)候往往支支吾吾,以后有問題自己首先得想清楚,將問題講明白也是很關(guān)鍵的能力。?
另外也記錄一些自己的淺薄感受:
1.工科出身的詹老師對于代碼的運(yùn)行效率有很多的考慮,但對于用戶體驗(yàn)和交互效果似乎稍微少點(diǎn),當(dāng)然也可能是我新來并不了解的原因。
?2. 公司在做小應(yīng)用的時(shí)候并不會在用戶測試和產(chǎn)品結(jié)構(gòu)功能上討論太多,公司要的是迭代效率, 就是要快速出應(yīng)用,然后再快速上線下一個(gè)。
本周接到新的任務(wù),為中國教育在線制作H5的招聘頁面, 之前的“給師姐打電話”的H5應(yīng)用還沒有優(yōu)化好,能做的改進(jìn)的地方還有很多,leader詹老師讓我先把招聘網(wǎng)站做好, H5應(yīng)用先放放, 他給了我大街網(wǎng)做的“中國好Offer”作為參考, 拿到之后確實(shí)感覺這些頁面都做得很好, 詹老師搜集的資源確實(shí)十分豐富,從實(shí)習(xí)到現(xiàn)在他發(fā)給我的參考很實(shí)用,在看完了五六十個(gè)H5的招聘頁面之后開始構(gòu)思, 在將產(chǎn)品架構(gòu)基本做好后,測試又發(fā)現(xiàn)很多問題, 有技術(shù)層面的,但更多的設(shè)計(jì)本身的問題。技術(shù)的細(xì)節(jié)的問題:基于jquery mobile的開發(fā)框架國內(nèi)的資料十分有限,不得不查閱原始的英文API,很多問題也只能去JQM的論壇查找,這些都十分考驗(yàn)英文閱讀能力。CSS的布局問題繁雜,在各個(gè)瀏覽器,各個(gè)應(yīng)用的渲染都不一樣, 也是很折磨人的過程,我現(xiàn)在就碰到了css中font-weight屬性在Safari沒有渲染的問題,至今沒有解決。
逐漸體會到前端工作的繁瑣與細(xì)節(jié), 需要學(xué)的東西很多, 有時(shí)候可以憑自己一些小聰明在當(dāng)前解決,但并沒有摸到問題的根源,揚(yáng)湯止沸?不是長久之計(jì),但又好像沒有足夠的時(shí)間來系統(tǒng)的摸索,我只能先將這些問題一一記下來。這些技術(shù)的體會是一方面,另一方面便是產(chǎn)品的設(shè)計(jì)層面, 現(xiàn)在就是因?yàn)楫a(chǎn)品快做好后發(fā)現(xiàn)有很多地方犯了低級錯(cuò)誤, 以往的紙上談兵頭頭是道,等到自己親身實(shí)踐卻感到把握不住很多設(shè)計(jì)原則, 比如界面設(shè)計(jì)給用戶造成的不必要的干擾, 功能可見性的不足,邏輯上的不嚴(yán)謹(jǐn), 以下我歸納了下崗做好的H5界面存在的交互問題:
1.頁面的設(shè)計(jì)?初衷是左右滑動(dòng)來切換頁面,但給幾個(gè)朋友測試后都不能進(jìn)入頁面后就自然而然的知道是左右滑動(dòng)。
2.join us的圖標(biāo)給用戶是按鈕的錯(cuò)覺,在測試中很多用戶以為是按鈕,都會下意識的點(diǎn)擊。
3.交互效果的乏善可陳,與滑動(dòng)的邏輯似乎也沒有太大關(guān)聯(lián),只是單純的加入了一些css3的動(dòng)畫。
4.用于提示左右滑動(dòng)的動(dòng)態(tài)箭頭會讓用戶以為是點(diǎn)擊作用
改進(jìn):
1.放棄join us 圖標(biāo)?
2.改為上下滑動(dòng)?,箭頭提示更改
3.重新設(shè)計(jì)圖標(biāo)擺放結(jié)構(gòu)
總結(jié): 這次的H5頁面主要在于設(shè)計(jì)問題, 事先并沒有完全構(gòu)思好原型就急切投入到代碼的編寫中,這種開發(fā)方式本身是十分幼稚的!
2017年軟件公司實(shí)習(xí)報(bào)告(二)
一、 實(shí)習(xí)的時(shí)間:20XX年4月5日—20XX年6月20日
二、 實(shí)習(xí)的地點(diǎn):xx有限公司
三、 實(shí)習(xí)的目的:
進(jìn)一步了解java開發(fā)的相關(guān)知識,掌握java開發(fā)的基本技術(shù),豐富java開發(fā)的實(shí)戰(zhàn)經(jīng)驗(yàn)。學(xué)習(xí)SQL的基礎(chǔ)知識及正確的運(yùn)用方法,和有用的相關(guān)技術(shù),提高自己的工作效率。通過實(shí)習(xí),培養(yǎng)我們綜合運(yùn)用已學(xué)知識Java語言的面向?qū)ο缶幊棠芰?培養(yǎng)我們動(dòng)手能力;培養(yǎng)我們良好編程規(guī)范、編程方法;以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識,提高自身的編程能力;增強(qiáng)自己的團(tuán)隊(duì)協(xié)作意識,了解軟件開發(fā)的思考角度和主要流程。為畢業(yè)之后能夠更快地進(jìn)入工作狀態(tài)并且能夠更好的工作,打好一定的基礎(chǔ)。
四、實(shí)習(xí)的方式、方法:實(shí)踐操作
五、實(shí)習(xí)的要點(diǎn):
1.MySql數(shù)據(jù)庫和SQL 數(shù)據(jù)庫的使用;
2. Java中的常用設(shè)計(jì)模式;
3. 控制技術(shù)-Servlet技術(shù)
4. 頁面設(shè)計(jì)-JSP頁面;
六、實(shí)習(xí)的內(nèi)容: Mysql數(shù)據(jù)庫
1) MySQL數(shù)據(jù)庫管理系統(tǒng)概述
MySQL是最流行的開放源碼SQL數(shù)據(jù)庫管理系統(tǒng),它是由MySQL AB公司開發(fā)、發(fā)布并支持的。MySQL AB是由多名MySQL開發(fā)人創(chuàng)辦的一家商業(yè)公司。它是一家第二代開放源碼公司,結(jié)合了開放源碼價(jià)值取向、方法和成功的商業(yè)模型。
數(shù)據(jù)庫是數(shù)據(jù)的結(jié)構(gòu)化集合。計(jì)算機(jī)是處理大量數(shù)據(jù)的理想工具,因此,數(shù)據(jù)庫管理系統(tǒng)在計(jì)算方面扮演著關(guān)鍵的中心角色,或是作為獨(dú)立的實(shí)用工具,或是作為其他應(yīng)用程序的組成部分。
MySQL服務(wù)器還有一套實(shí)用的特性集合,這些特性是通過與我們用戶的密切合作而開發(fā)的。在我們的基準(zhǔn)測試主頁上,給出了MySQL服務(wù)器和其他數(shù)據(jù)庫管理器的比較結(jié)果。
MySQL服務(wù)器最初是為處理大型數(shù)據(jù)庫而開發(fā)的,與已有的解決方案相比,它的速度更快,多年以來,它已成功用于眾多要求很高的生產(chǎn)環(huán)境。盡管MySQL始終在不斷發(fā)展,但目前MySQL服務(wù)器已能提供豐富和有用的功能。它具有良好的連通性、速度和安全性,這使的MySQL十分適合于訪問Internet上的數(shù)據(jù)庫。
2) MySQL穩(wěn)定性
每次發(fā)布的MySQL服務(wù)器均是可用的。僅當(dāng)用戶嘗試源自“灰色區(qū)域”的代碼時(shí)才會出現(xiàn)問題。當(dāng)然,新用戶不了解“灰色區(qū)域”是什么。因此,在本節(jié)中,我們介紹了目前已知的這類區(qū)域。本節(jié)所作的介紹主要針對MySQL服務(wù)器5.0版和更高版本。在最新的版本中,更正了所有已知和通報(bào)的缺陷,但“缺陷”一節(jié)所列的除外,這類缺陷與設(shè)計(jì)有關(guān)。
java與SQL的應(yīng)用
Java語言是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言之一,它提供了方便訪問數(shù)據(jù)的技術(shù)。利用Java語言中的JDBC技術(shù),用戶能方便地開發(fā)出基于Web網(wǎng)頁的數(shù)據(jù)庫訪問程序,從而擴(kuò)充網(wǎng)絡(luò)應(yīng)用功能。JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一的訪問接口。JDBC由一組用Java語言編寫的類與接口組成,通過調(diào)用這些類和接口所提供的方法,用戶能夠以一致的方式連接多種不同的數(shù)據(jù)庫系統(tǒng)(如Access、SQL Server 2000、Oracle、Sybase等),進(jìn)而可使用標(biāo)準(zhǔn)的SQL語言來存取數(shù)據(jù)庫中的數(shù)據(jù),而不必再為每一種數(shù)據(jù)庫系統(tǒng)編寫不同的Java程序代碼。
SQL Server2000是微軟公司新一代的數(shù)據(jù)庫產(chǎn)品,它是在SQL Server7.0建立的堅(jiān)固基礎(chǔ)上產(chǎn)生的,并對SQL Server7.0做了大量擴(kuò)展。SQL Server2000通過高端硬件平臺以及最新網(wǎng)絡(luò)和存儲技術(shù)的支持,可為最大的Web站點(diǎn)和企業(yè)級應(yīng)用提供可擴(kuò)展性和高可靠性。
Java中的常用設(shè)計(jì)模式
1) 工廠模式
客戶類和工廠類分開。消費(fèi)者任何時(shí)候需要某種產(chǎn)品,只需向工廠請求即可。消費(fèi)者無須修改就可以接納新產(chǎn)品。缺點(diǎn)是當(dāng)產(chǎn)品修改時(shí),工廠類也要做相應(yīng)的修改。如:如何創(chuàng)建及如何向客戶端提供。
2)工廠方法模式
核心工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建的工作交給子類去做,成為一個(gè)抽象工廠角色,僅負(fù)責(zé)給出具體工廠類必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類應(yīng)當(dāng)被實(shí)例化這種細(xì)節(jié)。
控制技術(shù)-Servlet技術(shù)
1) 什么是Servlet?
一個(gè)servlet就是Java編程語言中的一個(gè)類,它被用來擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然servlet可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴(kuò)展Web服務(wù)器的應(yīng)用程序。Java Servlet技術(shù)為這些應(yīng)用程序定義了一個(gè)特定于HTTP的 servlet類。
javax.servlet和javax.servlet.http包為編寫servlet提供了接口和類。所有的servlet都必須實(shí)現(xiàn)Servlet接口,該接口定義了生命周期方法。
2) Servlet的生命周期
一個(gè)servlet的生命周期由部署servlet的容器來控制。當(dāng)一個(gè)請求映射到一個(gè)servlet時(shí),該容器執(zhí)行下列步驟。
頁面設(shè)計(jì)-JSP頁面
1)MVC 模式
為了把表現(xiàn)層presentation從請求處理request processing 和數(shù)據(jù)存儲data storage中分離開來,SUN公司推薦在JSP文件中使用一種“模型-視圖-控制器”Model-view-controller 模式。規(guī)范的SERVLET或者分離的JSP文件用于處理請求。當(dāng)請求處理完后,控制權(quán)交給一個(gè)只作為創(chuàng)建輸出作用的JSP頁。有幾種平臺都基于服務(wù)于網(wǎng)絡(luò)層的模-視圖-控件 模式(比如Struts 和Spring framework)。
2) JSP技術(shù)的強(qiáng)勢
(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。
(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。
(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個(gè)巨大的生命力。
(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。
3) JSP技術(shù)的弱勢
(1) 與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。
(2) Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。
4) JSP內(nèi)置對象
(1)request對象:
該對象封裝了用戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。
(2)response對象:
對客戶的請求做出動(dòng)態(tài)的響應(yīng),向客戶端發(fā)送數(shù)據(jù)。
(3)session對象
session對象是一個(gè)JSP內(nèi)置對象,它在第一個(gè)JSP頁面被裝載時(shí)自動(dòng)創(chuàng)建,完成會話期管理。 從一個(gè)客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個(gè)服務(wù)器結(jié)束,被稱為一個(gè)會話。當(dāng)一個(gè)客戶訪問一個(gè)服務(wù)器時(shí),可能會在這個(gè)服務(wù)器的幾個(gè)頁面之間反復(fù)連接,反復(fù)刷新一個(gè)頁面,服務(wù)器應(yīng)當(dāng)通過某種辦法知道這是同一個(gè)客戶,這就需要session對象。
(4)application對象
服務(wù)器啟動(dòng)后就產(chǎn)生了這個(gè)application對象,當(dāng)客戶在所訪問的網(wǎng)站的各個(gè)頁面之間瀏覽時(shí),這個(gè)application對象都是同一個(gè),直到服務(wù)器關(guān)閉。但是與session不同的是,所有客戶的application對象都是同一個(gè),即所有客戶共享這個(gè)內(nèi)置的application對象。
(5)out對象
out對象是一個(gè)輸出流,用來向客戶端輸出數(shù)據(jù)。out對象用于各種數(shù)據(jù)的輸出。
七、實(shí)踐的感受和體會:
實(shí)習(xí)是為將來打基礎(chǔ)的重要階段,珍惜自己每一個(gè)工作的機(jī)會,不論什么人,什么學(xué)歷,從事什么工作,好好的表現(xiàn)、展示自己的能力,不要錯(cuò)過好的機(jī)遇。沒有一件事情是輕輕松松的,但每一件事都是讓人成長的,經(jīng)歷一段過程,喜悅或是艱辛,盡管經(jīng)歷的方式不盡相同,但它的結(jié)果是相同的,我們都會因涉事而成長。
通過實(shí)習(xí),我自身發(fā)生了重大的轉(zhuǎn)變。首先,進(jìn)入公司,你就是一名職業(yè)人,不再是一名學(xué)生,你要具備一名職業(yè)人應(yīng)具備的素養(yǎng),不遲到不早退是必然的,而且還要時(shí)刻嚴(yán)格要求自己,公司的規(guī)定要嚴(yán)格遵守。然后,在技術(shù)上也有了很大的提高,學(xué)習(xí)了很多公司自己的框架和工具,這都是一些前輩的寶貴經(jīng)驗(yàn)。而且所作的軟件應(yīng)用性更強(qiáng)。所以,我要堅(jiān)定自己的信念,在公司好好實(shí)習(xí),爭取提早轉(zhuǎn)正,我相信我會在JAVA開發(fā)這條路上走的更長更遠(yuǎn)。
小編精心推薦閱讀
實(shí)習(xí)報(bào)告范文 | 實(shí)習(xí)報(bào)告格式 | 實(shí)習(xí)報(bào)告怎么寫 | 實(shí)習(xí)報(bào)告總結(jié) | 實(shí)習(xí)周記 | 實(shí)習(xí)日記
小編精心推薦閱讀
實(shí)習(xí)報(bào)告范文 | 實(shí)習(xí)報(bào)告格式 | 實(shí)習(xí)報(bào)告怎么寫 | 實(shí)習(xí)報(bào)告總結(jié) | 實(shí)習(xí)周記 | 實(shí)習(xí)日記
本周是實(shí)習(xí)的第一周,很幸運(yùn)碰到了產(chǎn)品部很有耐心的leader詹老師。 實(shí)習(xí)第二天他讓我做一個(gè)H5的游戲類應(yīng)用, 主要用于微信中分享。之前對于自己的水平是否能完成完全沒底,但感覺第一次實(shí)操確實(shí)也有點(diǎn)讓人興奮,之前關(guān)于產(chǎn)品開發(fā)的印象只停留在書本上。
詹老師讓我模仿“過家家gogaga”所開發(fā)的“打電話認(rèn)師姐”微信小游戲?qū)懸粋€(gè)類似的應(yīng)用。 我把原始應(yīng)用找出來便開始摳代碼, 第一步是將套在微信接口中的原始應(yīng)用摳出來(套在微信接口的原始應(yīng)用只能在微信瀏覽器中運(yùn)行,無法在電腦上測試),周二開始做, 一開始我的效率非常低, 因?yàn)槲液芏鄿y試方法并不熟悉, 在參閱了微信JS-SDK后總算把原始代碼摳出來, 厘清該應(yīng)用的基本邏輯后開始重寫, 在詹老師的耐心地指導(dǎo)和對基礎(chǔ)知識的講解下,我們將原始代碼中120行的CSS代碼優(yōu)化到60行,將五百多行的JS代碼優(yōu)化到只有60行,這事實(shí)上是在原有的邏輯上完全重寫了,這讓我開始有點(diǎn)成就感了。
也第一次感受到產(chǎn)品開發(fā)中的大局觀,這種大局觀更多的是體現(xiàn)在細(xì)節(jié)上,比如代碼變量名的設(shè)置需要與文件存放聯(lián)合考慮,以便日后修改和維護(hù)。 詹老師在講代碼邏輯的時(shí)候親自寫了一個(gè)例子讓我體會, 雖然消化這些用了快一天,但感覺真的收獲很大, 有拔云見日之感。
實(shí)習(xí)一周后所遇到的種種困難也讓我意識到自己很多問題,歸納如下:
1.盡管之前對于書本的學(xué)習(xí)有一定積累,但還是?暴露出代碼的不熟練,細(xì)節(jié)方面處理能力差,在細(xì)節(jié)上耗費(fèi)時(shí)間太多。
2.缺乏基本的軟件開發(fā)測試思路, 比如之前不知道chrome具有相當(dāng)強(qiáng)大的錯(cuò)誤測試功能,它對于沒有觸發(fā)的函數(shù)也有錯(cuò)誤提示。
3. 缺乏專注的習(xí)慣,比如詹老師讓我先完成功能方面,但我卻習(xí)慣于去找找界面的素材, 這就導(dǎo)致兩邊都沒有做好。雖然認(rèn)識上知道不該這么做,但是習(xí)慣上卻很難改。
4.自己很多時(shí)候雖然有問題但是不能完全闡述清楚,所以跟leader溝通的時(shí)候往往支支吾吾,以后有問題自己首先得想清楚,將問題講明白也是很關(guān)鍵的能力。?
另外也記錄一些自己的淺薄感受:
1.工科出身的詹老師對于代碼的運(yùn)行效率有很多的考慮,但對于用戶體驗(yàn)和交互效果似乎稍微少點(diǎn),當(dāng)然也可能是我新來并不了解的原因。
?2. 公司在做小應(yīng)用的時(shí)候并不會在用戶測試和產(chǎn)品結(jié)構(gòu)功能上討論太多,公司要的是迭代效率, 就是要快速出應(yīng)用,然后再快速上線下一個(gè)。
本周接到新的任務(wù),為中國教育在線制作H5的招聘頁面, 之前的“給師姐打電話”的H5應(yīng)用還沒有優(yōu)化好,能做的改進(jìn)的地方還有很多,leader詹老師讓我先把招聘網(wǎng)站做好, H5應(yīng)用先放放, 他給了我大街網(wǎng)做的“中國好Offer”作為參考, 拿到之后確實(shí)感覺這些頁面都做得很好, 詹老師搜集的資源確實(shí)十分豐富,從實(shí)習(xí)到現(xiàn)在他發(fā)給我的參考很實(shí)用,在看完了五六十個(gè)H5的招聘頁面之后開始構(gòu)思, 在將產(chǎn)品架構(gòu)基本做好后,測試又發(fā)現(xiàn)很多問題, 有技術(shù)層面的,但更多的設(shè)計(jì)本身的問題。技術(shù)的細(xì)節(jié)的問題:基于jquery mobile的開發(fā)框架國內(nèi)的資料十分有限,不得不查閱原始的英文API,很多問題也只能去JQM的論壇查找,這些都十分考驗(yàn)英文閱讀能力。CSS的布局問題繁雜,在各個(gè)瀏覽器,各個(gè)應(yīng)用的渲染都不一樣, 也是很折磨人的過程,我現(xiàn)在就碰到了css中font-weight屬性在Safari沒有渲染的問題,至今沒有解決。
逐漸體會到前端工作的繁瑣與細(xì)節(jié), 需要學(xué)的東西很多, 有時(shí)候可以憑自己一些小聰明在當(dāng)前解決,但并沒有摸到問題的根源,揚(yáng)湯止沸?不是長久之計(jì),但又好像沒有足夠的時(shí)間來系統(tǒng)的摸索,我只能先將這些問題一一記下來。這些技術(shù)的體會是一方面,另一方面便是產(chǎn)品的設(shè)計(jì)層面, 現(xiàn)在就是因?yàn)楫a(chǎn)品快做好后發(fā)現(xiàn)有很多地方犯了低級錯(cuò)誤, 以往的紙上談兵頭頭是道,等到自己親身實(shí)踐卻感到把握不住很多設(shè)計(jì)原則, 比如界面設(shè)計(jì)給用戶造成的不必要的干擾, 功能可見性的不足,邏輯上的不嚴(yán)謹(jǐn), 以下我歸納了下崗做好的H5界面存在的交互問題:
1.頁面的設(shè)計(jì)?初衷是左右滑動(dòng)來切換頁面,但給幾個(gè)朋友測試后都不能進(jìn)入頁面后就自然而然的知道是左右滑動(dòng)。
2.join us的圖標(biāo)給用戶是按鈕的錯(cuò)覺,在測試中很多用戶以為是按鈕,都會下意識的點(diǎn)擊。
3.交互效果的乏善可陳,與滑動(dòng)的邏輯似乎也沒有太大關(guān)聯(lián),只是單純的加入了一些css3的動(dòng)畫。
4.用于提示左右滑動(dòng)的動(dòng)態(tài)箭頭會讓用戶以為是點(diǎn)擊作用
改進(jìn):
1.放棄join us 圖標(biāo)?
2.改為上下滑動(dòng)?,箭頭提示更改
3.重新設(shè)計(jì)圖標(biāo)擺放結(jié)構(gòu)
總結(jié): 這次的H5頁面主要在于設(shè)計(jì)問題, 事先并沒有完全構(gòu)思好原型就急切投入到代碼的編寫中,這種開發(fā)方式本身是十分幼稚的!
2017年軟件公司實(shí)習(xí)報(bào)告(二)
一、 實(shí)習(xí)的時(shí)間:20XX年4月5日—20XX年6月20日
二、 實(shí)習(xí)的地點(diǎn):xx有限公司
三、 實(shí)習(xí)的目的:
進(jìn)一步了解java開發(fā)的相關(guān)知識,掌握java開發(fā)的基本技術(shù),豐富java開發(fā)的實(shí)戰(zhàn)經(jīng)驗(yàn)。學(xué)習(xí)SQL的基礎(chǔ)知識及正確的運(yùn)用方法,和有用的相關(guān)技術(shù),提高自己的工作效率。通過實(shí)習(xí),培養(yǎng)我們綜合運(yùn)用已學(xué)知識Java語言的面向?qū)ο缶幊棠芰?培養(yǎng)我們動(dòng)手能力;培養(yǎng)我們良好編程規(guī)范、編程方法;以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識,提高自身的編程能力;增強(qiáng)自己的團(tuán)隊(duì)協(xié)作意識,了解軟件開發(fā)的思考角度和主要流程。為畢業(yè)之后能夠更快地進(jìn)入工作狀態(tài)并且能夠更好的工作,打好一定的基礎(chǔ)。
四、實(shí)習(xí)的方式、方法:實(shí)踐操作
五、實(shí)習(xí)的要點(diǎn):
1.MySql數(shù)據(jù)庫和SQL 數(shù)據(jù)庫的使用;
2. Java中的常用設(shè)計(jì)模式;
3. 控制技術(shù)-Servlet技術(shù)
4. 頁面設(shè)計(jì)-JSP頁面;
六、實(shí)習(xí)的內(nèi)容: Mysql數(shù)據(jù)庫
1) MySQL數(shù)據(jù)庫管理系統(tǒng)概述
MySQL是最流行的開放源碼SQL數(shù)據(jù)庫管理系統(tǒng),它是由MySQL AB公司開發(fā)、發(fā)布并支持的。MySQL AB是由多名MySQL開發(fā)人創(chuàng)辦的一家商業(yè)公司。它是一家第二代開放源碼公司,結(jié)合了開放源碼價(jià)值取向、方法和成功的商業(yè)模型。
數(shù)據(jù)庫是數(shù)據(jù)的結(jié)構(gòu)化集合。計(jì)算機(jī)是處理大量數(shù)據(jù)的理想工具,因此,數(shù)據(jù)庫管理系統(tǒng)在計(jì)算方面扮演著關(guān)鍵的中心角色,或是作為獨(dú)立的實(shí)用工具,或是作為其他應(yīng)用程序的組成部分。
MySQL服務(wù)器還有一套實(shí)用的特性集合,這些特性是通過與我們用戶的密切合作而開發(fā)的。在我們的基準(zhǔn)測試主頁上,給出了MySQL服務(wù)器和其他數(shù)據(jù)庫管理器的比較結(jié)果。
MySQL服務(wù)器最初是為處理大型數(shù)據(jù)庫而開發(fā)的,與已有的解決方案相比,它的速度更快,多年以來,它已成功用于眾多要求很高的生產(chǎn)環(huán)境。盡管MySQL始終在不斷發(fā)展,但目前MySQL服務(wù)器已能提供豐富和有用的功能。它具有良好的連通性、速度和安全性,這使的MySQL十分適合于訪問Internet上的數(shù)據(jù)庫。
2) MySQL穩(wěn)定性
每次發(fā)布的MySQL服務(wù)器均是可用的。僅當(dāng)用戶嘗試源自“灰色區(qū)域”的代碼時(shí)才會出現(xiàn)問題。當(dāng)然,新用戶不了解“灰色區(qū)域”是什么。因此,在本節(jié)中,我們介紹了目前已知的這類區(qū)域。本節(jié)所作的介紹主要針對MySQL服務(wù)器5.0版和更高版本。在最新的版本中,更正了所有已知和通報(bào)的缺陷,但“缺陷”一節(jié)所列的除外,這類缺陷與設(shè)計(jì)有關(guān)。
java與SQL的應(yīng)用
Java語言是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言之一,它提供了方便訪問數(shù)據(jù)的技術(shù)。利用Java語言中的JDBC技術(shù),用戶能方便地開發(fā)出基于Web網(wǎng)頁的數(shù)據(jù)庫訪問程序,從而擴(kuò)充網(wǎng)絡(luò)應(yīng)用功能。JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一的訪問接口。JDBC由一組用Java語言編寫的類與接口組成,通過調(diào)用這些類和接口所提供的方法,用戶能夠以一致的方式連接多種不同的數(shù)據(jù)庫系統(tǒng)(如Access、SQL Server 2000、Oracle、Sybase等),進(jìn)而可使用標(biāo)準(zhǔn)的SQL語言來存取數(shù)據(jù)庫中的數(shù)據(jù),而不必再為每一種數(shù)據(jù)庫系統(tǒng)編寫不同的Java程序代碼。
SQL Server2000是微軟公司新一代的數(shù)據(jù)庫產(chǎn)品,它是在SQL Server7.0建立的堅(jiān)固基礎(chǔ)上產(chǎn)生的,并對SQL Server7.0做了大量擴(kuò)展。SQL Server2000通過高端硬件平臺以及最新網(wǎng)絡(luò)和存儲技術(shù)的支持,可為最大的Web站點(diǎn)和企業(yè)級應(yīng)用提供可擴(kuò)展性和高可靠性。
Java中的常用設(shè)計(jì)模式
1) 工廠模式
客戶類和工廠類分開。消費(fèi)者任何時(shí)候需要某種產(chǎn)品,只需向工廠請求即可。消費(fèi)者無須修改就可以接納新產(chǎn)品。缺點(diǎn)是當(dāng)產(chǎn)品修改時(shí),工廠類也要做相應(yīng)的修改。如:如何創(chuàng)建及如何向客戶端提供。
2)工廠方法模式
核心工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建的工作交給子類去做,成為一個(gè)抽象工廠角色,僅負(fù)責(zé)給出具體工廠類必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類應(yīng)當(dāng)被實(shí)例化這種細(xì)節(jié)。
控制技術(shù)-Servlet技術(shù)
1) 什么是Servlet?
一個(gè)servlet就是Java編程語言中的一個(gè)類,它被用來擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然servlet可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴(kuò)展Web服務(wù)器的應(yīng)用程序。Java Servlet技術(shù)為這些應(yīng)用程序定義了一個(gè)特定于HTTP的 servlet類。
javax.servlet和javax.servlet.http包為編寫servlet提供了接口和類。所有的servlet都必須實(shí)現(xiàn)Servlet接口,該接口定義了生命周期方法。
2) Servlet的生命周期
一個(gè)servlet的生命周期由部署servlet的容器來控制。當(dāng)一個(gè)請求映射到一個(gè)servlet時(shí),該容器執(zhí)行下列步驟。
頁面設(shè)計(jì)-JSP頁面
1)MVC 模式
為了把表現(xiàn)層presentation從請求處理request processing 和數(shù)據(jù)存儲data storage中分離開來,SUN公司推薦在JSP文件中使用一種“模型-視圖-控制器”Model-view-controller 模式。規(guī)范的SERVLET或者分離的JSP文件用于處理請求。當(dāng)請求處理完后,控制權(quán)交給一個(gè)只作為創(chuàng)建輸出作用的JSP頁。有幾種平臺都基于服務(wù)于網(wǎng)絡(luò)層的模-視圖-控件 模式(比如Struts 和Spring framework)。
2) JSP技術(shù)的強(qiáng)勢
(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。
(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。
(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個(gè)巨大的生命力。
(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。
3) JSP技術(shù)的弱勢
(1) 與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。
(2) Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。
4) JSP內(nèi)置對象
(1)request對象:
該對象封裝了用戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。
(2)response對象:
對客戶的請求做出動(dòng)態(tài)的響應(yīng),向客戶端發(fā)送數(shù)據(jù)。
(3)session對象
session對象是一個(gè)JSP內(nèi)置對象,它在第一個(gè)JSP頁面被裝載時(shí)自動(dòng)創(chuàng)建,完成會話期管理。 從一個(gè)客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個(gè)服務(wù)器結(jié)束,被稱為一個(gè)會話。當(dāng)一個(gè)客戶訪問一個(gè)服務(wù)器時(shí),可能會在這個(gè)服務(wù)器的幾個(gè)頁面之間反復(fù)連接,反復(fù)刷新一個(gè)頁面,服務(wù)器應(yīng)當(dāng)通過某種辦法知道這是同一個(gè)客戶,這就需要session對象。
(4)application對象
服務(wù)器啟動(dòng)后就產(chǎn)生了這個(gè)application對象,當(dāng)客戶在所訪問的網(wǎng)站的各個(gè)頁面之間瀏覽時(shí),這個(gè)application對象都是同一個(gè),直到服務(wù)器關(guān)閉。但是與session不同的是,所有客戶的application對象都是同一個(gè),即所有客戶共享這個(gè)內(nèi)置的application對象。
(5)out對象
out對象是一個(gè)輸出流,用來向客戶端輸出數(shù)據(jù)。out對象用于各種數(shù)據(jù)的輸出。
七、實(shí)踐的感受和體會:
實(shí)習(xí)是為將來打基礎(chǔ)的重要階段,珍惜自己每一個(gè)工作的機(jī)會,不論什么人,什么學(xué)歷,從事什么工作,好好的表現(xiàn)、展示自己的能力,不要錯(cuò)過好的機(jī)遇。沒有一件事情是輕輕松松的,但每一件事都是讓人成長的,經(jīng)歷一段過程,喜悅或是艱辛,盡管經(jīng)歷的方式不盡相同,但它的結(jié)果是相同的,我們都會因涉事而成長。
通過實(shí)習(xí),我自身發(fā)生了重大的轉(zhuǎn)變。首先,進(jìn)入公司,你就是一名職業(yè)人,不再是一名學(xué)生,你要具備一名職業(yè)人應(yīng)具備的素養(yǎng),不遲到不早退是必然的,而且還要時(shí)刻嚴(yán)格要求自己,公司的規(guī)定要嚴(yán)格遵守。然后,在技術(shù)上也有了很大的提高,學(xué)習(xí)了很多公司自己的框架和工具,這都是一些前輩的寶貴經(jīng)驗(yàn)。而且所作的軟件應(yīng)用性更強(qiáng)。所以,我要堅(jiān)定自己的信念,在公司好好實(shí)習(xí),爭取提早轉(zhuǎn)正,我相信我會在JAVA開發(fā)這條路上走的更長更遠(yuǎn)。
小編精心推薦閱讀
實(shí)習(xí)報(bào)告范文 | 實(shí)習(xí)報(bào)告格式 | 實(shí)習(xí)報(bào)告怎么寫 | 實(shí)習(xí)報(bào)告總結(jié) | 實(shí)習(xí)周記 | 實(shí)習(xí)日記
小編精心推薦閱讀
實(shí)習(xí)報(bào)告范文 | 實(shí)習(xí)報(bào)告格式 | 實(shí)習(xí)報(bào)告怎么寫 | 實(shí)習(xí)報(bào)告總結(jié) | 實(shí)習(xí)周記 | 實(shí)習(xí)日記

