实习日志记录

1、新人

今天,上班的第一天,有点小激动。到了公司,在人事小姐姐的带领下,办理入职以及一些事务,最后坐上自己办公的位置,终于有点社会人的感觉了。平复一下心情,开始实习的第一天。接下来的一周,先是为自己办公电脑配置好开发环境,申请办公用的qq,方便开发交流对接任务,然后在同事的讲解下,先熟悉了公司的物流系统框架,该如何编写代码才能快速进行功能开发。部门的氛围很不错,同事之间没有什么隔阂,都是相互帮助,所以我也很快就对公司的系统有一点了解,能够开始进行开发。

2、简单功能

         第二周开始,经过上一周的熟悉,现在能够开始开发一些小功能的模块,像增删改查这种最简单功能。经理也是一个很不错的引导者,会先让我由浅入深的了解系统框架,快速完成功能开发,也得益于框架的结构清晰,代码的规范,经理会很严格要求我们代码的规范性,比如:命名要见名知意,驼峰式,方法名也是如此;而且要求我们fatmat,使用快键键ctrl+shift+F(公司用的是eclipse)。因此,代码看上去很容易看懂,节省了很多时间。我想这样的规范性能够帮助我养成一个好习惯,写出让人看起来舒服的代码。

3、步入正轨

         经过前两周的工作,我也开始步入的正轨了,尽管还有很多需要学习的,所幸公司比较人性化,而且经理同我们的岁数没有相差太多,虽然还是有一点点代沟,但是工作氛围还是挺好的,不会强人所难。任务的安排轻重缓急得当,虽然节奏也稍稍有点快,但在一线城市者节奏还是正常的。工作上也会安排前辈来带新人,而且前辈确实也帮了我不少,主要是系统上业务流程的不熟悉,功能到是其次,也很感谢前辈的点拨,所以基本上能按时完成任务。这三周也让我感受到springboot框架的方便快捷之处,配置文件,注解应用。虽然第一次接触,但是入门快捷。

4、日常

         转眼间,实习已经一个月了,一个月感觉成长了很多,心理的,脑袋的。最重要的是自己也得到了同事的认可,这是比较开心的,毕竟看着离去的同事,知道社会是很现实的,能力不足会被淘汰的。这到是跟大自然很相似,只不过没那么残忍。路倒不是只有一条,觉得选择了就应该坚持下去,并有正向反馈才能更好的成长下去。随着慢慢熟悉业务,工作也开始变得比较忙碌起来的,偶尔加班也变成的很平常,也清楚的感悟还在学校时老师们经常说的,学习的重要性。

5redis

         第二个月,领到自己的第一份薪水,当然是超开心的。但也强烈的意味着自己的责任越来越重了,社会人的烦恼不再像学生的那么简单了。这周,在开发中接触到一个日常很熟悉的词:“缓存”。就像现在电脑之所以工作的那么快,主要是程序在缓存内存条中run。这样调用的时候就不需要去磁盘读取。毕竟内存的读取比磁盘的读取根本不是通过等级的,好比青铜与王者。同样的道理,如果将数据库的部分不经常修改的数据缓存在内存中,就不用每次总是去读取数据库那么慢了。项目中用到的就是redis缓存,redis是单线程,所以不仅仅可以用来做缓存,还能用来跑队列,虽然现在还不是很熟悉,但是觉得能学到很有收获。

6、磨合中的矛盾

         工作中难免会有矛盾,这周我就被我们经理叼了,因为对功能没有比较清晰的了解,又没有跟经理沟通好,做出来的功能和经理想要的相去甚远。不过我们经理还好,顺带着开了个小会,主要是安排一下任务,顺便说了磨合的总需要一个过程,工作上是工作上,生活是生活,叫我别往心里去。刚好今天也是周五,所以经理建议我们一起去聚餐,唱K。经过这次,我觉得后面做功能前,不要急着下手,都要考虑一番,思路通不通,在工作中最怕的就是感动自己,但是却没有半点工作成绩。我自己也努力避免成为这种人。

7、导出excel

         这周接触到一个新的功能,是用代码导出excel表,在很多公司,excel等office软件都是很常见的,其他很多部门,想财务部门接触的最多,月底都要做财务报表,我们公司,也把财务这一块的部分整合到系统中,方便进行一些数据的处理。系统上的框架是用模板的模式来进行导出,由于框架已经做好了,我只需看懂,模仿的做出来,倒不是很难,不过能够学到这种模式,觉得很有收获,之前也是没有考虑到用这种模式来做,很多时候难的不是技术,是一个不一样的思路。代码界也有几句引语,大意是能用简单的代码实现功能的尽量不要复杂化。

8、团建

         这周公司组织我们IT部的去团建,很好,基本都是男的(微笑)。为了是增加大家的熟悉,开发部交流基本都是工作上的事情,所以不是同个组的基本不会说话,也不认识。团建倒也一定程度上增加了彼此的交流借鉴,搞得像学术交流会一样,呃。不过还是有一些帮助的,其他部门有些比较牛逼的前端工程师,倒是可以带来很多关于比较好用的前端框架技术。虽然我们部门的后端开发,前端也要做。但跟专门做前端还是有差距的,审美观赏就是一大不可逾越的鸿沟。也有专门做app开发的,也是很值得学习的,现在大众花费在手机上时间最多了。

