前端开发实习心得体会
我们得到了一些心得体会以后,可以记录在心得体会中,这样可以记录我们的思想活动。那么好的心得体会是什么样的呢?下面小编给大家带来前端开发实习心得体会(5篇),希望大家喜欢!
前端开发实习心得体会 篇1
仔细想来,在Web前端开发方向实习已经一年多了,从最初的DIV+CSS学起,到JavaScript、jQuery、Bootstrap框架等等,前端要学习的东西很多。接下来就总结一下我在学习过程中的一些经验吧。
第一、学好基础知识,做一个基础扎实的开发者。在IT行业,每年都会有很多新的技术诞生并且得到广泛的推广,前端技术也不例外。所以无论学到多深的程度,扎实的基本功肯定是必不可少的。
(1)HTML:尽量掌握尽可能多的标签。必须掌握的标签有等,这些虽然平时比较少用甚至几乎不用,但是当你学到Boostrap框架时,你会发现Boostrap框架为这些标签赋予了特定的功能与外观。除此之外,新增了很多标签和属性,使得HTML语言更加强大。还有很多新的内容,需要初学者更多的接触并掌握。
(2)CSS:对各个属性以及一些属性之间结合使用的技巧应该多钻研。CSS能够统一有效地对页面的布局、字体等网页中的各个元素显示属性进行控制,可以方便快捷地实现精美的页面表现效果。你会用CSS技术的使用技巧解决下列问题吗?清除浮动有哪些方式?比较好的方式是哪一种?当容器中具有浮动元素时,如何为容器设置边框或背景颜色?怎样让块级元素在容器中水平居中?当多个连续块级元素的浮动布局影响了原本不想浮动的对象时该如何处理?容器内部的对象如何实现相对于容器的自由定位?为什么要初始化CSS样式?
(3)CSS+div布局模式:许多布局模式的基础,也是大部分前端开发人员接触到的第一种布局方式。这种布局模式对于PC端页面的设计是非常有帮助的,同时对于后面将会遇到的“移动端布局”、“响应式布局”等,这种布局方式都具有一定的指导意义。
第二、将JavaScript作为前端学习的重点。JavaScript是目前大多数主流浏览器支持的面向对象的脚本语言,它可以在不与服务器交互的前提下对HTML的页面内容进行修改。JavaScript控制着网页的行为,决定着网页“做什么”。系统学习过JavaScript的同学们,你看看下列问题你能准确的找到答案吗?通过表达式来系统阐述“==”和“===”这两个运算符的区别。把某个元素移除你的视线的方法有哪些?你对JSON了解吗?通过哪个函数可以判断从文本框中获取的内容是不是数字?DOM操作——怎样添加、移除、移动、复制、创建和查找节点?怎样判断是否为整数?运算符都能删除哪些内容?在脚本中,this有几种使用情况呢?
第三、多练习多操作,实践是检验真理的唯一标准。IT编程是需要多加实践的,要不断反复进行上机操作,是学习编程开发的唯一方法。
这些问题的答案就是我的实习心得,经过这段时间的实习,我觉得自己可以独当一面,当一个web前端工程师了呢。
前端开发实习心得体会 篇2
2个月的暑期实习结束了,不能算非常圆满但是也有许多感受。毕竟,挤了两个月的地铁,每天3个小时,无论是上班还是回家身体都是湿的,也算是体验过了社会人的生活。
在公司做的是后端工程师,其实就是协助团队实现一些小的模块,修改页面等一些外围的工作。这些都在预料之中。我找实习的初衷还是想体验一下互联网公司的工作环境、工作模式和方法,同时了解一下他们是如何了解并学习新知识的,从这一点上来说算是如愿以偿。
在学校,无论是作项目还是产品,往往是一个人大包干。从产品(网站)设计,前台html,javascript编写,数据库架构,后端coding,都是一个人完成的。而在正规的公司里,这一套流程是有着严格分工的,大致如下:1 首先由产品经理与客户交流,讨论、沟通并产生需求,作出产品原型图,(在软件领域应该算是工业设计原型图?) 。将原型图交付设计师,让设计师通过构想的原型图设计出相关图片。前端工程师通过设计师的图片切图并作出静态页。同时,产品经理通过沟通和文档的方式将需求告知后端开发人员。研发人员根据需求设计数据库并进行相应coding,其中还要与前端工程师沟通并完成一些接口、交互(比如json等),产品完成后最后进行测试等步骤。
首先说说产品经理。我认为,对于产品经理来说,需求和体验是灵魂,沟通和设计是方法,而制作原型图与撰写相关文档是必备技能。体验就不用说了,产品经理就是为优质的用户体验而生的,‘用户体验’往往被他们挂在嘴边。而需求分两方面,一方面是与外界进行沟通,从而了解到的一些需求。这里面的沟通是有一些技巧和方法需要注意的。另外一方面则是自己通过对产品的理解,对生活的感悟自己创造出来的,这里也是见真功夫的地方。这两方面,前一种主要靠沟通,后一种主要靠自己的设计(create)。
然后是原型图,什么是原型图呢?比方说你想设计一个网站,那么,在大刀阔斧开工之前,你总要在在纸上写写画画,作出网站的一个view草图,这个草图就是原型图。只不过把你原来要在纸上完成的工作放到电脑里进行,加快工作效率和将草图交付他人进行交流的效率罢了。这里推荐两款软件,一个是balsamiq,一个轻量级的原型图制作工具,我实习公司的产品经理一直在用。另一个的功能就相对较多同时软件本身也相对臃肿许多,axure。百度的产品经理在用它。
产品经理由于是站在全局去把握产品的设计方向,所以需要有相当强的思想和眼光,更多的时候的确是需要从管理的眼光去看问题。产品经理需要见多识广,思维活跃才能不断为产品注入新的能量。同时又要脚踏实地去把握用户而不能脱离用户,“用户至上”这一点微信的产品经理张小龙是一个榜样。
个人认为走互联网也就是电子商务方向的信管人比较适合做产品经理,基于技术而又高于技术(就是不用掌握太多的技术),同时需要一些创造性思维和较强的沟通能力。
接下来说说设计师,这个我了解的的确比较少了。诸如PS AI等相关工具的熟练掌握肯定是必不可少的。我主要是想强调设计师的不可或缺。诚然,即便没有设计师,你仍然可以让前端工程师直接作出一个符合大致标准的静态页出来。不过,像一些复杂的边角光影效果你肯定不能指望能达到一个比较好的效果吧。一些细节方面的地方可不是你抠抠其他网站配色和插图就能搞定的。
下面讲一下前端工程师。前端,多么绚烂的一个字眼啊。所有复杂又牛逼哄哄的动态特效全部经自我手,想想都是激动人心的一件事。其实,前端工程师大部分工作还是蛮辛苦的,需要将设计师的图稿转化为html页,要适应chrome 要适应火狐,要适应IE, 要适应IE6(这个囧),要适应iphone,要适应ipad,要适应ipod....适应你妹啊适应! 各种js效果不好调试有没有?需要不断大刷(清空缓存)浏览器有没有?css要各种hack有没有? 要考虑SEO优化,要sitemap有没有?
上面全是前端苦逼而且做起来又略无聊的地方,有没有除了js特效还让前端大显伸手的地方呢? 看看阿尔法城的前端设计吧。前端MVC架构。恩你没看错,就是前端mvc。事实上,做网页经常遇到这样的情况,就是网站的页面很少但是单个页面的前端设计及其复杂。这个时候普通的单一js文件就不适用了,你需要自己架构或者使用现有的javascript的MVC框架解决问题。这时如何优化js,css代码,如何建立起一个低耦合,复用性高的框架,如何灵活地运用一些设计模式,这都是前端工程师面对大型需要而考虑的。
除此之外,现在html5的流行与移动互联网的兴起也让前端有了更多的用武之地。最后推荐一些干货吧。bootstrap是twitter推出的一个能够使前端工程师快速开发出兼容性强,组件功能丰富的javascript开源库;一个名为Alice-css的base.css文件也能解决一些兼容性方面的问题;backbone是一个javascriptMVC框架,这个我也有待学习。
接下来就是后端啦,geek们 哦不,hacker们一起high起来吧!这才是我们程序员的天下啊。各种算法数据结构、设计模式、各类语言各类框架各类大规模架构方案软件让你学个够!
现在的编程语言百花其放,各自适合的工作均不同。使用哪种语言还真是萝卜青菜各有所爱。注意一定要发挥各个语言之所长:python就要做胶水语言,java在业务处理方面非常出色,php最适合网页展现;.NET在MIS方面独领风骚。
选择什么语言不重要,关键是要看清语言背后的东西。绝不是你学过一门语言,然后再使用过那门语言的相关框架开发过项目你就能出师了。那只是一种你掌握的技术,而单纯的技术并不能转化为自己的理解,不能转化为自己的能力。先说面向对象。要搞清楚的是基于对象和面向对象是两码事,java是一门基于对象的语言,而不是你使用java编程你就面向对象了。在实践中不断地领悟GoF提出的设计模式原理,慢慢地学会对象的用法。能根据需要,灵活地运用接口与继承是关键。
有人认为算法和数据结构在互联网方面作用很小?抱有这种观点的人一定没涉及过web智能推荐算法以及大规模分布式算法等领域。其实这也是互联网方向的另外一片天地,当网站规模不断扩大,服务器数量不断增多,如何灵活地去设计服务器架构,拆分数据库表结构,并提出相应的分布式方案,也是一个非常有挑战性的难题。这其中也涉及很多算法需要自己实现,因为数据库默认内核封装的算法并不能满足你网站架构的具体需要。还有一些是根据用户需要而产生的算法,涉及到了一些交叉学科领域(比如MachineLearning),刚才举的web推荐算法就是一个例子。
一个合格的程序员很大程度上也是半个运维工程师。平时数据库、服务器的维护往往也需要自己亲历亲为。这就要求你熟练掌握linux,unix各项指令的使用,一些常用的服务软件比如memcache,sphinx等的使用方法。
对了,还漏了移动开发。想做手机开发的人,我想说的是,做IOS吧,Android的各种不兼容实在是太头疼了,而且安卓市场有一些不合理的地方,相对来说不太容易赚钱。另外,wp7,wp8应用也可以尝试一下。
说到做应用,微软最新的office13提出了支持社交的理念,同时也支持针对office进行第三方应用的开发,感兴趣的同学可以尝试一下。
最后是测试。无论是做网站还是做系统都需要测试。公司曾经在的周末分享会上请来了IBM的测试MM专门讲了测试的过程与方法。主要讲的是黑盒测试。大公司的测试步骤简单说来分为这么几步:1 开发团队派遣一名负责人向测试团队发出Test申请。Test团队然后根据需要对其进行评估,主要考察是否值得动用团队精力去做测试以及动用多少人力资源。确立之后,Test团队再进行测试项目启动会,制订计划,并向开发团队索要需求文档。之后就是很关键的一步:根据文档设置测试用例,就是case。case会根据项目需要和测试团队自己发掘出的一些问题不断增加和细化。
细化到什么程度呢?IBM有一个进行了一年的项目,而根据需要产生的case就已经有上千多个了,每一个case的填写字段超过20个。从这里首先可以看出测试和开发时并行的而不是先开发后测试,然后,根据项目的不同,测试用例可能会增长到非常恐怖的程度。所以其他人的经验不能照搬照抄,要根据自己团队的规模合理地决定测试用例的粒度。
测试除了黑盒测试还有白盒测试。这就需要测试人员自己去写自动化测试脚本,还有可能借助现成的诸如loadrunner等测试工具辅助工作完成。说明测试人员自身也要懂一些技术的。
扯的越来越远了,简单说说我实习做后端的收获。首先是学会了个MVC框架,又再次颠覆了我对MVC的认知,了解了开源领域的猿们是如何快速接受新东西的。在选择开发工具方面,我想对IDE说再见了,不轻量的东西就不灵活,不简洁。公司里的人大部分都使用sublime 一个轻量级的文本编辑器,其优点在于能灵活地自定义快捷键、高效的查找替换、更便捷地代码书写方法以及优美的UI(说到UI最近新出的vs2012也是我的菜)。如果你够牛比,你可以尝试emacs ,一个操作系统级的文本编辑器,为什么是操作系统级呢,因为它的设计初衷就是你能在里面干任何事情,比如敲代码,比如发邮件,比如看电影,比如玩游戏,比如……不过相应的,学习门槛也很高。最后是一款大家公认的杀手级工具,vim 谁用谁知道吧。我是用不习惯。
实习中除了技术上提升之外更多是不断体会沟通的技巧。比方说,客户说:“我想要实现一个__X功能”,然后你说好,然后去做了。最后给客户看,客户说,“你怎么作成了这样的东西呀,我想实现的是__效果”,你很委屈地说“你上次跟我说需求时并没有提到这一点啊”。就此僵持。
谁的错?客户的错吗?其实是不完全的。首先,你要知道,往往在客户的脑海里,他所想的需求就是不清晰的,是模糊的,也很有可能是整个客户团队经过各种讨论最后折中的一个结果。其次,不同的人语言表达的方式和能力是不一样的,他以为你能理解,你也以为你理解了,中间的差别也可能有十万八千里。
如何解决呢?记得SYN的三握手吗? 为什么要三次握手而不是一次就行呢? 就是要反复确认。沟通时要学会去向客户提问题去验证客户的需求,这也是让客户明确自己需求的一个过程。我用信息的传输打个比方。客户头脑中的需求是信息。从客户嘴里说出来是编码,然后通过耳朵传输到你的脑子里,这个过程是信道传输,最后你通过自己的理解(就是信息的解码)转化为自己的信息。信息在传输的过程中是肯定会有丢失和错误(误码)的。原因可能出自多个方面:也许信息在源头就是不确定的(客户头脑不清晰),也许信息在编码时就发生了错误(客户不懂得表达的技巧),在信道传输时发生丢失(客户的话你左耳朵进右耳朵出),信息解码发生错误(你自己理解能力有问题)。怎么办呢? 我们说提高信息传递效果有多种方式,比如信息要有冗余,多次传输去验证是否接受信息正确(要求客户反复说明),信息传递后你要有校验码验证(自己向用户再次确认)。总之,要“正确领会客户的意图和弦外之音”。
还有一大感悟就是:在工作时是否要追求完美?追求到什么地步?这个时候我们可以尝试遵循80/20原则,即先集中精力解决80%的问题,再慢慢解决剩下20%的问题。“许多失败并不是因为人不够优秀,而是做事情的方法不对,一开始最求大而全的方案,之后长时间不能完成,最后不了了之。”
实习的遗憾也是有的,本来打算好实习3个月的,结果开学有很多事情出乎我的意料。很多学校的事情是推不掉的,权衡再三,只好决定提前结束实习,不然两方面的事情都做不好。感谢实习期间团队的各位伙伴对自己的提携和教导,使自己进步很多。临行前公司赠书一本,望我继续努力。
感觉自己还没掌握的知识还有很多,至今我还没学如何用git;在面向对象方面仍有许多困惑;前端代码实现起来依旧有很多问题;很多框架和软件都只是了解而没有实践操作过。在实习业余时间在网上还报了个MachineLearning公开课,望能坚持下去。
新的一周要开始了,公司里的伙伴们依旧要开会、工作,为geekpark,itvalue的成熟壮大而奋斗。我也要开始忙碌一些自己的事情,前面依旧是一片天空。
前端开发实习心得体会 篇3
一、实训目的
通过对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。
同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。
学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。
通过实训,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。
为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实训主要流程
1、公司管理规则,程序员素质,程序员编码规范;
2、需求开发与管理;
3、面向对象分析与设计,面向对象编程的特性;
4、javaSE、javaWeb、页面设计—JSP页面;
5、数据库设计、SQL应用;
6、软件需求分析与设计;
7、项目实战;
三、实训内容
Oracle数据库
数据库是数据的结构化集合。
计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。
Oracle服务器还有一套实用的特性集合,这些特性是通过与我们用户的`密切合作而开发的`。
在我们的基准测试主页上,给出了Oracle服务器和其他数据库管理器的比较结果。
Oracle服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。
尽管Oracle始终在不断发展,但目前Oracle服务器已能提供丰富和有用的功能。
它具有良好的连通性、速度和安全性,这使的Oracle十分适合于访问Internet上的数据库。
java与SQL的应用。
Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。
利用Java语言中的JDBC技术,用户能方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用功能。
JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。
JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server 20__、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码。
前端开发实习心得体会 篇4
进入__web班近一个月了,从一无所知的小白到现在也完成了京东详情页的一个小项目。学习过程中除了偶尔遇到困难,总体还算顺利。在这里主要想分享自己以一个文科生——零基础学员的角度来学习web前端开发的感受。
由于之前在大学里是学的旅游专业,和计算机毫无关系,来到__时对自己有些半信半疑。不少人甚至怀疑__是行骗机构。在做了全面的了解之后,我劝服家人同意我来这里学习。另一方面,我向老师咨询了自己学习的方向,考虑到自己从文科到计算机专业跨度较大的转变,我在Java与web之间选择了web。相对于Java,web的学习更基础,容易入手,就业的机会也非常多。
Web开班第一天,老师即从网页基础、HTML入手,攫取重点,给我们介绍了它的相关知识。我们主要学习了HTML5,里面有很多的新特性且时下较为流行。它相当于一个网页界面的宏观架构。如果把一个网页的实现比作是一座建筑的建造过程,那么HTML即是这座建筑里的钢筋混泥土,搭建起整个建筑的框架、承重。
之后,我们又学习了CSS基础样式,仍然借用上面的比喻,CSS则相当于建筑里各个房间的不同结构,它们使得这座建筑更加的多样化。且相对于HTML,它更加的复杂、多样化,呈现的效果也具有更多的可能性。老师向我们推荐了《CSS禅意花园》这本书,里面列举了丰富且多种多样的.CSS样式。
作为今后可能成为的优秀前端工程师,仅仅学习自己内部的知识是远远不够的。因此,第一个月中我们也学习了UI中PS绘图制作基础,这对于一个前端来说也是非常重要的,在今后的工作中,我们可能会面对各种各样的问题,如果掌握部分PS尤其是切图技术,在和UI的接触中可以减少很多不必要的繁琐工作。
总之,作为一个前端工程师,我们所要掌握的知识是全面的,当我们写代码时的思维是缜密的。HTML和CSS是基础中的基础。之后我们会学习更多的JavaScript相关知识和其他,希望自己在这过程中仍能保持谦逊的的心态,去学习前人留下的珍贵宝藏。
前端开发实习心得体会 篇5
写代码的时候要伴随技术文档,不管是方便自己以后的阅读和快速回顾,还是方便他们对代码进行重构编辑,都是非常必要的。
一个人的对手不是别人,而是自己,不是自己的智商,而是自己的懒惰。惰于思考。
踏实:关于踏实,今天才算是有了比较深刻的理解。不是嘴上说自己踏实能干,不盲目着急,不做一点把握都没有但是对自己影响很大的事情,不要想着什么事情赌一把也许会有好的结果。于是我决定自己的实习如果有机会就要延长,不要匆匆结束,而且不止要延长,要再接下来的工作中有所得,有所建树,有所收获,有所贡献。
前端工程师要有基础和潜力:基础可以是根正苗红的科班出身所学的技术。潜力就是踏实,务实的精神。我操真不是在嘴上说说的傻玩意儿。
如果遇到瓶颈难以突破(WEB前端工作了2—3年左右),可以考虑丰富自己的文笔,让自己的代码或者想法可以清晰的表现在人前。
作为一个WEB前端工程师要了解HTTP协议,为了与后台打交道,可以更直观的把握全局,也需要适当的学习设计模式那些blablabla的东西,与产品打交道。
“我对Web开发人员最大的建议就是:热爱你的工作。热爱跨浏览器开发带来的挑战、热爱互联网技术的种种异端,热爱业内的同行,热爱你的工 具。互联网发展太快了,如果你不热爱它的话,不可能跟上它的步伐。这意味着你必须多阅读,多动手,保证自己的才能与日俱增。下了班也不能闲着,要做一些对自己有用的 事儿。可以参与一些开源软件的开发,读读好书,看看牛人的博客。经常参加一些会议,看看别人都在干什么。要想让自己快速成长,有很多事儿可以去做,而且付出一定会有回报。”
年轻的工程师需要更多的了解需求和设计、产品经理更要懂得软件迭代规律。对于前端工程师来讲更是如此,多学习交互设计和UI,多了解网络协议和软件迭代模型,更能帮助前端工程师和需求方沟通、和后台的衔接、以及控制版本的迭代。
刚出道的校招同学往往更加心高气傲,以为自己有改变世界的本事,一定要参与一个牛逼的团队做一款光鲜靓丽受人追捧能给自己脸上贴金的项目。如果你有这种想法,趁早打消掉这个念头,当然,我们这里先不讨论创业的情形。
第一,如果你刚毕业就加入一个牛逼团队,说难听点,你就是团队中其他人眼中的“猪一样的队友”,不创造价值且拖项目后腿(显然大家都要照顾你的成长啊),按照271理论,你没有理由不是这个1。至少相当长一段时间内是这样。
第二,你在所谓牛逼团队中的创造性受限,因为创新多来自于团队中的“资深“和大牛们,你参与讨论但观点通常不会被采纳,他们只会给你这个菜鸟分活干,想想看,你如何能花两到三年就超越身边的大牛们?甚至连拉近与他们的距离都难。
第三,如果身在牛逼团队,自然心理对周围的牛人们有所期待,希望他们能灌输给你一些牛逼的知识和牛逼的理念。这种思想上的惰性在职场生涯之初是非常危险的。要知道技术和知识本身是很简单和淳朴的,只不过披上了一个光鲜项目的外衣而让人感觉与众不同。
第四,由简入奢易,由奢入简难,做过一个看似光彩的项目,心理再难放平稳,去踏实的做一个看上去不那么酷的产品。这种浮躁心态会严重影响今后的职业发展和成长。
第五,光鲜靓丽的项目被各种老大关注,是难容忍犯错误的,傻瓜都知道犯错误在成长之初的重要性。
就我所看到的情形看,一开始加入看似很牛的项目组,三年后得到的成长,比那些开始加入一个不被重视的项目的同学要小很多,而后者在能力上的弹性却更大。所以,道理很简单,你是要把一个很酷的项目做的和之前差不多酷,还是把一个不酷的项目做的很酷?项目是不是因为你的加入而变得与众不同了?
从这个角度讲,不管是转行的新人还是刚出道的秀才,最好将自己当作“匠人”来对待,你的工作是“打磨”你的项目,并在这个过程中收获经验和成长。付出的是勤奋,锻炼的是手艺,磨练的是心智。因此,你的价值来自于你“活儿“的质量,“活儿”的质量来自于你接手的项目之前和之后的差别。做好活儿是匠人应有的职业心态。想通这一点,内心自然少一些纠结,才会对自己对项目的贡献度有客观的认识,不会感觉被项目所绑架。