近来学校的实训课程结束了,很多同班同学赶上了校园招聘的晚班车,所以呢大家近来讨论的话题慢慢的也从游戏转移到了实习,是啊,实习,从校园学习里到正式融入社会工作的一个过渡阶段,有些同学实力很强,也很幸运的拿到了不错的offer,基础一般的同学很明显意识到自己与他人的差距,也开始全身心的投入到找工作与学习的队伍中。
时间如水,日月如梭,不知不觉我已告别了一段落的实习。从今年3月份至10月底,我在一家公司实习也有半年,了解过、完成过几个项目,不说假话,虽然是写外包项目,但我学到的东西蛮多的。马上要进入下一阶段的实习生活(因为我还没毕业,只能属于实习期),我就在这里简单跟大家分享下实习的经历吧。
不能依赖框架
作为一个php实习生,为了高效快速的完成公司交待的项目,你很容易的选择一个框架进行开发,这正是外包公司要求你的——效率。一个项目下来,借用框架其实我们很少会写一些原生的sql语句、理解框架内置函数的原理了,对于一个成长的php开发工程师来说,这是不好了,也是容易误导自己的。如果说熟练掌握一门框架是在浅水区,那深刻理解框架底层和原理就是在深水区了。如果你一直停留在浅水区,这无疑就是井底之蛙,你学到的就仅仅是在使用和熟练使用之间。
数据库设计规范
数据库的设计对一个项目来说尤为重要,可能项目刚开始的时候, 你设计的数据库没什么问题,但越到了后面,处理事物越来越复杂,各个表之间关联关系越紧密,逻辑越复杂,一旦因为项目变动导致数据库的要重新改动时候,麻烦就来了。牵一发动全身,你原来没考虑到的情况,现在发生了;你原来考虑到的却没有实现的情况,现在发生了;需求变了,你还要改动数据库......这样不了了之,这个数据库设计就变得惨不忍睹。给出的建议是:充分理解项目需求的,根据业务、场景设计出合理、规范的数据库。
MVC理解与使用
M(模型)、V(视图)、C(控制器),控制层通过模型层调用数据,将数据传到模板引擎,并告诉模板引擎指定的模板文件,然后将数据和页面结合和返回。这是我对mvc的简单理解,刚开始的时候,我并不知道为什么要这样做,觉得只要能完成接口返回相对应数据,在控制层(C层)里进行数据where查询也没有什么问题,直到业务的重复性和复杂性的增加,我越来越觉得自己的代码非常不美观、重复性的代码太多,可读性差。
linux服务器学习
有关于开发环境、生产环境服务器部署的这些东西是必学的,linux操作系统命令行的学习作为基础知识是必学的也是很重要的。学习的方式也很简单,“多用,多敲,多练习”,最好的就是自己购置一台服务器来,可以在阿里云或者腾讯买,在部署开发环境的过程中,对linux命令的使用也会更加熟练。我个人是买了一台服务器的,加上自己的电脑也是深度系统(不知道可以百度下)。对于一些项目开发环境可能会加载一些前端和后端的依赖包,学会使用yum和apt-get下载也是很重要的。
git的使用
git这个版本控制工具得好好学,不然会坑队友的,坑自己的。我个人开发过程中喜欢使用phpstorm上的git插件扩展开对项目的代码进行管理,图形化处理还是比git命令行操作来得简便一些。
基础知识
最后的最后,还是要提一下这个。虽然在项目开始到结束,你一直很忙很累,我还是建议周末有时间的时候,复习一些基础知识,看看计算机网络、操作系统、算法等等,给自己多一点积累的时间,或许成长得更快。
好了,大概就这么多吧,纯属个人意见,分享出来,有什么不妥的地方,欢迎指正哈。