实习总结

从7.10来到点评实习,已经过了2个半月。

在这里总结一下自己的收获。

  • Java

(面向切面)一直很喜欢用注解,虽然了解面向切面的概念,但是没有自己去做过。在点评的实习期间,看到卫平会写一些自己注解,由此自己也去学会了自定义注解以及使用@Aspect来包裹自己的代码。比如说对特定的Exception来触发一个邮件通知,其间要感觉卫平的一些帮助

(Spring)尽管从写Java web开始就是Spring的用户,后来即使脱离了Web也喜欢用它的全家桶Spring Boot, Spring Data这些。但是其实来点评之前我从未自己完整搭建一个Spring的Web项目(Spring Boot是开箱即用的)实习期间对XML配置减少了几分抵触,也对Spring提倡的Java Config做了一点尝试,包括结合这两种配置,在一个非Boot的Spring项目中抛弃XML等。期间遇到一些问题,都是袁浩厉害,我跟着学了一些

(Mybatis)尽管以前就听说业界喜欢Mybatis,而我一直用的是Hibernate。感觉起来Mybatis更像JDBC, Hibernate则契合JPA规范,并且有一套标准的JPA接口与实现。至于Spring Data JPA,更加简化了db访问。对于Mybatis每次根据表生成实体类,表的变动将覆盖mapper文件以至于要手动merge这件事儿始终还是不喜欢……

(跨域)这个问题一开始出现的时候是我和舍友做母婴商店那会儿……当时我们在chrome里面调用没问题,用ajax报错,还煞有介事在stackoverflow找为啥。后来虽然解决了但是很糙就是添加一个@crossorigin的注释。来了点评以后详细的了解为什么会出现跨域问题以及解决方式还有JSONP是啥

(关于远程调用)因为受REST, Spring Boot, Spring Cloud影响,一直觉得HTTP是一个极好的调用方式。然而在点评这样的公司里,无论是因为性能的缘故或是其他什么考虑,并没有这样做……

  • 开发习惯

(Log很重要)在过去的项目里,总是不重视log,又或者说,要么是本身项目简单,要么说本身质量管理就不存在。经常依赖于在IDE中debug来找问题,极其不喜欢去服务器端看log文件。而事实上,在你没有办法debug的时候,log对于排错而言是很重要的,借助于此可以了解到一些模块具体的执行状态。此外,一个运行中的系统,如果出现错误,应该把这些预期到的或是未预期到的都打印出来,通过阅读log便能定位到问题。

(防御式编程)质量上的另一重,所有的网络请求,依赖其他人的服务,数据库访问,用户输入,这些都是在一开始应该考虑其如果崩溃自己的系统应该如何应对,而不是乐观相信这些外界服务总是良好的。这一点儿我自己此前很多时候因为偷懒不愿意去考虑边界情况,造成质量可能不够高的情况下,在企业级开发中是极其业余和不应该的,所有可能会发生错误的地方都应该妥善提供处理方法,在点评这样的系统中,应该保障无论如何不会出现用户可见的问题,至少要做到予以一个优雅的错误告知/退出。

(性能)能够批处理的请求(数据库、远程服务),理应提供一个批量的接口,或者在一些情境下并发进行,而应该避免去循环去调用。而线程数需要根据机器实际核心数、操作所需时间、应用场景进行设置,设置线程池的核心线程数、最大线程数、队列类型时应该慎重,而不是觉得差不多就好。提供给前端的服务,又或者是提供给第三方的服务,应该去关注其响应时间,并且尽可能保证在10-100ms这样一个数量级,无论是服务响应时间还是数据库查询时间,都应该予以关注,并且在其不满足要求时考虑如何重构。在成熟的系统中,不能存在明显的完全可以解决和避免的短板,在正常的访问下正常,也需要保证在预期可接受的负载内正常。

(协作)对外接口、实体类多写注释,来降低阅读代码的难度,类注释可以描述一下这个类是干嘛用的,方法的注释如果必要可以给一个调用事例等等。尽管这么做会显得很多余,但是我认为这是一个好习惯。写别人和自己都能看得懂的注释,交代一些基本内容,是应该的。调用对方服务时,能自己确认的自己确认,不能确认的应该即使和对方沟通清楚、不留隐患。在企业中,文档不全,甚至作者已经离职的情况很常见,应该自己想办法克服结局、不能把锅甩给文档。

(Git与Maven)在Maven中,一开始就尽可能使用<DependencyManagement>来指定版本,好过一个个excludeDependency Analyzer是个好插件。开发中应该绝不在master分支开发,如果每次commit能够尽量的是原子的,每个分支对应一项需求或者一个功能点,这样万一出错了,排查问题,或者回滚都很方便。如果commit信息几乎是无意义的、分支仅仅作为一个个人工作区与其他人隔开,终究还是浪费了Git作为一个版本控制工具的职能

(监控很重要)在Spring Boot中,有actuator这样一个模块,其内置了一些基础的监控,可以通过http等手段来获得系统的实时的一些指标,也可以很容易地通过实现HealthIndicator来定制自己的监控。以前没有在意这个事情,上次听了du.yi的case study以及后来高师傅指出的,觉得这一点儿是很重要的。 听闻JavaEE 8 中也加入了这一内容。前两天Java 9 与JavaEE 8一起发布,待确认……

  • 前端

学会了最基本的一些CSS,js,终于用上了bootstrap和JQuery然后转投了一些Vue.js与一些组件库,在实习期间从运营后台起步,终于能够使用Vue.js进行前端开发,由此了解了一些周边的npm,node,webpack,算是踏出了第一步,完整了一下自己以前想做一个业务地全栈的技能点。其实在很早以前尝试学习过node在web端的使用,但是后来没有继续,打算之后安排一些时间去详细学习Node,ES6,重点关注一些其性能上的特点以及V8虚拟机

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容