- 博客(110)
- 资源 (6)
- 收藏
- 关注
原创 k8s 以statefulset方式部署zookeeper集群
k8s 以statefulset方式部署zookeeper集群参考 k8s官网zookeeper集群的部署,数据挂着方式改成通过本地方式创建的pv; https://kubernetes.io/docs/tutorials/stateful-application/zookeeper/1、zookeeper镜像镜像使用 k8s.gcr.io/kubernetes-zookeeper:1....
2019-05-31 17:41:47
9840
1
原创 springMvc集成swagger问题记录
springMvc集成swagger问题记录1. springMvc集成swaggerspringMvc集成swagger有几种方式,这里选取其中的一种。(默认springMvc项目搭建完毕,添加swagger)(1)swagger的maven依赖 <dependency> <groupId>io.springfox</g...
2019-01-18 17:00:39
766
原创 springboot集成定时任务框架quartz
springboot集成定时任务框架quartzquartz框架可以很方便的执行定时任务,任务可以持久化到数据库中,这里使用的数据库为postgres。集成步骤:1. quartz和数据库驱动maven依赖 <dependency> <groupId>org.quartz-scheduler</groupId> ..
2019-01-16 14:17:40
1424
2
原创 Springboot集成mybatis
Springboot集成mybatis1.添加maven依赖包括mybatis和要连接的数据库驱动,这里我连接的是postgres,使用MySQL的换成对应到依赖即可。 <dependency> <groupId>org.mybatis.spring.boot</groupId>
2019-01-14 17:18:12
315
原创 mabatis 多参数包含list时,使用foreach的用法
mabatis 多参数包含list时,使用foreach的用法(1)单个参数为list注意:使用@param注解时,mapper指定了参数名,xml中需要严格匹配dao部分的mapperpublic void getTags(@Param("tagIdList")List<Integer> tagIdList);xml部分:<select id="getTags"&g...
2019-01-07 13:53:10
3221
原创 mybatis对特殊字符的模糊查询
mybatis对特殊字符的模糊查询最近开发一个功能时遇到的问题,pg数据库里面存储的有包含"_"下划线的名字时,模块查询使用 下划线作为关键字进行模块查询时,会把所有数据查出来,发现是使用LIKE关键字进行模糊查询时,%、下划线 和 [] 单独出现时,会被认为是通配符,所以需要进行转义,然后通过ESCAPE告诉数据库转义字符后的字符为实际值。首先对关键字进行转义 if (ke...
2018-12-28 14:38:12
4127
原创 springcloud服务注册中心注册中心Eureka配置
springcloud服务注册中心注册中心Eureka配置1.springcloud和springboot的版本兼容性2. maven配置3.在springboot启动启动代码中添加@EnableEurekaServer注解4. springboot配置文件1.springcloud和springboot的版本兼容性springcloud可以作为微服务的服务注册中心,但是我在配置的过程中出现了...
2018-12-19 22:46:11
367
原创 Elasticsearch去重查询
1、前言最近遇到一个es数据查询去重的需求,我这边需要的是获取去重后的结果,查询官网资料和各位大神的经验后,总结一下elasticsearch去重查询功能。2、Elasticsearch去重功能关系型数据库中,比如MySQL,可以通过distinct进行去重,一般分为两种:1 ) 统计去重后的数量select distinct(count(1)) from test;2 )...
2018-11-21 11:21:13
82526
6
原创 Hadoop集群搭建
Hadoop集群搭建1. Hadoop集群运行基础环境Hadoop集群搭建需要jdk和ssh工具,首先安装着两个工具。1.1 安装jdkHadoop是用java语言开发的,Hadoop需要运行在jdk平台上;我这里用的是jdk-8u144-linux-x64.tar.gz,在官网下载https://www.oracle.com/technetwork/java/javase/down...
2018-11-02 11:27:59
326
原创 springboot集成swagger2
前言Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。可以为已有项目的生成具备执行能力的样式化API文档,极大的方便前后端程序员进行接口的对接整合。springboot是我们常用的开发框架,这篇文章主要介绍怎么在springboot中集成swagger2。使用1. maven依赖下面是我完整的pom文件:<...
2018-08-27 10:37:07
290
原创 docker commit 命令
简介在软件开发中经常需要保存软件状态,比如git 中每次提交的代码都会有版本号,可以根据提交的版本号进行恢复。docker中通过docker commit 命令提供了一个保存镜像状态的方式。使用比如有一镜像 adaptor 1. 通过docker run -d --name adaptor cb78f0d452af 启动docker容器,cb78f0d452af为镜像ID,启动...
2018-08-24 14:35:28
5292
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
7886
1
翻译 prometheus告警
1. 告警概述prometheus的告警管理分为两部分。通过在prometheus服务端设置告警规则, Prometheus服务器端产生告警向Alertmanager发送告警。 然后,Alertmanager管理这些告警,包括静默,抑制,聚合以及通过电子邮件,PagerDuty和HipChat等方法发送通知。设置警报和通知的主要步骤如下:设置并配置Alertmanager;配置Pr...
2018-08-23 10:35:36
8723
1
转载 PowerMock与Mockito使用教程
简介Mockito无法实现对静态函数、构造函数、私有函数、Final 等函数的模拟,PowerMock是一个Java模拟框架,可用于解决通常被认为很难甚至无法测试的测试问题。 使用PowerMock,可以模拟静态方法,删除静态初始化程序,允许模拟而不依赖注入等等。 PowerMock通过在执行测试时在运行时修改字节代码来完成这些技巧。 本文主要是介绍PowerMock 在 Mockito ...
2018-08-22 14:45:24
12281
原创 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
15954
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
8301
原创 golang日志框架之logrus
本文转载自姜总golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logrus、zap、zerolog、seelog...
2018-08-14 17:14:04
87972
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
3962
原创 Go语言编程学习笔记----4 并发
4.1 并发基础在CSP系统中,所有的并发操作都是通过独立线程以异步运行的方式来实现。这些线程必须通过在彼此之间发送消息,从而向另一个线程请求信息或者将信息提供给另一个线程。4.2 协程进程(process)、进程内的线程(thread)以及进程内的协程(coroutine,也叫轻量级线程)。与传统的系统级线程和进程相比,协程的最大优势在于其“轻量级”,可以轻松创建上百万个而不会导...
2018-08-14 11:04:03
260
原创 Linux及shell脚本学习笔记----7 重定向
1 重定向定义:就是将原本应该从标准设备输入的数据,改由其他文件或者设备输入;或将原本该输出到标准设备的内容,改而输出到文件或者其他设备。2 IO重定向2.1 重定向符号> > & < | 一个特殊的系统设备 /dev/null,系统会将任何输入到该设备的内容全部删除: COMMAND > stdou...
2018-08-14 11:02:11
214
原创 Linux及shell脚本学习笔记----6 函数
1 函数1.1 定义function NAME(){ command1 command2 ...}省略关键字functionNAME(){ command1 ...}例子:#!/bin/bashfunction sayHello(){ echo "Hello"}sayHello #函数调用...
2018-08-14 11:01:33
231
原创 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
205
原创 Linux及shell脚本学习笔记----4 shell编程基础
6.1 shell内建命令type 查看命令是不是内建命令“ . ”(点号) 点号用于执行某个脚本,没有加执行权限也可以运行: . ./hello.sh 与点号类似,source命令也可读取并执行脚本alias 别名 创建命令别名:alias myshoutdown=‘shoutdown -h now’ 为了确保永久生效,可以将该条目写到用户家目录中的 .base...
2018-08-14 10:59:16
619
原创 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
191
原创 Linux及shell脚本学习笔记----2 linux文件管理
3.1 文件和目录管理3.1.1 绝对路径和相对路径绝对路径 从根目录开始的全路径,一定以 / 开头 比如 /usr/local/src查看当前目录: pwd特殊目录:(.)和(..) linux以点开始的文件都是隐藏文件,可以使用 ls -al 查看,(.)代表当前目录,(..)代表上一级目录相对路径 相对路径的关键在于当前在什么路径下。例如当前在/usr/loc...
2018-08-14 10:54:59
373
原创 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
407
原创 go语言学习踩坑交流,持续更新中
背景学习使用go语言和beego框架中的踩过的一些坑,记录下来以便交流。1. JSON-to-Go工具首先介绍一个json文件自动转化为go的数据结构的工具 JSON-to-Go 比如 prometheus server端查询出的一个结果的数据结构:[ { "metric":{ "__name__":"up", ..
2018-08-04 23:59:54
442
原创 beego集成swagger
背景最近在做的一个项目为前端提供rest接口,编程语言为go,框架采用的是beego,在beego框架中集成swagger可以很方便的展示已经实现的后端rest接口。前提beego框架的安装和使用可以直接参考beego官网,文档也是中文的,可读性很高。步骤1 创建beego项目: 通过bee api hello 命令创建hello项目。2 swagge...
2018-08-04 22:17:27
3142
原创 prometheus中常用的查询
prometheus server 可以通过HTTPAPI的方式进行查询,官网链接https://prometheus.io/docs/prometheus/latest/querying/basics/ 我这边主要用到的是实时查询,当然prometheus还支持历史查询,我这里 先介绍实时查询,其他的可以直接参考官方文档。实时查询接口:"%s/api/v1/query?query=%...
2018-08-04 21:16:00
28424
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
127455
1
转载 关于字符编码,你所需要知道的
关于字符编码,你所需要知道的原文出处: Kevin Yang 的博客(@等打鸣的鸡) 字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题。这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助。还是得从ASCII码说起说到字符编码,不得不说ASCII码的简史。计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如文本处理。但由...
2018-07-01 19:41:12
321
转载 HTTP协议的那些事——1)HTTP概述
原文链接 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/OverviewHTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是...
2018-07-01 15:27:46
348
原创 github 公钥产生和配置
Windows环境下的配置step1:git安装之后右键 Git Bash herestep2:输入命令:ssh-keygen -t rsa -C "example@email.com","email@email.com"是你github账号,也就是你注册用的邮箱账号step3:输入命令: cd ~/.ssh 到. ssh 目录下,使用 ls 命令可以看到私钥和公钥 id_rsa.pub:step...
2018-06-22 23:29:21
701
原创 java对象和json的相互转换--(2) 使用Jackson 进行简单的java对象json序列化和反序列化
背景:json格式是现在java开发中使用很多的一种字符串格式,现在开发中一般都是前后端隔离的,通常后端需要以约定的格式传送之给前端数据,而json就是常用的一种。现在对常用的几种java对象和json的相互转化做一个总结,方便以后的工作学习。前写的一篇其实也是使用jackson来进行的java对象的序列化,只是采用了注解的方式,这篇文章开始,会对几种常用的方式做一个详细的记录。
2018-05-13 19:51:41
1214
转载 JAVA多线程的控制JAVA 5.0
在Java 5.0之前启动一个任务是通过调用Thread类的start()方法来实现的,任务的提于交和执行是同时进行的,如果你想对任务的执行进行调度或是控制 同时执行的线程数量就需要额外编写代码来完成。5.0里提供了一个新的任务执行架构使你可以轻松地调度和控制任务的执行,并且可以建立一个类似数据库连接 池的线程池来执行任务。这个架构主要有三个接口和其相应的具体类组成。这三个接口是Executor...
2018-04-11 10:11:32
148
原创 springMvc配置log4j
1 添加maven依赖<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version></dependency>&a
2018-03-22 11:25:19
2784
转载 Java进阶(二)当我们说线程安全时,到底在说什么
提到线程安全,可能大家的第一反应是要确保接口对共享变量的操作要具体原子性。实际上,在多线程编程中我们需要同时关注可见性、顺序性和原子性问题。本篇文章将从这三个问题出发,结合实例详解volatile如何保证可见性及一定程序上保证顺序性,同时例讲synchronized如何同时保证可见性和原子性,最后对比volatile和synchronized的适用场景本文转发自技术世界,原文链接
2018-02-05 16:44:19
183
转载 java进阶(三)多线程开发关键技术
本文将介绍Java多线程开发必不可少的锁和同步机制,同时介绍sleep和wait等常用的暂停线程执行的方法,并详述synchronized的几种使用方式,以及Java中的重入锁(ReentrantLock)和读写锁(ReadWriteLock),之后结合实例分析了重入锁条件变量(Condition)的使用技巧,最后介绍了信号量(Semaphore)的适用场景和使用技巧。本文转发自技
2018-02-05 16:42:37
212
转载 Kafka入门经典教程
1.Kafka独特设计在什么地方? 2.Kafka如何搭建及创建topic、发送消息、消费消息? 3.如何书写Kafka程序? 4.数据传输的事务定义有哪三种? 5.Kafka判断一个节点是否活着有哪两个条件? 6.producer是否直接将数据发送到broker的leader(主节点)? 7.Kafa consumer是否可以消费指定分区消息? 8.Kafka消息是采用Pull模式,还是Push...
2018-01-24 14:43:33
365
原创 elasticsearch使用restclient接口插入数据
elasticsearch使用restclient接口插入数据首先定义要插入的数据。1 定义一个student类,并json序列化,对于复杂的数据结构,使用以下的json格式化很方便的能得到我们需要的数据结构,可以参考 http://blog.csdn.net/wslyk606/article/details/78325474 这篇文章。package es;import com.faster...
2018-01-12 14:13:19
9125
slf4j-api-1.5.2.jar
2017-09-11
commons-collections-3.1.jar
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人