- 博客(67)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 MongoDB Certified Associate Developer 认证考试心得
前段时间通过了 MongoDB Associate Developer 考试,也记下了一些心得,结果忘记发出来了,现在重新整理下。
2023-12-30 10:55:04
1515
原创 Jenkins 使用 Pipeline 构建部署 Spring Boot 应用
前言在本文开始前可以先看看这篇文章:Jenkins + Gitlab + Maven + Tomcat 持续集成部署 SpringBoot 应用实践,除了 Jenkins 构建项目的方式不一样之外,其他配置都一样。关于 pipeline 的简介和 pipeline 的两种语法模型的区别可以看这篇文章: Pipeline 声明式和脚本式的主要区别Spring Boot 项目准备这里创建了一个简单的 Spring Boot 项目,功能简单,运行后会提供一个可访问的 index 页面。结构图如下:项
2022-04-19 00:20:46
3005
原创 Pipeline 声明式和脚本式的主要区别
什么是 Pipeline在进一步讨论 Pipeline 两种语法模型的区别前先来了解下什么是 pipeline,为什么要到它。Pipeline 是 Jenkins 中的一套自动化流程框架,代表一系列工作流或活动流,作用是允许将单个Jenkins节点或者多个节点的任务组合连接起来,从而实现单个任务难以完成的复杂构建工作。它有以下优点:Code(代码): Pipeline 的任务是通过代码来实现的,可以通过git来进行版本化控制,团队成员可以编辑迭代Pipeline 代码Durable(持久化):
2022-04-10 17:13:21
3410
原创 CentOs7 安装 Docker
卸载旧版本$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine设置yum仓库# 安装所需的包sudo yum install -y yum-utils# 设置使用稳定存储库sudo yum-config-manager \ --
2020-11-30 00:59:12
249
1
原创 CentOs7 搭建 K8s 集群实践
Kubernates 简介Kubernetes(简称,K8S)是 Google 开源的容器集群管理系统。在容器部署时代,我们知道了容器类似于 VM,但有着更好的隔离属性,与基础架构分离,使得它可以跨云和 OS 分发进行移植。它的应用和其运行环境捆绑在一起,可以进行持续开发,集成和部署,并且因为镜像不可更改可以快速回滚。容器镜像比 VM 镜像能够更快地创建,隔离性好,敏捷的应用程序和部署,但是在生产环境中,如果容器较多,如何管理容器的生命周期将会变得棘手,但如果由系统处容器的弹性扩展,故障转移,是不是就极
2020-11-30 00:45:47
1276
原创 Jenkins 配置邮箱服务器发送构建结果
安装 Email Extension Template 插件Jenkins 自带邮件通知,但是它无法提供详细的邮件内容、无法定义发送邮件的格式、无法定义灵活的邮件接收配置,好在 Email Extension Template 插件能够通过灵活的配置,发送我们自定义的邮件模板。搜索安装下面这两个即可Jenkins 配置邮箱相关参数进入到 Manage Jenkins->Configure System 下配置管理员邮件地址配置 Extended E-mail Notification
2020-11-24 00:42:36
988
原创 Jenkins + Gitlab + Maven + Tomcat 持续集成部署 SpringBoot 应用实践
简介本次同小伙伴们分享使用 Jenkins + Gilab + Maven 来自动化部署一个 Spring Boot 应用,架构图如下:该 Spring Boot 应用是一个简单的商品后台管理应用,采用了 Spring Security + JWT + MySql, 前端采用了 React 构建,放在 classpath:/resources/static 目录下,商品图片上传到本地目录下通过 nginx 代理访问。后端代码结构如下:环境准备本次自动化构建准备环境如下:安装 CentOs7
2020-11-22 19:03:39
458
1
原创 React初尝
React 是什么react 是一个做 UI 的库,具体来说是做 UI 组件的库,专注于做 mvc 中的 v为什么使用Reactapi 少, 类库易学组件内聚,易于组合原生组件和自定义组件融合状态/属性驱动全局更新commonjs 生态圈/工具链完善JSX类似 xml 的语言,用来描述组件树<div className = "x"> <a href="#">#</a> <component x="y">...</c
2020-10-24 18:49:47
143
原创 解决XSL转义带换行符的文本数据
问题描述最近写的项目中有一个这样的需求:后台保存了商品的信息,这些信息保存在一个字段里,用换行符隔开,然后客户端接收到这些信息后把它填充到 xsl 文件里头,然而在显示的时候会直接把换行符也显示出来了。解决一开始想通过 JS 把内容读取出来再转成 html 格式把它填充回去,虽然可行,但感觉还是比较麻烦,最后发现 xsl 有个属性可以设置为不转义文本内容, 如下,yes 为不转义,no 为转义。<xsl:value-of select="demo/title" disable-output-e
2020-09-12 19:19:30
767
1
原创 Spring Boot2 实战系列之登录注册(三) - 邮件激活账号和密码重置
前言在前面的博文 Spring Boot2 实战系列之登录注册(二) - 登录实现 中实现了登录功能。这次继续完善常用的功能,就是在注册的时候可以向注册邮箱发送一个链接,打开该链接才能激活该账户。还有就是忘记密码重置的功能。项目架构项目结构图如下:pom 依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
2020-07-02 23:27:30
1219
原创 Spring Boot2 实战系列之使用 Spring Security 实现登录
前言在之前的一篇博文 Spring Boot2 实战系列之语言国际化 中利用了 BootStrap 官网的一个登录页面实现了语言国际化,这次在此之上进行改进,增加 Spring Security 的功能,使其能对登录用户进行认证。Spring Boot 已经为 spring security 进行了自动配置,只需要引入以下依赖即可: <dependency> <groupId>org.springframework.boot</groupId> <
2020-05-23 13:45:25
1348
原创 Spring Boot2 实战系列之登录注册(二) - 登录实现
前言在前面的博文 Spring Boot2 实战系列之登录注册(一) - 注册实现 中实现了一个基本的注册功能,这次继续把登录功能加上,采用 spring security 对用户进行认证,采用 session 管理用户登录状态。项目架构项目结构图如下:pom 依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http
2020-05-17 00:07:17
866
原创 Spring Boot2 实战系列之登录注册(一) - 注册实现
前言登录注册是一个网站最基本的功能,但它其实可以涉及到比较多方面,如用户注册时的密码校验,账户邮件激活,或者用户登录时的权限认证等。这次我们就来逐步实现一个登录注册功能。具体会用到 Spring Security来管理应用的认证授权,对象映射框架 JPA,同时为了方便演示,使用了基于内存的 H2 数据库。首先来实现一个基本的注册功能。项目架构项目结构图如下:pom 依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xml
2020-05-10 18:13:28
984
原创 Spring Boot 默认日志使用
前言日志框架有很多种,但常用的日志框架是这三种: Log4j,Log4j2,Logback,简单介绍下它们的关系:Log4j 是 作者 Ceki 最早在 1999 年发布的,在2015 年宣布终止。Log4j 被 Apache 收入门下后,它的作者后来又开发了 sl4j(sl4j 是日志的抽象层,提供了简单统一的接口) 和 Logback(在 log4j 基础上进行了改进)Apache ...
2020-05-04 19:52:05
3709
1
原创 Spring Boot 入门简介
概述Spring Boot 是简化 Spring 应用开发的一个框架块,它整合了 Spring 的整个技术栈,提供了 J2EE 开发以站式解决方案。它的目标是让你无需手动进行繁杂的配置或者只需要用到很少的配置就可以快速将你的项目运行起来。核心功能内置 Tomat,Jetty 和 Undertow servlet 容器,可以独立运行应用,无需打 war 包提供一系列的 starter p...
2020-05-03 20:42:01
298
原创 Spring Boot2 实战系列之使用 RestTemplate
前言在另一篇博文 Spring Boot2 实战系列之RESTful Web Service 中我们构建了一个 restful 风格的项目,并用 postman 来围绕 HTTP 动词 GET,POST,PUT,DELETE 对员工信息展开 CURD 操作。那么在实际项目中,如果我们想调用别人提供的 resultful api 来请求网络资源应该怎样做呢,很多人会想到用 httpclient,但...
2020-05-02 20:48:19
1531
原创 Spring Boot2 实战系列之使用Thymeleaf模板引擎
前言Thymeleaf 是一个 xml, xhtml,html5 的模板引擎,Spring Boot 官方推荐使用 Thymeleaf 引擎,因为它对 Spring MVC 提供了完美的支持。我们知道以前的 Spring MVC web应用在视图层常使用 JSP,但 springboot 使用的是内嵌的 servlet 容器,而内嵌的 Tomcat 和 Jetty 不支持以 jar 形式运行 J...
2020-05-02 01:53:10
242
原创 Spring Boot2 实战系列之文件上传下载
前言文件上传和下载是很多网站都会有的功能,这次我们来实践下用 Spring Boot 实现这个功能。为了方便演示,没有实现将文件存储到数据库中,只是用到了一个 List 将上传文件的相关信息保存在内存中,文件本身放在本地磁盘。创建项目项目结构图如下:pom 依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xml...
2020-04-29 23:53:49
271
原创 Spring Boot2 实战系列之使用分页插件PageHelper
前言在网站里我们常常会看到可以分页的列表,这次我们就通过 springboot + thymeleaf + pagehelper 来实现这一功能。PageHelper 是开源的 MyBatis 分页插件, 支持任何复杂的单表、多表分页,详细使用方法可查看 官方文档下面通过一个展示商品信息的页面来演示怎样使用 pagehelper创建项目项目结构图如下:pom 依赖如下:<?xm...
2020-04-27 00:55:08
693
原创 Spring Boot2 实战系列之语言国际化
前言在很多网站我们可以看到可以切换语言的按钮,如果网站需要面向海外用户,那么实现网站语言国际化就显得非常必要。在 Spring Boot 中,我们可以非常方便地实现这个语言国际化的功能,下面就开始动手来实践一个可以中英切换的登录页面吧。创建项目项目结构图如下:这里的登录页面使用的是 Bootstrap 官方的一个实例,下载下来,把相关静态资源文件导入到 resource 目录就好。...
2020-04-18 23:25:18
493
1
原创 Spring Boot2 实战系列之RESTful Web Service
前言关于 REST 概念的阐述,是 Roy Fielding 大神在他的 博士论文 中提出的,有兴趣的小伙伴可以去看一下,Restful web service是指遵守了 REST 风格的web服务, 可以看下阮一峰老师的 RESTful API 最佳实践。但要记住的是 REST 是一种设计风格,它背后的理念是使用 HTTP 动词 GET,POST, PUT, DELETE 来对应服务的 CU...
2020-04-12 20:06:31
259
原创 Spring Boot2 实战系列之Scheduling Tasks
前言在系统中使用定时任务已经是一个比较常见的事情,比如需要定时发送邮件报告,生成系统日志,进行数据归档等。Spring3.0 起加入了任务调度功能 Schedule, 它不需要使用依赖其他 JAR 包,使用起来比较方便。在 SpringBoot 中使用 scheduled,在项目启动类上添加注解 @EnableScheduling 来开启任务调度,然后在方法上使用注解 @Scheduled ...
2020-04-12 17:26:40
191
1
原创 Spring Boot2 实战系列之 exception 配置
前言在实际项目中,通常会有各种异常抛出,如果我们不加以捕捉并自定义统一的response(返回信息),那么用户就可能看到莫名奇怪的错误。比如常见的 NullPointerException, 你直接返回这个错误信息,相信用户也是一头雾水。还有就是统一捕捉异常并自定义报错信息也有利于我们排查,迅速定位问题所在。我们先来看下如果不做全局异常配置会是怎样,如下例所示,在 controller 层的...
2020-04-07 00:48:57
255
原创 Jenkins 插件安装失败解决办法
前言如果还没有安装 Jenkins 的小伙伴,可参考另一篇博文: CentOS7 安装 JenkinsJenkins 的官方镜像源非常慢,国内基本不可用,经过一番研究整理,有3种安装插件解决办法在 Jenkins 官网下载想要的插件,再导入到 Jenkins 中。(较为繁琐)更改 Jenkins 的镜像源。(可用,但安装插件还是不够快)同第二点类似同样要配置镜像源,不过要先安装中文社区...
2020-04-06 03:28:19
10343
1
原创 CentOS7 下安装 Jenkins 教程
下载首先前往官网挑选安装包:https://jenkins.io/zh/download/, 选择图中红框 Red Hat/Fedora/Centos 一栏进入安装包列表,我这里选择了 jenkins-2.176.3-1.1.noarch.rpm。安装注意,安装前先确保已经安装了JDK8 及以上版本。按照惯例,安装前先更新下软件源:sudo yum update -y将下载的 ...
2020-04-06 01:47:00
526
1
原创 Spring Boot2 实战系列之多环境Profile
前言在开发软件中,一个值得注意的问题就是当程序从一个环境迁移到另一个环境时,我们的程序是否依然正常运行,因为在开发阶段时,某些环境配置可能与生产环境不同,例如数据库配置,加密算法等。在 Spring 中,你可以分别为不同的环境设置一个配置类,然后在运行时再根据环境来确定应该创建哪个 bean 和 不创建哪个 bean。在 Spring3.1 中,引入了 bean profile 的概念,可以将...
2020-03-29 16:26:06
307
原创 Spring Boot2 实战系列之使用HTTPS
前言各位小伙伴有没有发现,现在的网站基本都用上了 HTTP,因为 HTTP的通信是明文的,容易被不怀好意的人监听通信,窥探用户的隐私,这简直就是裸奔。而 HTTPS 使用 SSL 证书在加密通信前进行身份验证,协商加密算法以及交换密钥,可以满足基本的安全需求,即防窃取,防篡改,防钓鱼。https 通信的流程如下:HTTPS= HTTP + SSL, 想要建立起 HTTPS 连接,则必须使用...
2020-03-28 22:31:46
244
原创 Hexo更换电脑如何同步博客配置解决办法
前言关于使用 Hexo 搭建个人博客可参考本人另一篇博文: Hexo框架+NextT主题搭建博客教程相信有不少小伙伴使用 Hexo 来搭建自己的个人博客,但问题是如果你电脑突然坏了,或者你想在其他电脑编辑发表你的博客,又要花费时间精力来重新配置你的站点,这样就比较麻烦。这时,我们可以将 hexo 相关目录文件放到 Github 或者其他 Git 托管平台,如此一来,无论你在哪里,都可以随时 c...
2020-03-28 03:02:23
511
原创 Spring Boot2 实战系列之属性配置
一、前言在项目中我们常常需要配置一些基本的属性,比如连接数据库的 URL, Driven, username,password 等,这些配置内容如果放在代码中会变得难以维护, 想象一下,当你的应用配置信息临时需要变更时,你要改动代码然后重新编译打包再部署,如此一来就耗费大量时间,给用户带来不好体验。因此,我们通常将配置信息放在一个配置文件中,一般以 .properties 结尾,因为可以直接通过...
2020-03-27 00:12:22
125
原创 Java常见设计模式
前言设计模式的概念最早来源于建筑大师 Alexander 的《建筑的永恒方法一书》,书中的观点实际上也适用于软件设计领域。Alexander 是这样描述模式的:模式是一条有三个部分组成的通用规则:它表示了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心设计。软件设计模式通常被分成三类:创建型:创建对象时,不再直接实例化对象,...
2019-03-26 23:02:06
171
原创 【个人心历】说说IT应届毕业生的那些事儿
认清自我,踏实前进——“大家好,本人是某渣本的一名屌丝,在学校期间浑浑噩噩过了三年,第四年决定奋起直追,用了一个月的时间拿下了xxxx大厂的offer…”Ok,显然不是我,只是个玩笑。在之前那段苦逼找工作的日子,我看过不少大佬的面经,然后十分雷同的是,他们都喜欢在文章的开头说上这么一句:本人是某某渣本一枚,某某渣硕一枚,但在文章的后面却列出了好几个已经到手的知名大厂的offer,形...
2019-03-26 22:57:31
1863
翻译 Cordova开发篇
Android 平台支持的Android API级别和过去几个cordova-android版本的Android版本:cordova-android 版本支持的 API 级别实际安卓版本7.X.X19 - 274.4 - 8.16.X.X16 - 264.1 - 8.0.05.X.X14 - 234.0 - 6.0.14.1.X14 - 2...
2019-01-26 20:40:50
4539
原创 【计算机网络】之常见面试题
OSI 体系结构与 TCP/IP 体系结构?OSI(Open System Interconnection Reference Model), 开放系统互连基本参考模型,是七层协议体系结构:然而目前应用最广泛的不是法律上的国际标准OSI,而是非国际标准 TCP/IP,TCP/IP 是一个四层的体系结构:每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,...
2018-11-06 01:39:18
321
原创 Ant入门
前言Ant是较早期的一种项目构建工具,在2000年就已出现,是当时比较流行的Java构建工具,它采用XML作为配置文件,有自己的一套构建过程控制标签,它的优点是对工程构建的过程控制比较好,它的缺点是build.xml文件比较大,开发人员需要编写繁杂的标签,属性等。当然项目构建工具还有现在比较常用的 Maven 和 Gradle。Maven也是采用 XML作为配置文件,支持网络下载的功能,他的优...
2018-09-27 23:23:47
1975
1
原创 【MyBatis必知必会】之提升篇
前言对 MyBatis 没有概念的同学可参考另一篇博文:【MyBatis必知必会】之入门篇输入映射和输出映射Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。环境准备创建一个Java 工程 :mybatis-demo2,复制上一篇博文工程中的内容和添加相应的依赖,只保留 Mapper接口开发相关的文件...
2018-08-12 02:35:20
342
原创 【Linux必知必会】之常用命令快速入门
前言平常大家可能使用的都是预装Windows系统的电脑,毕竟Windows系统支持丰富的图形界面,在娱乐和办公方面比较有优势,易用性也较好。用惯了Windows的人,看到Linux那黝黑的命令行窗口,可能会头皮发麻,但其实Linux是被广泛用作服务器对外提供服务的,只不过普通大众不清楚而已,通常服务器是放在比较阴凉通风的地方的,服务器只需响应转发请求,不需要丰富的图形界面,在维护时再接个显示屏...
2018-08-11 01:43:27
688
原创 【MyBatis必知必会】之入门篇
MyBatis介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册...
2018-08-10 09:05:16
364
原创 【MySQL必知必会】之多表查询
前言本文的例子用的是MySQL数据库,对此无概念的话可以参考另一篇博文【MySQL必知必会】之入门篇SQL 会创建多表及多表的关系技术分析:建数据库原则:通常情况下,一个项目/应用建一个数据库多表之间的建表原则一对多 : 商品和分类建表原则: 在多的一方添加一个外键,指向一的一方的主键多对多: 老师和学生, 学生和课程建表原则: 建立一张中间表,将多对多的关系,...
2018-08-09 23:56:01
228
原创 【MySQL必知必会】之入门篇
前言SQL 是用于访问和处理数据库的标准的计算机语言,通过 SQL 来管理数据。结构化查询语言 (SQL) 是用于访问数据库的标准语言,这些数据库包括 SQL Server、Oracle、MySQL、Sybase 以及 Access 等等。以下使用 MySQL 数据库进行说明,MySQL的安装可以参考另一篇博文【Linux开发环境搭建】之MySQL安装数据库操作连接数据库...
2018-08-09 04:26:50
460
原创 【Linux开发环境搭建】之Nginx安装
前言什么是Nginx?Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。Nginx的应用场景Http服务器。Nginx是一个http服务,可以独立提供http服务。可以做网页静态服务器。虚...
2018-08-08 05:57:30
180
Redis-3.0.504-x64-windows(msi+zip).zip
2020-03-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人