9、对接系统

         刚开始接触对接,满脸懵逼,懵逼脸。问度娘也一问三不知,或者答非所问。还好有同事的稍稍讲解,尽管还是有点懵,但真正做下来(花了2天),才知道,原来是这么回事。打个不大恰当的比喻,就像ajax一样。对接也不是很难的事,主要是麻烦,如果对方提供的接口跟本司的接口差距太大,就会有很多麻烦,要相互协商,这才是最浪费时间的;还有接口文档上跟接口有所出入,就更得花费时间去测通接口。通过这次对接,对Http有一些熟悉,也对代码的严谨性有了更深刻的认识,比较json是不能出一个符号的错误。也学会了JsonMapper工具类的应用。

10、任务跟进

         这周像往常一样有开发任务要做,但还要跟进对接完的接口的反馈。对接接口后一般会让其他部门的人进行测试,然后上线,测试过程中会反馈回很多奇奇怪怪的琐事,不过这也要认真对待,在开发工作中最重要的是责任感,不能说开发完就扔一边,出了问题都是由负责开发的人来处理的。像一些接口提示,返回的内容提示修改,或者一些提示漏写了,都要修改。而且实施员操作不当也要帮忙讲解,写功能文档。跟进任务很是考验耐心,也考验能力,毕竟还有正常开发任务要做,所以处理问题要切中重点。

11Jmeter

         懂得接口原理后,还有个工具需要熟悉,那就是Jmeter。Jmeter可以用来模拟接口访问,也就是可以做高并发测试,有些接口对外开放给其他系统调用,量特别大的时候,就要想办法进行集群的优化,虽然还没接触到集群,但是测试工具还是很方便,也很好上手的。设置好参数,调通后,就可以调整线程数来进行测试了。依据记录的接口返回数据,请求时间等,我们经理就可以调整集群的配置,来达到比较理想的方案。这周最大的收获就是懂得如何使用Jmeter进行高并发测试,以及对高并发和集群有概念性的了解。

12Swagger2

         除了对接他人的接口,有时候也要定义自己的接口给其他公司的系统调用。在定义接口上,公司采用目前比较常见的Swagger2来定义接口,百度了一下,也是一个很方便,上手快的工具。在pom中依赖Jar包后,再写一个config文件后,就能够进行接口的定义了。按照规定好的文档来编写。这方面上司也是要求很严格的,不像对接过的一些很奇葩的接口,比如有采用汉语拼音,有post请求,参数全部追加在url上的;接口上的规范都是向行业上的大公司看齐。除了该有的规范,还加上了MD5加密,防止不明来意的恶性攻击。这周也快速的学习到了swagger。

13、公司内部App

         公司的需求量越来越大,有些事情在电脑上进行处理很不方便,像收货,扫描等功能,用电脑操作实在太麻烦了,所以公司想要开发一款app用于在手持终端PDA上进行操作。为了快速开发,选用了目前很流行的H5+开发,并用了MUI的前端手机开发框架,结合定义好的接口,快速的完成了一个功能,供公司内部人员使用。虽然H5做出来的App在安全上没太大的保障,但是只是内部需求,不提供对外。第一个模块搞好后,后面陆陆续续的完成一个个小功能。开发只有很短的一周,但我也学到了很多H5+方面的知识。不得佩服H5的开发速度,比原生安卓快了好几十倍。不足的地方就是很多功能实现不了,像蓝牙打印功能就太麻烦了,而且怎么弄都实现不了打印图片。还是有很多东西要学的。

14、日常2

         实习到现在,学了很多新的开发知识,但系统上的很多东西,还是不是很清楚其原理,系统上用到很多Jar包,大部分都是调用,懂得如何用,出什么效果就行,不用知道其原理,当我想去了解它时,看着底层代码一阵头皮发麻,虽然说是外国人写的,全是英文,思路可能也不同,但我想大部分原因还是自己能力有限,一直写着一些比较低级的代码,一看到别人写的稍微高级点的就看不懂了。IT的路果然不是那么平平坦坦的,得多多充电才行,所谓技多不压身身嘛。

15、日常3

         这周在优化系统,整体提高系统的代码性能。点回去看一开始实习时写的代码,简直不忍直视,这是我写的?很多地方没有规范好,没有优化好。比如:使用JPA进行查询没有优化好,范围大的,可以过滤掉数据量大的没有前置,虽然代码整体没有错,也没有bug,但是性能低;比如有得地方不懂的使用java原有特性,多做了很多循环(Map);比如多加了判断,没有及时跳出循环(break)等。不过也证明了自己比之前写的代码要规范很多了,这也是一点点进步。可能再过阵子再去看原来的代码会有不一样的体会吧。有点像一本好书,多看几遍每次都有不同感悟,也说明java这门语言还是很优秀的。

猜你喜欢

转载自www.cnblogs.com/lrj1009IRET/p/10806856.html