记录自己在开发这一年所学、用到的技术
目录
1.后端开发时所需要的环境
1、JAVAJDK、JRE
1、Java 及设计模式
六大原则
开闭原则:
1.开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
设计模式
单例模式 代理模式 工厂模式
2、框架、工具
1、Spring、SpringMVC、SpringBoot、SpringCloud
一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。
官网:https://spring.io/
2、MyBatis、MyBatis puls 及MyBatis分页插件PageHelper
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
官网: https://mybatis.org/mybatis-3/zh/index.html.
3、Logback、log4j、SLF4J
Logback 继承自 log4j。
Logback 的架构非常的通用,适用不同的使用场景。Logback 被分成三个不同的模块:logback-core,logback-classic,logback-access。
logback-core 是其它两个模块的基础。logback-classic 模块可以看作是 log4j 的一个优化版本,它天然的支持 SLF4J,所以你可以随意的从其它日志框架(例如:log4j 或者 java.util.logging)切回到 logack。
logback-access 可以与 Servlet 容器进行整合,例如:Tomcat、Jetty。它提供了 http 访问日志的功能。
Logback 中文文档: http://www.logback.cn/
SLF4J 中文文档: http://www.slf4j.org/
4、java工具
1、Hutool
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
官网:https://www.hutool.cn/docs/#/
2、feilong-core
官网:https://www.oschina.net/p/feilong
5、Velocity
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当 作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。
开源中国 :https://www.oschina.net/p/velocity?hmsr=aladdin1e1
官网:http://velocity.apache.org/
6、iText PDF操作类库
iText 是一个非常著名的能够快速产生 PDF 文件的 Java 类库。支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合。
开源中国:https://www.oschina.net/p/itext
7、Swagger UI
Swagger UI:提供了一个可视化的UI页面展示描述文件。接口的调用方、测试、项目经理等都可以在该页面中对相关接口进行查阅和做一些简单的接口请求。该项目支持在线导入描述文件和本地部署UI项目。
官网:https://swagger.io/#
8、Elasticsearch 分布式搜索引擎
Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决越来越多的用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
开源中国:[https://www.oschina.net/p/elasticsearch(https://www.oschina.net/p/elasticsearch)
官网:https://swagger.io/
2、web服务器
(1).tomcat只能算是web container,是官方指定的jsp&servlet容器,只实现了jsp/servlet的相关规范,不支持EJB.
(2).weblogic是将j2ee的应用服务器(web container+EJB container),包括ejb、jsp、servlet、jms等,属于全能型的。
(3). WebLogic Server凭借其出色的群集技术,拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错 。无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的。所以,在扩展性方面WebLogic是远远超越了Tomcat。
(4).weblogic现在也开始如同tomcat一样免费了。
1、Tomcat 服务器
官网: https://tomcat.apache.org/
2、WebLogic服务器
官网: https://www.oracle.com/cn/middleware/technologies/weblogic.html
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic是美商Oracle的主要产品之一,是并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.2.1.4) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。
3、MySql 数据库
链接: MySql官网 https://www.mysql.com
4、Redis 缓存
链接: Redis官网 https://www.redis.net.cn/
5、Git、SVN 代码托管服务
链接: Git 官网 https://git-scm.com/
链接: SVN官网 https://tortoisesvn.net/
6、Minio 分布式文件存储
官方文档 https://docs.min.io/cn/
个人教程 https://blog.csdn.net/weixin_43877551/article/details/111086642
7、Nginx正向代理与反向代理
Nginx中文文档 https://www.nginx.cn/doc/index.html
8、Nacos 发现、配置和管理微服务
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
官网:https://nacos.io/zh-cn/index.html
9、kkFileView 在线文件预览
官网:https://kkfileview.keking.cn
10、Jenkins自动化部署
9、软件
1、IDEA 开发编辑器
2、Typora md编辑器
3、Google浏览器
4、navicat、DataGrip 数据库可视化
5、VMware 虚拟机
6、Postman api管理工具
7、Git、SVN 代码托管
8、Xshell、WinSCP 终端模拟软件
9、网站
1、快传
皮皮直连:https://www.ppzhilian.com/
奶牛快传:https://cowtransfer.com/
2、下载软件
2.前端开发时所需要的环境
1、HTML CSS JS(javaScript)
2、node.js
3、npm cnpm
4、vue.js
5、软件
1、WebStorm 编辑器
2、Visual Studio Code 编辑器
3、Google 浏览器
6、开源框架
1、element 组件
文档: https://element.eleme.cn/#/zh-CN
2、Router.js 官方的路由管理器
文档: https://router.vuejs.org/zh/api/
3、Moment.js 日期处理类库
4、VueTreeselect 树选择
开发文档: https://vue-treeselect.js.org/
5、Ant Design Vue 组件
开发文档: https://2x.antdv.com/
6、Vben Admin 一个开箱即用的前端框架
开发文档: https://doc.vvbin.cn/