- 博客(21)
- 资源 (6)
- 收藏
- 关注
原创 springboot集成swagger2
前言Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。可以为已有项目的生成具备执行能力的样式化API文档,极大的方便前后端程序员进行接口的对接整合。springboot是我们常用的开发框架,这篇文章主要介绍怎么在springboot中集成swagger2。使用1. maven依赖下面是我完整的pom文件:<...
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依赖:&lt;dependency&gt; ...
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
2017-09-11
commons-collections-3.1.jar
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人