自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jacklife的博客

技术的道路上从未有尽头

  • 博客(21)
  • 资源 (6)
  • 收藏
  • 关注

原创 springboot集成swagger2

前言Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。可以为已有项目的生成具备执行能力的样式化API文档,极大的方便前后端程序员进行接口的对接整合。springboot是我们常用的开发框架,这篇文章主要介绍怎么在springboot中集成swagger2。使用1. maven依赖下面是我完整的pom文件:&lt...

2018-08-27 10:37:07 260

原创 docker commit 命令

简介在软件开发中经常需要保存软件状态,比如git 中每次提交的代码都会有版本号,可以根据提交的版本号进行恢复。docker中通过docker commit 命令提供了一个保存镜像状态的方式。使用比如有一镜像 adaptor 1. 通过docker run -d --name adaptor cb78f0d452af 启动docker容器,cb78f0d452af为镜像ID,启动...

2018-08-24 14:35:28 5227 1

原创 prometheus告警模块ALTERMANAGER中抑制规则的使用

prometheus服务端通过配置文件可以设置告警,下面是一个告警设置的配置文件alert.yml:groups:- name: goroutines_monitoring rules: - alert: TooMuchGoroutines expr: go_goroutines{job="prometheus"} > 20 for: 5m labe...

2018-08-23 15:46:26 7786 1

翻译 prometheus告警

1. 告警概述prometheus的告警管理分为两部分。通过在prometheus服务端设置告警规则, Prometheus服务器端产生告警向Alertmanager发送告警。 然后,Alertmanager管理这些告警,包括静默,抑制,聚合以及通过电子邮件,PagerDuty和HipChat等方法发送通知。设置警报和通知的主要步骤如下:设置并配置Alertmanager;配置Pr...

2018-08-23 10:35:36 8518 1

转载 PowerMock与Mockito使用教程

简介Mockito无法实现对静态函数、构造函数、私有函数、Final 等函数的模拟,PowerMock是一个Java模拟框架,可用于解决通常被认为很难甚至无法测试的测试问题。 使用PowerMock,可以模拟静态方法,删除静态初始化程序,允许模拟而不依赖注入等等。 PowerMock通过在执行测试时在运行时修改字节代码来完成这些技巧。 本文主要是介绍PowerMock 在 Mockito ...

2018-08-22 14:45:24 11509

原创 go测试框架Convey + Monkey的使用

前言常用的go语言测试框架包括Convey、Stub、Mock、Monkey等,用过之后发现比较好用的是Convey+Monkey,Convey是作为外层框架,Monkey可以为函数、方法等打桩,这里介绍几个Convey+Monkey的使用例子。安装go get github.com/smartystreets/goconvey go get github.com/bouk/mo...

2018-08-22 10:01:26 15797 1

原创 mockito使用教程

简介Mockito 是一个简单流行的 Mock 框架。它能够帮我们创建 Mock 对象,保持单元测试的独立性。 官方文档:http://static.javadoc.io/org.mockito/mockito-core/2.21.0/org/mockito/Mockito.html 首先添加mockito和junit的maven依赖:<dependency> ...

2018-08-17 09:10:41 8064

原创 golang日志框架之logrus

本文转载自姜总golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logrus、zap、zerolog、seelog...

2018-08-14 17:14:04 87723 10

原创 Go语言中加载.yml配置文件的方式

前言yml文件是配置文件中常见的一种,通过配置文件的方式来加载配置更具有灵活性,这里介绍一种go语言中加载.yml配置文件的方式。1 安装jinzhu/configor库这里我们使用的是github上一个开源的库,github.com/jinzhu/configor,安装方式go get github.com/jinzhu/configor也可以下载下来放在对应的目录...

2018-08-14 16:48:55 3896

原创 Go语言编程学习笔记----4 并发

4.1 并发基础在CSP系统中,所有的并发操作都是通过独立线程以异步运行的方式来实现。这些线程必须通过在彼此之间发送消息,从而向另一个线程请求信息或者将信息提供给另一个线程。4.2 协程进程(process)、进程内的线程(thread)以及进程内的协程(coroutine,也叫轻量级线程)。与传统的系统级线程和进程相比,协程的最大优势在于其“轻量级”,可以轻松创建上百万个而不会导...

2018-08-14 11:04:03 230

原创 Linux及shell脚本学习笔记----7 重定向

1 重定向定义:就是将原本应该从标准设备输入的数据,改由其他文件或者设备输入;或将原本该输出到标准设备的内容,改而输出到文件或者其他设备。2 IO重定向2.1 重定向符号> > & < | 一个特殊的系统设备 /dev/null,系统会将任何输入到该设备的内容全部删除: COMMAND > stdou...

