今天是2018年7月20号,周五。从周一开始实习到现在,终于想起来要写日记这种东西了,可以记录一下自己这一天所学所做所知也是蛮不错的。先简单总结一下自己的大学生活吧,算是多姿多彩,体验了很多东西。在大学里,我的学习轨迹大约是大一的一开始认真了一段时间,然后从大足赛回来,心思就已经不在学习上了。然后一直持续比较低的投入状态吧,一直到了大三下,算是猛然醒悟,危机感十足,开始恶补。奈何之前基础打的也一般,学习之路也比较坎坷,经常需要补一些之前的基础。但让我收获最多的,是在这段认真学习的时间中,享受投入在代码中的感觉,虽然比不上很多厉害的前辈,但也算是能沉浸在代码里面了。废话了这么多,回顾一下这第一周的实习吧。
第一天
因为这一天来的时候组长刚好请病假不在公司,所以顺其自然的划了一天水。早上主要是在之前看了几天Vue.js的基础上,再熟悉和实践一下Vue.js这个框架的使用,然后大概了解了一下vue-router的作用。对于这一天的我来说,大概搞明白了单页应用是怎么回事,因为之前没有看懂vue-router,不理解单页应用是怎么做到切换的。在了解了vue-router之后,大概明白了单页应用是通过配置<router-link>这个标签来控制页面中组件之间的跳转,当然还有编程式的方式,通过this.$router.push()这个方法,传入路由地址实现跳转。然后通过<router-view>这个标签,控制页面中组件的显示,如果是嵌套的组件,那么也可以通过在组件中使用这个标签来显示子组件。
下午的时间基本也是在写Vue的一些简单demo,实现简单的todo list的功能,因为以前不怎么接触前端,所以对于Vue数据绑定这个功能感觉也是十分新奇和好玩。但是因为主要想做的方向不在前端,所以对于Vue我自己心中的定位也是在能够会用就好。除了写demo之外,和后面的同事要了他在做的项目的代码,当时想着看懂他们的代码,然后就能申请任务来做了,确实前端里组件这些东西的逻辑比较少,所以感觉看起代码来不会很费劲,还是很轻松的看明白的。JavaScript的部分的话,倒是看起来不是很舒服,首先语法和Java比起来就让我觉得很不规范,看着就难受。然后再看代码和写demo之中,一天就过去了。PS:公司的食堂味道在我意料之外,竟然还不错。说实话食堂的环境让我看起来觉得会是一家难吃的食堂,但是吃的时候觉得真的还ok,一周下来我也没觉得有特别无法接受的一天,这对我来说应该算一个极大的利好了。
第二天
今天组长回来了,和我简单的说了些话,大意是HR那边说我熟悉前端,然后想让我学多点Vue好写项目里的前端部分。其实我是更想发展后台的,于是我就和他说,HR那边应该是搞错了,我是更熟悉后端的,然后也更想做后台方面的东西。万幸从后面的任务来看确实也让我更多的接触到了后台,也是庆幸我说出了我的真实想法,没有憋屈的做不是很想做的东西。所以看来还是要勇敢提出自己的想法和需求的。这一天基本也是以熟悉Vue为主,因为周五写的实在想不起来具体做了些什么了哈哈,以后坚持每天写,这样才能写出东西。
第三天
今天组长布置下来了关于后端的任务,学习关于企业微信的开发,所以今天又是一天照着官方api文档写demo的一天。在这个过程中倒是了解了不少相关知识,收获特别丰富,有JSON处理主要是Http请求和响应这两个部分。然后我自己注册了一个企业微信,用于测试,说实话,因为以前从没有接触过需要调用别人接口的代码。所以当调用了微信官方的接口,得到了返回的数据后,那种感觉真的超级棒。总结起来就是,JSONObject可以用来处理JSON格式的字符串,生成JSON类型的实体,感觉就是一个集成了一些其他方法的Map。主要用到的也就是put和getString方法。然后Http请求这方面,确实是以前根本没有碰过的。哈哈这样一看好多以前没接触过的东西啊。
HttpClient用于发送请求,HttpGet和HttpPost分别用于构造get和post请求。get和post主要应用场景是一个获取数据,一个提交数据。简单来说主要因为get方式的参数存放在url中,有多种限制且不安全,不适合用在提交数据的场景。而post则封装在http请求里,没有诸多限制,所以一般提交数据的场景是使用post方法。两个方法都可以拿到返回的响应,响应中可能有返回的数据也可能没有,就看实际情况了。HttpResponse就是返回的响应,其中有方法对应得到请求的header或entity等。Entity类可以和JSONObject相互转换,响应中的数据就是从entity类型转为JSON格式。这一天在我自己的企业微信上实现了不少简单的demo,成就感满满。
然后今天组长在下班前给我提了一个需求...因为项目的页面在微信上显示的有一些问题,Vue生成的导航栏最后在html上生成的是<body>下的<header>标签。但是微信自己有一个顶部的显示栏,然后和我们自己写的导航栏就有很蛋疼的视觉效果,简单来说就是有两个页头,确实不好看。组长说,通过二次验证(实际上我觉得他应该是用错名词了,因为二次验证在企业微信特指成员加入企业微信时,需要跳转到企业自己的页面进行第二次验证才能加入,所以以后组长说的二次验证我都用授权登陆这个说法),就可以实现将嵌套的页面变为原生微信页面。在我这个前端小白听起来好像是那么回事,然后我就去做授权登陆。但是因为这个时候我没有后台代码,所以我构造了拿微信code的链接放在菜单里,回调的url是我们项目的主页,这样应该也算是授权登录了吧,虽然我没有处理code,但是用户毕竟授权了。结果显而易见,没有达到组长的需求。然而在我主动加班的时候,我发现,这个微信的原生顶部导航栏,其实就是网页里的标签页嘛,里面的文字属性是绑定的<head>标签下的<title>属性。知道了这个之后我更愁了,怎么反驳一位资历、经验都很厉害的项目组组长呢。唉,想来想去就发了一条微信简单说明了一下情况就没管了,第二天再和他说吧。于是这一天也就这样过去了。
写的有点点小累,记了很多流水账,毕竟是第一次写博客,也没提供什么值得大家学习的东西,毕竟我连半桶水可能都算不上。第四天和今天的内容就放到下一篇来写吧。生活、工作上的东西之后会基本不写了,打算专注于代码或是一些相关的东西,毕竟写博客的意义在于记录自己掌握了什么内容以及遇到了哪些问题和怎样解决。那么今天第一篇博客先这样吧,不知道会不会有人能看,不过无所谓啦,单纯记录自己的daily coding,just for fun!
Terence Xie
2018.7.20 周五 22:51