最近技术大牛们给分享了很多知识,让我也从中收获了很多,现在自己总结一下。
jenkins
首先jenkins是什么,相信咱们听完分享之后都知道了,jenkins就是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。
它有什么用呢? 就是持续的软件版本发布/测试项目并监控外部调用执行的工作。为什么它能流行起来呢,看了很多博客的介绍,其实它因为插件很多,很全面,用起来也很方便。
为什么要用它呢?因为在开发程序时咱们都是团队开发,而团队成员开发不可避免就要每个人都去集成工作,这样一次一次集成就会很麻烦,而有了自动化持续集成软件,就能持续验证,从而尽快发现其中的错误,节省很多时间。
druid
上次听分享就觉得这个东西读着真难听!不过呢难听归难听,咱还得了解不是。那这是个什么东西呢?它就是一个数据库的连接池。是当前最好的数据库连接池。那数据库连接池又是什么呢?其实数据库连接池就是负责分配,管理和释放数据库连接的,它允许程序重复使用一个现有的数据库连接,这样就不用一次次的去建立数据库连接了。
nginx
Nginx 是一个高性能的HTTP和反向代理web服务器,为什么用它呢?因为它支持的并发数量能有50000个,这就很优秀了。而且nginx需要占的内存也是比较少的。
那什么是反向代理呢?举个人家说的例子:例如甲想找乙借钱,但是甲不认识乙,那怎么去借呢?甲只能找一个中间人,这个人既认识甲,也认识乙,这样甲就能借到钱了。在这个过程中,中间人充当的就是代理的角色,而你知道借钱是怎么回事,但是乙不知道,他以为是中间人借的呢,这就是正向代理。而反向代理就是你想借钱,你只是想跟中间人借,但是中间人也没钱,于是把你的情况告诉给乙,于是乙把钱给了中间人,让中间人再给你。这个过程中,你不知道跟谁借的钱,你就知道是中间人给你的钱。这就是反向代理。当然,例子也许不这么贴切,但是大体上就是这么个意思。
xxl-job
这个东西大佬讲的也很有意思。人家读作doubleX L-job,这个就是一个轻量级分布式任务调度框架。其实也就是负责调度任务的调度中心。它的目的是在于能够通过web端直接控制(调度)任务的活动。相较于之前,任务的启动是由于定时器的控制或由于事件的触发(写死在代码中),当项目布起来之后实际上任务相较于运维人员是处于一种不可控的状态,总会有些需求要求运维人员需要立刻调度任务或结束一些定时任务。所以任务调度平台相较于之前对任务的处理是一种补充和替换的方式,具有更高的可控性。分布式是因为很多项目本身就是分布式的,且分布式调度平台(及执行器集群)拥有更好的稳定性及高并发性。
Redis
redis是一个高性能的键值数据库,是最热门的nosql数据库之一。这个我们都多多少少了解一些。redis为什么好呢,因为它是把数据放到内存中,这样运行就会高效很多。而且能提高持久化的支持,能将内存中的数据异步写入到硬盘中。而且它简单稳定(是单线程),能够支持主从复制,实现多个相同数据的redis副本。并且还高可用,支持多种语言。所以呢性能是非常好的。它适合的场景就是:例如点赞,下拉刷新,浏览计数等,其实也就是需要高速响应的情况。
工作流
工作流是什么?其实我觉得说白了就是在某个过程在计算机环境中的自动化实现,从而达到目标的实现。这次分享的是activiti,它是2010年发布的一个业务流程管理的框架。它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。为啥要用它呢?因为它能适合需求经常改动,文档缺失的情况,能做到快速响应,流程可视化,自动化。节约了时间,提高了效率。
session
这个就理解的比较多了。session的意思就是会话,作用就是在浏览器中储存数据用的。而cookie也可以做这件事,当然他们是有区别的:那就是cookie在本地浏览器,而session在服务器端。cookie存储时间短,容易丢失,也容易被窃取。而session就更加安全一些。在分享时听到大佬们说到了一个叫token的东西,我了解了一下,原来这个token和前两种作用差不多,也是存储数据,但是人家的安全性更好,因为人家为每个请求都弄一个签名,能防止监听和攻击。
mybatis-plus
一听到plus我就想到了各种手机,什么iPhone-plus,华为plus,听分享这个应该就是mybatis的完善版。我们都知道有一个ssh框架和一个ssm框架,而现在用的更多的是ssm框架,为什么呢?因为ssh中的hibernate智能化太高,学习成本高,不灵活,要做更改不是很方便。而ssm中的mybatis就没这么高智能化,学习成本也很低,很快就能上手,而且程序员直接编写原生态sql,可严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发。但是mybatis也有缺点,例如 : SQL语句的编写工作量较大,尤其是字段多、关联表多时,更是如此,对开发人员编写SQL语句的功底有一定要求。 SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。产生脏数据的情况很多等。而mybatis-plus就改善了mybatis这方面的不足,使ssm框架能更好的使用。
好了,暂时就先总结这么多,虽然总结的都是一些人家说话的基础,但是经过总结一遍发现原来还有这么多新知识需要学习,加油吧,同志们!