两个月的Java实习结束,继续努力
前言
只有光头才能变强
2018年8月30日,今天我辞职了。在6月25号入职,到现在也有两个月时间了。
感受:
这两个月过得很开心,好吃好住,就是长胖了
另外值得一说的是:别以为我写了那么多博客的就很厉害,很牛逼,其实我渣得一批!校招的算法笔试题基本没有ac的,在面试的时候,知识点说忘就忘。我写博客主要是记录一下自己的成长,遗忘的技术可以翻看,跟大家一起交流交流,共同进步~
朋友吐槽我写的文章像是小学生作文,我也不擅长着感想之类的…..所以,将就点看吧..~
下面主要记录了在实习中遇到的新技术,还有一些之前写过的笔记也放上来了。
一、实习时学到的新技术
1.1swagger文档框架
在看公司代码的时候,发现Controller有几个我不知道的注解:@Api
,@ApiOperation
..
去查了一下,原来是接口的文档框架。
想要更加深入了解:
1.2Lombok让Java代码更简洁
看到JavaBean的时候,也发现了新大陆:注解@Data
在JavaBean中没有任何的set/get
方法,但在外面却可以使用set/get
方法,很是神奇..
去找了一下资料,原来这玩意叫做:Lombok。
要注意的是:在IDE上需要安装插件(IDEA如果没安装lombok插件,编译会错误,一大堆的红色!)
Lombok使用和介绍:
1.3postman使用
公司前后端分离,后端返回json数据给前端解析。我拿到的代码是完全没有前端页面的,老大让我装个postman来调试。
由于之前都是个人开发,想怎么玩就怎么玩(所以就没用过postman..)。
找到了一篇很好的postman教程(如果没用过的同学,看完应该可以快速上手!):
1.4JSON Web Token(认证授权)
JSON Web Token(JWT)是什么?
WT作为一个开放的标准(RFC 7519), 定义了一种简洁自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。 因为特定的数字签名,所以这些通信的信息能够被校验和信任。 JWT可以使用HMAC算法或者RSA的公钥私钥对进行签名。
什么时候应该使用JSON Web Tokens?
貌似我司很简单用了一下JWT,用于认证鉴权,我简单总结了一下流程:
- 按照正常的方式登录
- 将用户信息拼接成参数
- 用这个参数生成jwt对应的token值。
- 这个token值保存对应的权限,有效期,加密方式
- token返回到浏览器中,使用Session Storage存储起来
- 再次访问的时候,将这个token值带过去(可以通过header的方式,也可以post/url拼接的方式)。问了一下前端小哥,他们用的是Angular,封装了一下,每次请求都将其写在header上。
- 如果这个token没过期,解析这个Token值,返回对应的User对象(标识)
- 如果这个token过期了,重新让用户登录
了解更多查看文档(中文):
相关博文与讨论:
1.5SQL编写思路
之前自己写的sql都挺简单的,无非就是连接两张表查询出对应的数据。
到了需求的时候就不同了,复杂很多(以至于我写了一个星期还没写出来….)
需求的任务简单概括:要对每个字段的数据进行统计,又要显示每个字段下具体的内容
最终思路:
反正sql这玩意得多写…(虐了我一个星期,原本都认为这功能是无法实现的了..)
在完成需求的时候也想过很多种办法来解决,找思路,从中也找到了一些比较好的关于sql的博文:
非相关子查询:
相关子查询:
没有什么是select解决不了的,如果有,那就再套一层—《3y》
tips : 在连表查询的时候,思考一下是不是一开始就需要连表得出结果(可能有的时候:某个查询条件必要时,才要连表)
1.6数据库外键
在公司中,看数据库表的设计是不用外键的。
在初学数据库的时候,经常用到了外键约束。在论坛中查看讨论的时候,一般人都说很少用外键。因为我们完全可以在业务(程序控制和事务)上处理表之间关系。一般互联网应用没必要使用外键,外键会带来一系列不好的影响:
参考资料:
二、之前的一些笔记
2.1Timer和Quartz的区别
Timer和Quartz都是任务调度框架,简单来说就是:程序能够在某时某刻上执行你想要执行的代码。
之前在项目中简单用到了Quartz,在初学的时候也接触过一下Timer的API调用。之前简单记录过他俩的区别,现在回头整理一下吧~
参考资料:
Quartz Demo源码:
2.2Java生成二维码
我们现在已经离不开二维码了。
二维码是由一维码发展而来的,最典型的一维码就是我们平时去商场中看到商品包装的条形码,这就是典型的一维码。
而二维码的数据存储量信息又比一维码大得多,并且有很好的纠正的功能(即使二维码中有部分的信息不完整,还是能够解析得到二维码的数据)
使用Java语言生成二维码有以下的方式:
当然了,肯定是jquery的方式来生成二维码是比较简单的。但是如果想定制二维码的样式、形状的话。那么使用Java的方式来生成是比较灵活的。(比如:在二维码中间放上logo)
下载生成二维码的资源jar包:https://img.mukewang.com/down/5799a5440001040300000000.rar
使用Jquery的方式生成二维码的博文:http://suflow.iteye.com/blog/1687396
使用zxing生成二维码的博客:http://guopengli.cn/index.php/2017/10/05/53.html
参考资料:
2.3Java实现图片水印、缩略图
有的时候我们在上传图片时,不希望展示的图片大小和上传的图片大小相同时,我们就需要把图片进行压缩生一定的像素。缩略图例子:
图片水印也经常会看到:
无论是水印还是缩略图,其实就是通过类库来实现的,一般我们会使用JAVA图像处理库Thumbnailator。
参考资料:
最后
能看到我博客的人,说明是有看技术文章的习惯的。有看技术文章的习惯,说明都是爱技术/学习的人。爱技术/学习的人,技术一般不会差。所以能看到这篇文章的同学都是大佬—-《3y》
如果想看更多的原创技术文章,欢迎大家关注我的微信公众号:Java3y。Java技术群讨论:742919422。公众号还有海量的视频资源哦,关注即可免费领取。
可能感兴趣的链接:
标签:
相关文章
-
无相关信息