暑假实习心得体会

        暑假一个月的实习结束了,经过一个月的实习,学习了thinkphp框架、thinkcmf框架、H-ui前后端管理框架、Tether(用于有效地使绝对定位的元素保持在页面上的另一个元素旁边)、Popper.js(定位引擎)、Animate.css(CSS3动画库)、swiper(触摸滑动插件),了解并初步学习Vue、React、Angular这三大未来可能成为前端开发主流的三大框架,通过对以上框架和第三方库的学习和使用,进一步扩宽了自己的眼界,了解了企业实际开发中所使用的技术,现在流行的大趋势,前后端分离,后端开放相应的API供前端调用,提高开发效率,但需要前后端及时沟通,否则,前端不知道后端开放的API,出现BUG和数据错误,要进一步确定是后端还是前端有错误,所以开发中沟通交流很重要。

       第一周是在学校里进行的,在曹老师的指导下重新安装并配置PHP环境,下载开发工具PHPStorm。这周主要学习了thinkphp框架的基础知识,主要包括ThinkPHP运行原理、框架配置、路由配置等,参考朔悦科技官网后台源码进行学习,看懂代码后对留言管理功能重写,实现对数据库的增删查改,之后,改From表单提交为Ajax提交后台。

      第二周是对公司使用的Thinkcmf框架进行学习,ThinkCMF是基于ThinkPHP开发的一款支持Swoole的开源内容管理框架,ThinkCMF本身就包含了用户管理、文章管理、资源文件管理、权限管理等,数据删除支持“软删除”,为小程序开发提供API的支持,大大提高了开发效率。编程学习总要实践,于是利用空闲时间写了工作室的官网,只写了最基础的功能,导师简介的管理,报名的管理,通过实践进一步加深对ThinkCMF框架的认识。公司采用SVN( 一个开放源代码的版本控制系统)管理开发项目,所有的代码、开发文档、需求文档、软件原型等都在SVN服务器上,所以花了几天时间自学SVN,在自己电脑上配置本地SVN仓库,尝试使用SVN管理自己本地的项目代码,练习了创建分支、合并、版本回滚等常用的操作,随便学习了Git,并在Github上面注册了自己的账号,SVN和Git的使用差不多,学习了SVN可以很快掌握Git,只是在Git提交时遇到过远程库与本地库不一致造成错误(error:failed to push some refs to),解决方法是把远程库同步到本地库。

      第三周开始参与实际项目开发,通过SVN下载代码到本地,自己本地导入数据库,部署到本地。这个项目是一个微信小程序,我负责的部分是小程序的基础信息后台管理,比如LOGO、注册协议、联系电话、邮箱等设置,LOGO管理需要用到ThinkCMF自带的图片上传插件,注册协议用到了百度的UEditor编辑器插件,这是第一次使用第三方插件,因为不知道怎么使用,所以只好跑去UEditor的官网看文档,去GitHub上下载最新的代码(官网上的版本好像有安全漏洞),放在了public目录下,接着就是引入相关js文件和css文件。这里有个坑,就是我的js文件路径没有写对,导致一直没有加载编辑器,后来进入浏览器开发者工具才发现是js文件没有加载,修改路径后就OK了。这些信息的提交要经过ThinkPHP验证器(Validate)做验证,以防止空数据和恶意数据的提交。项目一开始,曹老师就重点强调了文件、类名、函数名一定要按照ThinkCMF框架的命名规范,数据库同样也是,程序开发不是一个人,按照规范命名,一眼便知这个文件有什么作用,这个类有有什么作用,当然相应的注释也必不可少,注释不宜过多,少而精最好,要让自己和别人一眼便知。

      第四周自己接了一个公司官网的项目,自己开始利用学到的知识独立开发。遇到一个问题就是修改某图片的地址,网页没有任何变化,原因是谷歌浏览器缓存的图片、js、css有时候是不会加载最新的而是直接加载缓存里的文件,需要清除本地缓存后刷新或者按Ctrl+F5才会加载最新的文件。ThinkPHP框架文件上传是依赖fileinfo扩展的,如果服务器上没有安装fileinfo扩展是无法上传文件的,所以需要在服务器上安装fileinfo扩展。一个人开发项目能很好把握时间进度,遇到BUG,需要很大的耐心、恒心去修复,一次不行就再试一次,一次又一次的失败,就会离成功不远,正是失败才会让你进步,让你成长,成功是对你付出的努力肯定。纸上得来终觉浅,绝知此事要躬行!编程是最需要实践的,只有通过实践,你才会知道你真正掌握了多少学到的知识,还有多少是自己不会。自己做的东西,真正交到客户手中的那一刻,能得到客户的认可,成就感油然而生。

     记得7月22日一早,群里收到通知说今后公司实习不在学校了,第一次去公司,在康田企业港下面转悠半圈,后来问保安才知道公司的具体地址,三个人就急忙忙奔公司去了。一到公司就给曹老师检查了上次布置的任务,因为没有布置新的任务,我就自己看ThinkCMF文档。项目开发的时候,因为是新手对框架和第三方库不熟悉,看文档成了家常便饭。程序员要有很强的学习能力,学习新的框架的时候要举一反三,触类旁通,这样学习效率才高。学校学的是基础,没有基础,学习这些框架就会不知所措,就如建房子一样,有了好的地基,建高楼大厦就不是梦了。程序编码时,一定要遵循命名规范,例如,类的命名采用驼峰法(首字母大写),并加类名后缀,如:UserController。平时开发空闲之余也会开开玩笑,讨论一下中午吃什么等等,工作的时候,大家积极认真,按时完成自己负责的任务。

  在这一个月的实习中,了解了企业项目的开发流程、开发技术,学会SVN和Git的使用,也进一步学习了ThinkPHP和ThinkCMF框架,利用空闲之余也学了点Vue,也有机会参与实际项目开发,这些经历是书上学不到的,也是人生中一笔宝贵的财富。

你可能感兴趣的:(生活点滴)