自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (22)
  • 收藏
  • 关注

原创 使用Ansible进行平滑发布服务整理

针对每次发布服务都是单个实例发布的情况,在目前或者以后进行开发升级,手动发布的流程可以进行优化。 使用ansible的平滑发布,可以一次串行或者并行升级多个实例。创建发布组[test]192.168.248.53192.168.248.73定义ansible发布任务配置--- - hosts: "{{ machine }}" remote_user: dev...

2018-05-04 15:08:27 3372

原创 Xshell配置Xagent登陆服务器

免密登录本地免密登录Linux服务器在新建会话的时候使用Public Key的方式进行登录验证即可。 对于本地与远程Linux服务器的登录操作,使用SSH免密登录的方式确实比使用密码的方式更加简单安全。Linux服务器之间免密登录由于SSH证书私钥是存在本地的,在Linux服务器上面都只存了对应的公钥,并没有私钥。举个例子例如有服务器:A(192.169.0.100),B(192.169.0.10

2017-09-29 16:47:12 21916 2

原创 RESTful API总结

误区使用restful的api设计,对于springmvc进行api定义不是很方便?例如,设计一个查询一个应用下面某个订单号信息的api 假如使用传统的url设计思路http://www.example.com/order?appKey=adsds&orderId=2434545对应要写的mapping方法为@GetMapping("order") public Order getOrde

2017-08-06 18:25:57 1213

原创 Feign接口编写规范

不要在接口类名上使用RequestMapping虽然可以使用,但同时SpringMVC会把该接口的实例当作Controller开放出去,这个可以在启动的Mapping日志中查看到。 这样的做法会污染调用方的mapping映射空间。假如在controller中存在相同路径的url,会造成项目启动失败。

2017-07-26 14:21:08 4691 1

原创 dev,test环境公用一个Eureka的总结

保证不同环境服务调用稳定为了dev环境和test环境下的服务调用不会乱串,必须在eureka上报中指定自己的所属分区配置application-test.ymleureka: instance: metadata-map: zone: test而dev环境中的配置不需要特别指定,以默认的zone即可。 这样,在服务在Eureka中注册成功后,从Eureka中拉取全部注册的A

2017-07-13 15:12:31 8513 1

原创 Spring Cloud微服务交互设计总结

采用http协议进行数据交互在spring cloud微服务交互中,基本上还是采用http协议进行数据交互。 与dubbo不同的是,http协议与编程语言无关,所以无法向dubbo一样,将抛出的Exception的内容进行序列化传到调用方,所以只能采用错误码的方式来传递异常消息。数据的包装形式当调用正常的情况下,只需要返回完整的数据对象即可。josnObject or jsonArray当出现错误

2017-07-13 13:14:59 2604

原创 spring cloud 监控配置

pom.xml中添加依赖引入监控相关的jar<!-- 监控 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>actuator内置常规的endpoint(端点),通过spring

2017-06-27 17:54:48 1136

原创 hystrix适用场景

在分布式架构中,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。hystrix适用场景核心无降级业务计费业务,id生成器业务作为核心业务,是整个短信业务的核心,如果引入熔断机制会导致业务流程失败,相当于整个短信业务不可用,所以这类

2017-06-13 16:31:01 4321

原创 业务建模:枚举字段的类型选择

选择合适的枚举值在数据库建表的时候,经常会遇到建立状态、性别、类型等字段的业务需求。这些字段有一个共同的特点,它们的业务含义通常就是这么几个取值。这样的字段我们可以成为枚举字段。确定一个字段是否是枚举字段,得参考它所表达的业务含义。如果是在电商业务中,商品表有商品类型字段,一般的电商都是可以动态添加或者删除类型,也就是说,商品类型可能有无数个取值,那么它就不是枚举字段。选择合适的存储方式对于性别字段

2017-04-29 13:34:33 4892

原创 Feign logging

spring cloud netfix组件中,feign相关的日志默认是不会输出的。 Logger.Level用于通知Feign进行记录的log的详细程度。NONE, No logging (DEFAULT).BASIC, Log only the request method and URL and the response status code and execution time.HEAD

2017-04-14 15:15:16 4373

原创 项目改造接入Spring Cloud流程

首先,项目先改造为spring boot工程建议,采用下列方式引入spring boot依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE

2017-03-29 14:24:13 11955

原创 apache beach压力测试工具使用

安装abyum -y install httpd-tools检查是否安装成功查看ab是否安装成功,可以切换到上述目录下,使用ab –V命令进行检测。如下:ab -V进行压力测试##test.txt参数文件要存在当前目录下ab -n1 -c1 -T'application/json' -p test.txt http://www.baidu.com/具体的参数可以通过ab -h 或者Apache

2017-03-24 17:03:38 2091

原创 服务注册与发现

在分布式系统中,各个子系统都是多个实例存在,这个时候必须要引入一个服务协调器,用于给调用方提供可用的调用提供者的命名消息。 服务协调器,如zookeeper,etcd,eureka 他们必须要有的特性: - 本身高可用,由多个服务节点构成,就算有些节点挂掉也不影响正常运行,避免了单点故障。 - 本身是一个分布式,一致性的 k-v 存储系统。提供方启动的时候将自身配置信息向协调器中进行注册

2017-02-24 17:16:03 1421

原创 cp命令详解

cp [OPTION]... SOURCE... DIRECTORYcp命令比较灵活,既能复制文件,也能复制整个目录。 源类型\目标条件 路径是文件 路径是目录 路径不存在 单文件 覆盖此文件 复制到此目录下 如果路径最后是以‘/’结尾,当做目录处理,复制就会报错;此路径的上级目录必须存在,复制并改名为此文件名 多文件 复制到此目录下 目录

2017-02-19 16:11:38 2671

原创 docker常用命令

停止全部容器docker stop $(docker ps -a -q)删除全部容器docker rm $(docker ps -a -q)删除全部imagesdocker rmi $(docker images -q)删除untagged images,也就是那些id为的imagedocker rmi $(docker images | grep "^<none>" | awk "{print $

2017-02-09 16:17:31 593

原创 eclipse中设置properties文件编码

按图示设置

2017-02-08 11:07:52 1727

原创 项目开发编码设置

在多人协同开发的团队中,为了兼顾MAC,WINDOWS,LINUX平台上的IDE,建议采用UTF-8编码,换行采用LINUX的换行符\n

2017-01-24 10:43:10 470

原创 maven部署的时候同时部署source.jar

配置maven-source-plugin在项目的pom.xml中添加如下代码块 <build> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions>

2017-01-17 18:36:53 8887

原创 Spring-Rabbit消费多个mq中相同的队列

因为业务规模比较大,采用多台rabbitmq服务器进行处理,在每台rabbitmq建立相同的exchange,采用客户端分片的方式,生产者根据hash分发消息到不同的服务器中。 作为消费者,必须能支持消费全部rabbitmq的相同的exchange。这里因为4台mq,就在代码中写死数组下标package cn.jpush.sms.common;import org.springframework.

2017-01-11 20:40:11 4712

原创 使用SonarQube Scanner分析项目代码

SonarQube Scanner,作为代码扫描的工具,通过它,将项目的代码读取并发送至SonarQube服务器中,才能让SonarQube进行代码分析。 可以认为SonarQube Scanner就是SonarQube的客户端。SonarQube Scanner很方便和不同类型的构建工具进行整合与Maven项目整合Maven仓库中就有SonarQube Scanner工具的插件,只要在Setti

2017-01-08 23:33:12 8633 2

原创 gitlab-runner配置

gitlab-runner链接gitlab-runner register --non-interactive --name my-runner --url http://gitlab.example.com --registration-token my-registration-token --executor shell --tag-list common-runnerExecutor的选择g

2017-01-03 23:07:34 9754 1

原创 持续集成环境选择:Jenkins VS gitlab-ci

JenkinsJenkins作为老牌的持续集成框架,在这么多年的发展中,积累很多优秀的plugin工具,对进行持续集成工作带来很大的便利。gitlab-cigitlab-ci作为gitlab提供的一个持续集成的套件,完美和gitlab进行集成,gitlab-ci已经集成进gitlab服务器中,在使用的时候只需要安装配置gitlab-runner即可。 gitlab-runner基本上提供了一个可以

2017-01-02 20:56:11 21485

原创 Oracle中的条件分支语句

CASE WHEN 语法SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位女生*/ ELSE NULL END) 男生数, COUNT (CASE WHEN sex = 2 THEN 1

2017-01-02 00:36:31 4075

原创 Oracle中的空串与NULL

在oracle 环境中,空串与NULL 是等价的,所以尽量使用NULL 来表示空的含义。null 与任何值做逻辑运算得结果都为 false,包括和null本身: 用 is null 判断时,空字符串和 null 都 is null: null 和任何数值进行数学运算,结果都为 null:

2017-01-02 00:33:11 2703

原创 ORACLE 集合操作

ORACLE语句中的集合关键字: union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序; Intersect:对两个结果集进行交集操作,不包括重复行,同时

2017-01-02 00:31:35 373

原创 ORACLE 递归树

connect_by_isleafconnect_by_isleaf函数,用来判断当前节点是否包含下级节点,如果包含的话,说明不是叶子节点,这里返回0;反之,如果不包含下级节点,这里返回1。如果只有一层节点,次节点是叶子节点。sys_connect_by_path函数,就是从start with开始的地方开始遍历,并记下其遍历到的节点,start with开始的地方被视为根节点,将遍历到的路径根据函

2017-01-02 00:30:19 589

原创 DDL和DML

DDLData Definition Language 数据定义语言create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop index 删除索引当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令

2017-01-02 00:29:16 976

原创 Spring进行Bean配置的方式:Annotation VS Xml

无论通过哪种进行的Bean配置,最终都会被Spring扫描到生成对应的BeanDefinition,进而根据BeanDefinition配置信息在ApplicationContext中进行初始化并且依赖注入。Annotation VS Xml采用Annotaion配置简单,编码简单易读,对于需要注入的字段可以通过Alt + /进行提示,不用担心在Xml中拼错字段 采用Java元配置,编写的时候可以

2017-01-02 00:25:51 668

原创 Spring Boot整合Spring MVC

在Spring Boot工程中,只需要在pom.xml中配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>既可以在启动的时候开启w

2017-01-01 19:17:48 12056 1

原创 Mysql读取json字段出现中文乱码

mysql版本为5.7,通过navicat查看json格式的数据是正常显示,但是通过java程序读取显示乱码。 读取其他字段都是正常的,也没有特殊设置json格式的字符集。通过排查发现,此问题为mysql-connector-java.5.1.37的bug升级MySQL的jdbc驱动程序,即可解决此问题 <dependency> <groupId>mysql<

2016-12-21 13:13:43 10445 1

原创 Eclipse设置Organize Import

在团队协作中,必须统一Import的组织格式,避免因为eclipse,idea各自不同的导入顺序造成代码经常性变更,再对比代码时不好看。 因为这边以idea的导入规则为准,所以eclipse必须参照idea的导入规则进行相应的修改。idea导入规则修改eclipse导入规则

2016-12-15 18:58:31 6293 1

原创 SpringMVC添加自定义注解格式化数据

遇到一个问题接口传入开始时间、结束时间,格式为yyyyMMdd,要求查询的数据必须用给定的时间段进行过滤。 比如http://127.0.0.1:8095/iportal-dev/v1/sms/sending/list?stime=20161001&etime=20161130但是服务端接受时间后,按照业务要求,应该格式为20161001 00:00:00< 时间段 <20161130 23:59

2016-12-15 16:52:19 4796 3

原创 CentOS7设置网络自动启动

定位网卡文件切换到网卡配置文件的目录,找到网卡的配置文件。 (centos7修改了网卡的命名规则,不再是我们熟悉的eth0了,而是ifcfg-eno+随机字符),例如我的就是ifcfg-eno3s0编辑网卡文件 编辑ifcfg-eno3s0,最后一行的onboot选项,把默认的no改成yes

2016-11-04 16:28:31 10965

原创 jenkins整合sonarqube

准备jenkins安装sonarQube安装jenkins中安装SonarQube Plugin插件配置sonar serverJenkins–》系统设置–》SonarQube servers 这里,sonarqube本地安装的是6.0的版本,为了登陆的时候可以选择账号、密码的方式方便进行整合,这里配置设置Server version为5.2。 如果设置为5.3 or higher选择,

2016-11-04 15:23:52 11928 1

原创 gitlab安装与配置

配置external_url编辑/etc/gitlab/gitlab.rb## Url on which GitLab will be reachable.## For more details on configuring external_url see:## https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/setti

2016-11-04 14:27:14 3357

原创 VM12安装Mac OS X 10.11

解锁VM下载unlocker208,解压(注意:解压的路径不要带中文,不然程序执行不下去)。 打开解压目录,“以管理员身份运行程序”执行win-install.bat。创建Mac虚拟机和平时一样创建虚拟机,在unlocker成功后,选择好安装程序光盘镜像文件后,点击下一步,在创建虚拟机的时候会多出Apple Mac OS X类型的操作系统。修改验证配置创建完成后,开启虚拟机是会报错,无法启动。

2016-11-04 11:12:48 1465

原创 GitLab 使用163邮箱发送邮件

开启smtp服务登陆163邮箱,开启SMTP服务。修改配置文件编辑/etc/gitlab/gitlab.rb 注意,163开启smtp协议是会开启客户端授权,所以password应该填写的是客户端授权密码,而不是邮箱的登陆密码。 yourname改为对应的邮箱名。gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "

2016-11-04 10:48:08 3278

原创 web.xml替换成java config的方式

servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。 为此,Spring为其提供了一个实现类SpringServletContainerInitializer 来处理启动容器时加载相关配置。 SpringServletContainerInitializer 主要是获取WebApplicationI

2016-11-03 11:51:15 5503

原创 gradle更新snapshot的jar

通常,gradle下载引用的jar文件的话,会缓存到本地,不会重复去下载。但是,我们引用的是snapshot的jar,这种jar文件一般是其他项目组的代码,这种jar一般都进行迭代开发,会重复更新上传到nexus代码仓库中,我们必须在每次启动的时候能更新最新依赖的jar。 所以,必须在build.gradle中配置。默认是24小时,gradle会检查一次依赖,可以设置每次build都进行检查。co

2016-10-25 14:41:22 10749

原创 gitlab利用webhook通知jenkins进行构建

设置jenkin回调地址通常,jenkins在项目配置的时候,是可以配置远程构建触发器,设置好jenkins的回调url,就可以让jenkins进行构建。 但是,源码服务器是gitlab的情况下,我们可以不用配置jenkins的回调url,利用插件Gitlab Hook Plugin,它帮助我们在git类型的构建任务中都配置了一个默认的回调url。配置web hook如果jenkins安装了Git

2016-10-25 12:58:12 8949 2

数据库实验

在学习数据库系统概论的时候,自己写的几张关于oracle表,

2012-05-13

C++语言设计【代码集合】

自己写的代码,包含清华大学版的c++语言程序设计(第4版)这本书上的一些例题,还有上机课的实验代码

2012-05-13

C语言设计【集合】

自己写的代码,包含c语言升序设计教程(第二版)谭浩强这本书上的一些例题,还有上机课的实验代码

2012-05-13

【oracle 表】

学习数据库系统概论写的几张表,对于新手还是有很多帮助的,很有用

2012-05-13

c语言程序设计教程(谭浩强)【集合】

c语言程序设计教程(谭浩强)【集合】,这是学习c语言遇上的一些经典例题的解法,对于学习和理解c语言有很多帮助,很有用

2012-05-13

c++语言程序设计

本集合包含很多例题代码,这可谓是学习c++语言程序的必备工具,这是在清华的那本c++语言程序设计书下写的很多题目代码,很有用

2012-05-13

递归 1+2+3+4+...+n

c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助

2012-05-13

插入排序算法

c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助

2012-05-13

百钱买百鸡问题

c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助

2012-05-13

switch语句,算利润

c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助

2012-05-13

求n秒后的时间

c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助

2012-05-13

n个人围成一圈,从1开始数

n个人围成一圈 从1开始数 数到k的人出去 接着从1开始数 数到k出去 最后出来的人是谁 c语言程序设计教程(第二版)谭浩强 经典例题 对于学习c语言有很大帮助

2012-05-13

c语言递归函数写法

c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助

2012-05-13

c语言结构例题

c语言结构例题,经典例题,对于学习c语言有很多帮助

2012-05-13

1-999中能被3整除,且至少有一位数字是5的所有整数

1-999中能被3整除,且至少有一位数字是5的所有整数,经典例题

2012-05-13

DOS命令学习工具

DOS命令学习工具,成为高手必须练习的,dos是比较实用的

2012-05-13

数据库课程设计

自己写的SPJ系统,基于JAVA,spj应该不会不熟悉吧?那可是数据库系统概论的经典例题模型

2012-05-13

图书馆管理系统

图书馆管理系统,基于java开发,遇到用的下载看看吧

2012-05-13

图书馆管理系统,Java编写,MySQl数据库

图书馆管理系统(Java编写,MySQl数据库),做数据库课程设计只要稍加修改即可

2012-05-13

库存管理系统

库存管理系统,基于java开发,带有数据库的,方便做数据库课程设计

2012-05-13

java图书馆管理系统

图书馆管理系统,基于java开发,用的是MYECLIPSE

2012-05-13

hotel管理系统

用MYECLIPSE编的,hotel管理系统,

2012-05-13

空空如也

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

TA关注的人

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