2018-08-14 11:02:11 187

原创 Linux及shell脚本学习笔记----6 函数

1 函数1.1 定义function NAME(){ command1 command2 ...}省略关键字functionNAME(){ command1 ...}例子:#!/bin/bashfunction sayHello(){ echo "Hello"}sayHello #函数调用...

2018-08-14 11:01:33 206

原创 Linux及shell脚本学习笔记----5 流程控制

1 判断1.1 if/elif/else的使用语法结构if expression1; then command1elif expression2; then command2elif expression3; then command3...fi例子#!/bin/bashecho -n "Please inp...

2018-08-14 11:00:50 177

原创 Linux及shell脚本学习笔记----4 shell编程基础

6.1 shell内建命令type 查看命令是不是内建命令“ . ”(点号) 点号用于执行某个脚本,没有加执行权限也可以运行: . ./hello.sh 与点号类似,source命令也可读取并执行脚本alias 别名 创建命令别名:alias myshoutdown=‘shoutdown -h now’ 为了确保永久生效,可以将该条目写到用户家目录中的 .base...

2018-08-14 10:59:16 553

原创 Linux及shell脚本学习笔记----3 字符处理

3.1 管道Linux中的管道是一个固定大小的缓冲区,大小为1页,即4k字节。 管道符 : | example: ls -l /etc/init.d | more3.2 使用grep搜索文本grep [-ivnc] '需要匹配的字符' 文件名#-i 不区分大小写#-c 统计包含匹配的行数#-n 输出行号#-v 反向匹配3.3 sort 排序3.4 uniq ...

2018-08-14 10:57:39 168

原创 Linux及shell脚本学习笔记----2 linux文件管理

3.1 文件和目录管理3.1.1 绝对路径和相对路径绝对路径 从根目录开始的全路径,一定以 / 开头 比如 /usr/local/src查看当前目录: pwd特殊目录:(.)和(..) linux以点开始的文件都是隐藏文件,可以使用 ls -al 查看,(.)代表当前目录,(..)代表上一级目录相对路径 相对路径的关键在于当前在什么路径下。例如当前在/usr/loc...

2018-08-14 10:54:59 327

原创 Linux及shell脚本学习笔记----1 用户管理

2.1 linux用户和用户组2.1.1 UID和GIDUID:区分不同用户的数字(User ID) linux用户分为三类: 普通用户:ID>500 根用户:root ID=0 系统用户: ID范围命令: ps aux 查看进程用户信息ls -l 第三、四列是UID和GID : drwxr-xr-x 6 root root 4096 8月 ...

2018-08-14 09:56:47 374

原创 go语言学习踩坑交流,持续更新中

背景学习使用go语言和beego框架中的踩过的一些坑,记录下来以便交流。1. JSON-to-Go工具首先介绍一个json文件自动转化为go的数据结构的工具 JSON-to-Go 比如 prometheus server端查询出的一个结果的数据结构:[ { "metric":{ "__name__":"up", ..

2018-08-04 23:59:54 391

原创 beego集成swagger

背景最近在做的一个项目为前端提供rest接口,编程语言为go,框架采用的是beego,在beego框架中集成swagger可以很方便的展示已经实现的后端rest接口。前提beego框架的安装和使用可以直接参考beego官网,文档也是中文的,可读性很高。步骤1 创建beego项目: 通过bee api hello 命令创建hello项目。2 swagge...

2018-08-04 22:17:27 3059

原创 prometheus中常用的查询

prometheus server 可以通过HTTPAPI的方式进行查询,官网链接https://prometheus.io/docs/prometheus/latest/querying/basics/ 我这边主要用到的是实时查询,当然prometheus还支持历史查询,我这里 先介绍实时查询,其他的可以直接参考官方文档。实时查询接口:"%s/api/v1/query?query=%...

2018-08-04 21:16:00 27513 5

原创 go语言中float64 保留2位小数

func Decimal(value float64) float64 {    return math.Trunc(value*1e2+0.5) * 1e-2}加上 0.5是为了四舍五入,想保留几位小数的话把2改掉即可。这个版本有个关于浮点型数精度的问题,经常会出现 13.0000000001类似的结果。下面的是先通过Sprintf保留两位小数,再转成float64.fu...

2018-08-01 16:24:22 125093 1

slf4j-api-1.5.2.jar

SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级 别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

2017-09-11

commons-collections-3.1.jar

也许大家在配置环境的时候会遇到一些问题,我在这给大家拉出来看看,出现异常java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap 解决方法就是 在commons-collections-2.1.1.jar包中找到了LRUMap.class文件但他没在map文件夹下而是直接放在了collections下。后来换 了个包 commons-collections-3.1.jar.问题解决。

2017-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除