web前端實(shí)習(xí)小結(jié)
實(shí)習(xí)總結(jié),就是把一個(gè)時(shí)間段的實(shí)習(xí)情況進(jìn)行一次全面系統(tǒng)的總檢查、總分析、總研究,分析成績、不足、經(jīng)驗(yàn)等。下面就是小編整理的web前端實(shí)習(xí)小結(jié),一起來看一下吧。
2個(gè)月的暑期實(shí)習(xí)結(jié)束了,不能算非常圓滿但是也有許多感受。畢竟,擠了兩個(gè)月的地鐵,每天3個(gè)小時(shí),無論是上班還是回家身體都是濕的,也算是體驗(yàn)過了社會(huì)人的生活。
在公司做的是后端工程師,其實(shí)就是協(xié)助團(tuán)隊(duì)實(shí)現(xiàn)一些小的模塊,修改頁面等一些外圍的工作。這些都在預(yù)料之中。我找實(shí)習(xí)的初衷還是想體驗(yàn)一下互聯(lián)網(wǎng)公司的工作環(huán)境、工作模式和方法,同時(shí)了解一下他們是如何了解并學(xué)習(xí)新知識(shí)的,從這一點(diǎn)上來說算是如愿以償。
在學(xué)校,無論是作項(xiàng)目還是產(chǎn)品,往往是一個(gè)人大包干。從產(chǎn)品(網(wǎng)站)設(shè)計(jì),前臺(tái)html,javascript編寫,數(shù)據(jù)庫架構(gòu),后端coding,都是一個(gè)人完成的。而在正規(guī)的公司里,這一套流程是有著嚴(yán)格分工的,大致如下:1 首先由產(chǎn)品經(jīng)理與客戶交流,討論、溝通并產(chǎn)生需求,作出產(chǎn)品原型圖,(在軟件領(lǐng)域應(yīng)該算是工業(yè)設(shè)計(jì)原型圖?) 。將原型圖交付設(shè)計(jì)師,讓設(shè)計(jì)師通過構(gòu)想的原型圖設(shè)計(jì)出相關(guān)圖片。前端工程師通過設(shè)計(jì)師的圖片切圖并作出靜態(tài)頁。同時(shí),產(chǎn)品經(jīng)理通過溝通和文檔的方式將需求告知后端開發(fā)人員。研發(fā)人員根據(jù)需求設(shè)計(jì)數(shù)據(jù)庫并進(jìn)行相應(yīng)coding,其中還要與前端工程師溝通并完成一些接口交互(比如json等),產(chǎn)品完成后最后進(jìn)行測(cè)試等步驟。
首先說說產(chǎn)品經(jīng)理。我認(rèn)為,對(duì)于產(chǎn)品經(jīng)理來說,需求和體驗(yàn)是靈魂,溝通和設(shè)計(jì)是方法,而制作原型圖與撰寫相關(guān)文檔是必備技能。體驗(yàn)就不用說了,產(chǎn)品經(jīng)理就是為優(yōu)質(zhì)的用戶體驗(yàn)而生的,‘用戶體驗(yàn)’往往被他們掛在嘴邊。而需求分兩方面,一方面是與外界進(jìn)行溝通,從而了解到的一些需求。這里面的溝通是有一些技巧和方法需要注意的。另外一方面則是自己通過對(duì)產(chǎn)品的理解,對(duì)生活的感悟自己創(chuàng)造出來的,這里也是見真功夫的地方。這兩方面,前一種主要靠溝通,后一種主要靠自己的設(shè)計(jì)(create)。
然后是原型圖,什么是原型圖呢?比方說你想設(shè)計(jì)一個(gè)網(wǎng)站,那么,在大刀闊斧開工之前,你總要在在紙上寫寫畫畫,作出網(wǎng)站的一個(gè)view草圖,這個(gè)草圖就是原型圖。只不過把你原來要在紙上完成的工作放到電腦里進(jìn)行,加快工作效率和將草圖交付他人進(jìn)行交流的效率罷了。這里推薦兩款軟件,一個(gè)是balsamiq,一個(gè)輕量級(jí)的原型圖制作工具,我實(shí)習(xí)公司的產(chǎn)品經(jīng)理一直在用。另一個(gè)的功能就相對(duì)較多同時(shí)軟件本身也相對(duì)臃腫許多,axure。百度的產(chǎn)品經(jīng)理在用它。
產(chǎn)品經(jīng)理由于是站在全局去把握產(chǎn)品的設(shè)計(jì)方向,所以需要有相當(dāng)強(qiáng)的思想和眼光,更多的時(shí)候的確是需要從管理的眼光去看問題。產(chǎn)品經(jīng)理需要見多識(shí)廣,思維活躍才能不斷為產(chǎn)品注入新的能量。同時(shí)又要腳踏實(shí)地去把握用戶而不能脫離用戶,“用戶至上”這一點(diǎn)微信的產(chǎn)品經(jīng)理張小龍是一個(gè)榜樣。
個(gè)人認(rèn)為走互聯(lián)網(wǎng)也就是電子商務(wù)方向的信管人比較適合做產(chǎn)品經(jīng)理,基于技術(shù)而又高于技術(shù)(就是不用掌握太多的技術(shù)),同時(shí)需要一些創(chuàng)造性思維和較強(qiáng)的溝通能力。
接下來說說設(shè)計(jì)師,這個(gè)我了解的的確比較少了。。諸如PS AI等相關(guān)工具的熟練掌握肯定是必不可少的。我主要是想強(qiáng)調(diào)設(shè)計(jì)師的不可或缺。誠然,即便沒有設(shè)計(jì)師,你仍然可以讓前端工程師直接作出一個(gè)符合大致標(biāo)準(zhǔn)的靜態(tài)頁出來。不過,像一些復(fù)雜的邊角光影效果你肯定不能指望能達(dá)到一個(gè)比較好的效果吧。一些細(xì)節(jié)方面的地方可不是你摳摳其他網(wǎng)站配色和插圖就能搞定的。
下面講一下前端工程師。前端,多么絢爛的一個(gè)字眼啊。所有復(fù)雜又牛逼哄哄的動(dòng)態(tài)特效全部經(jīng)自我手,想想都是激動(dòng)人心的一件事。其實(shí),前端工程師大部分工作還是蠻辛苦的,需要將設(shè)計(jì)師的圖稿轉(zhuǎn)化為html頁,要適應(yīng)chrome 要適應(yīng)火狐,要適應(yīng)IE, 要適應(yīng)IE6(這個(gè)囧),要適應(yīng)iphone,要適應(yīng)ipad,要適應(yīng)ipod....適應(yīng)你妹啊適應(yīng)! 各種js效果不好調(diào)試有沒有?需要不斷大刷(清空緩存)瀏覽器有沒有?css要各種hack有沒有? 要考慮SEO優(yōu)化,要sitemap有沒有?
上面全是前端苦逼而且做起來又略無聊的地方,有沒有除了js特效還讓前端大顯伸手的地方呢? 看看阿爾法城的前端設(shè)計(jì)吧。前端MVC架構(gòu)。恩你沒看錯(cuò),就是前端mvc。事實(shí)上,做網(wǎng)頁經(jīng)常遇到這樣的情況,就是網(wǎng)站的頁面很少但是單個(gè)頁面的前端設(shè)計(jì)及其復(fù)雜。這個(gè)時(shí)候普通的單一js文件就不適用了,你需要自己架構(gòu)或者使用現(xiàn)有的javascript的MVC框架解決問題。這時(shí)如何優(yōu)化js,css代碼,如何建立起一個(gè)低耦合,復(fù)用性高的框架,如何靈活地運(yùn)用一些設(shè)計(jì)模式,這都是前端工程師面對(duì)大型需要而考慮的。
除此之外,現(xiàn)在html5的流行與移動(dòng)互聯(lián)網(wǎng)的興起也讓前端有了更多的用武之地。最后推薦一些干貨吧。bootstrap是twitter推出的一個(gè)能夠使前端工程師快速開發(fā)出兼容性強(qiáng),組件功能豐富的javascript開源庫;一個(gè)名為Alice-css的base.css文件也能解決一些兼容性方面的問題;backbone是一個(gè)javascriptMVC框架,這個(gè)我也有待學(xué)習(xí)。
接下來就是后端啦,geek們 哦不,hacker們一起high起來吧!這才是我們程序員的天下啊。各種算法數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)模式、各類語言各類框架各類大規(guī)模架構(gòu)方案軟件讓你學(xué)個(gè)夠!
現(xiàn)在的編程語言百花其放,各自適合的工作均不同。使用哪種語言還真是蘿卜青菜各有所愛。注意一定要發(fā)揮各個(gè)語言之所長:python就要做膠水語言,java在業(yè)務(wù)處理方面非常出色,php最適合網(wǎng)頁展現(xiàn);.NET在MIS方面獨(dú)領(lǐng)風(fēng)騷。
選擇什么語言不重要,關(guān)鍵是要看清語言背后的東西。絕不是你學(xué)過一門語言,然后再使用過那門語言的相關(guān)框架開發(fā)過項(xiàng)目你就能出師了。那只是一種你掌握的技術(shù),而單純的技術(shù)并不能轉(zhuǎn)化為自己的理解,不能轉(zhuǎn)化為自己的能力。先說面向?qū)ο蟆R闱宄氖腔趯?duì)象和面向?qū)ο笫莾纱a事,java是一門基于對(duì)象的語言,而不是你使用java編程你就面向?qū)ο罅恕T趯?shí)踐中不斷地領(lǐng)悟GoF提出的設(shè)計(jì)模式原理,慢慢地學(xué)會(huì)對(duì)象的用法。能根據(jù)需要,靈活地運(yùn)用接口與繼承是關(guān)鍵。
有人認(rèn)為算法和數(shù)據(jù)結(jié)構(gòu)在互聯(lián)網(wǎng)方面作用很小?抱有這種觀點(diǎn)的人一定沒涉及過web智能推薦算法以及大規(guī)模分布式算法等領(lǐng)域。其實(shí)這也是互聯(lián)網(wǎng)方向的另外一片天地,當(dāng)網(wǎng)站規(guī)模不斷擴(kuò)大,服務(wù)器數(shù)量不斷增多,如何靈活地去設(shè)計(jì)服務(wù)器架構(gòu),拆分?jǐn)?shù)據(jù)庫表結(jié)構(gòu),并提出相應(yīng)的分布式方案,也是一個(gè)非常有挑戰(zhàn)性的難題。這其中也涉及很多算法需要自己實(shí)現(xiàn),因?yàn)閿?shù)據(jù)庫默認(rèn)內(nèi)核封裝的.算法并不能滿足你網(wǎng)站架構(gòu)的具體需要。還有一些是根據(jù)用戶需要而產(chǎn)生的算法,涉及到了一些交叉學(xué)科領(lǐng)域(比如MachineLearning),剛才舉的web推薦算法就是一個(gè)例子。
一個(gè)合格的程序員很大程度上也是半個(gè)運(yùn)維工程師。平時(shí)數(shù)據(jù)庫、服務(wù)器的維護(hù)往往也需要自己親歷親為。這就要求你熟練掌握linux,unix各項(xiàng)指令的使用,一些常用的服務(wù)軟件比如memcache,sphinx等的使用方法。
對(duì)了,還漏了移動(dòng)開發(fā)。想做手機(jī)開發(fā)的人,我想說的是,做IOS吧,Android的各種不兼容實(shí)在是太蛋疼了,而且安卓市場(chǎng)有一些不合理的地方,相對(duì)來說不太容易賺錢。另外,wp7,wp8應(yīng)用也可以嘗試一下。
說到做應(yīng)用,微軟最新的office13提出了支持社交的理念,同時(shí)也支持針對(duì)office進(jìn)行第三方應(yīng)用的開發(fā),感興趣的同學(xué)可以嘗試一下。
最后是測(cè)試。無論是做網(wǎng)站還是做系統(tǒng)都需要測(cè)試。公司曾經(jīng)在的周末分享會(huì)上請(qǐng)來了IBM的測(cè)試MM專門講了測(cè)試的過程與方法。主要講的是黑盒測(cè)試。大公司的測(cè)試步驟簡單說來分為這么幾步:1 開發(fā)團(tuán)隊(duì)派遣一名負(fù)責(zé)人向測(cè)試團(tuán)隊(duì)發(fā)出Test申請(qǐng)。Test團(tuán)隊(duì)然后根據(jù)需要對(duì)其進(jìn)行評(píng)估,主要考察是否值得動(dòng)用團(tuán)隊(duì)精力去做測(cè)試以及動(dòng)用多少人力資源。確立之后,Test團(tuán)隊(duì)再進(jìn)行測(cè)試項(xiàng)目啟動(dòng)會(huì),制訂計(jì)劃,并向開發(fā)團(tuán)隊(duì)索要需求文檔。之后就是很關(guān)鍵的一步:根據(jù)文檔設(shè)置測(cè)試用例,就是case。case會(huì)根據(jù)項(xiàng)目需要和測(cè)試團(tuán)隊(duì)自己發(fā)掘出的一些問題不斷增加和細(xì)化。
細(xì)化到什么程度呢?IBM有一個(gè)進(jìn)行了一年的項(xiàng)目,而根據(jù)需要產(chǎn)生的case就已經(jīng)有上千多個(gè)了,每一個(gè)case的填寫字段超過20個(gè)。從這里首先可以看出測(cè)試和開發(fā)時(shí)并行的而不是先開發(fā)后測(cè)試,然后,根據(jù)項(xiàng)目的不同,測(cè)試用例可能會(huì)增長到非常恐怖的程度。所以其他人的經(jīng)驗(yàn)不能照搬照抄,要根據(jù)自己團(tuán)隊(duì)的規(guī)模合理地決定測(cè)試用例的粒度。
測(cè)試除了黑盒測(cè)試還有白盒測(cè)試。這就需要測(cè)試人員自己去寫自動(dòng)化測(cè)試腳本,還有可能借助現(xiàn)成的諸如loadrunner等測(cè)試工具輔助工作完成。說明測(cè)試人員自身也要懂一些技術(shù)的。
扯的越來越遠(yuǎn)了,簡單說說我實(shí)習(xí)做后端的收獲。首先是學(xué)會(huì)了個(gè)MVC框架,又再次顛覆了我對(duì)MVC的認(rèn)知(又顛覆了。。。。),了解了開源領(lǐng)域的猿們是如何快速接受新東西的。在選擇開發(fā)工具方面,我想對(duì)IDE說再見了,不輕量的東西就不靈活,不簡潔。公司里的人大部分都使用sublime 一個(gè)輕量級(jí)的文本編輯器,其優(yōu)點(diǎn)在于能靈活地自定義快捷鍵、高效的查找替換、更便捷地代碼書寫方法以及優(yōu)美的UI(說到UI最近新出的vs2012也是我的菜)。如果你夠牛比,你可以嘗試emacs ,一個(gè)操作系統(tǒng)級(jí)的文本編輯器,為什么是操作系統(tǒng)級(jí)呢,因?yàn)樗脑O(shè)計(jì)初衷就是你能在里面干任何事情,比如敲代碼,比如發(fā)郵件,比如看電影,比如玩游戲,比如。。。不過相應(yīng)的,學(xué)習(xí)門檻也很高。最后是一款大家公認(rèn)的殺手級(jí)工具,vim 誰用誰知道吧。我是用不習(xí)慣。
實(shí)習(xí)中除了技術(shù)上提升之外更多是不斷體會(huì)溝通的技巧。比方說,客戶說:“我想要實(shí)現(xiàn)一個(gè)XXX功能”,然后你說好,然后去做了。最后給客戶看,客戶說,“你怎么作成了這樣的東西呀,我想實(shí)現(xiàn)的是XX效果”,你很委屈地說“你上次跟我說需求時(shí)并沒有提到這一點(diǎn)啊”。就此僵持。
誰的錯(cuò)?客戶的錯(cuò)嗎?其實(shí)是不完全的。首先,你要知道,往往在客戶的腦海里,他所想的需求就是不清晰的,是模糊的,也很有可能是整個(gè)客戶團(tuán)隊(duì)經(jīng)過各種討論最后折中的一個(gè)結(jié)果。其次,不同的人語言表達(dá)的方式和能力是不一樣的,他以為你能理解,你也以為你理解了,中間的差別也可能有十萬八千里。
如何解決呢?記得SYN的三握手嗎? 為什么要三次握手而不是一次就行呢? 就是要反復(fù)確認(rèn)。溝通時(shí)要學(xué)會(huì)去向客戶提問題去驗(yàn)證客戶的需求,這也是讓客戶明確自己需求的一個(gè)過程。我用信息的傳輸打個(gè)比方。客戶頭腦中的需求是信息。從客戶嘴里說出來是編碼,然后通過耳朵傳輸?shù)侥愕哪X子里,這個(gè)過程是信道傳輸,最后你通過自己的理解(就是信息的解碼)轉(zhuǎn)化為自己的信息。信息在傳輸?shù)倪^程中是肯定會(huì)有丟失和錯(cuò)誤(誤碼)的。原因可能出自多個(gè)方面:也許信息在源頭就是不確定的(客戶頭腦不清晰),也許信息在編碼時(shí)就發(fā)生了錯(cuò)誤(客戶不懂得表達(dá)的技巧),在信道傳輸時(shí)發(fā)生丟失(客戶的話你左耳朵進(jìn)右耳朵出),信息解碼發(fā)生錯(cuò)誤(你自己理解能力有問題)。怎么辦呢? 我們說提高信息傳遞效果有多種方式,比如信息要有冗余,多次傳輸去驗(yàn)證是否接受信息正確(要求客戶反復(fù)說明),信息傳遞后你要有校驗(yàn)碼驗(yàn)證(自己向用戶再次確認(rèn))。總之,要“正確領(lǐng)會(huì)客戶的意圖和弦外之音”。
還有一大感悟就是:在工作時(shí)是否要追求完美?追求到什么地步?這個(gè)時(shí)候我們可以嘗試遵循80/20原則,即先集中精力解決80%的問題,再慢慢解決剩下20%的問題。“許多失敗并不是因?yàn)槿瞬粔騼?yōu)秀,而是做事情的方法不對(duì),一開始最求大而全的方案,之后長時(shí)間不能完成,最后不了了之。”
實(shí)習(xí)的遺憾也是有的,本來打算好實(shí)習(xí)3個(gè)月的,結(jié)果開學(xué)有很多事情出乎我的意料。很多學(xué)校的事情是推不掉的,權(quán)衡再三,只好決定提前結(jié)束實(shí)習(xí),不然兩方面的事情都做不好。感謝實(shí)習(xí)期間團(tuán)隊(duì)的各位伙伴對(duì)自己的提攜和教導(dǎo),使自己進(jìn)步很多。臨行前公司贈(zèng)書一本,望我繼續(xù)努力。
感覺自己還沒掌握的知識(shí)還有很多,至今我還沒學(xué)如何用git;在面向?qū)ο蠓矫嫒杂性S多困惑;前端代碼實(shí)現(xiàn)起來依舊有很多問題;很多框架和軟件都只是了解而沒有實(shí)踐操作過。在實(shí)習(xí)業(yè)余時(shí)間在網(wǎng)上還報(bào)了個(gè)MachineLearning公開課,望能堅(jiān)持下去。
新的一周要開始了,公司里的伙伴們依舊要開會(huì)、工作,為geekpark,itvalue的成熟壯大而奮斗。我也要開始忙碌一些自己的事情,前面依舊是一片天空。
【web前端實(shí)習(xí)小結(jié)】相關(guān)文章:
web前端技巧解說09-04
web前端應(yīng)聘自我介紹12-20
web前端設(shè)計(jì)基礎(chǔ)知識(shí)09-06
Web前端工程師簡歷模板06-20
web前端面試自我介紹06-14
web前端工程師面試經(jīng)驗(yàn)技巧10-20
網(wǎng)頁設(shè)計(jì)和web前端開發(fā)哪個(gè)好09-30
web前端面試注意事項(xiàng)02-09