- 博客(18)
- 收藏
- 关注
原创 gitlab pipelines job执行时日志较大报错
问题描述gitlab pipelines job执行时日志较大报错Job's log exceeded limit of 4194304 bytes.解决方案出现该问题主要是因为gitlab runner默认日志大小为4096,修改相关配置即可1.修改gitlab runner配置concurrent = 1check_interval = 0[[runners]] name = "ci"
2017-08-08 10:27:33 5029
原创 为Spring Boot可执行文件制作Shell脚本
Spring Boot项目打包成可执行JAR后,为了方便管理,我们可以制作一个脚本,管理启动、停止等步骤。使用说明假设脚本最终命名为app.sh,则可以执行以下操作:# 显示应用状态app status# 前台启动应用app run# 后台启动应用app start# 关闭应用app stop 后台启动应用后,应输入一个回车,回到终端后再退出终端,如果直接退出则应用可能退出后台运行完整
2017-08-04 17:12:16 2584 1
原创 SonarQube上传分析报告失败
问题描述使用Maven与SonarQube进行代码分析,完成分析后无法正常上传分析报告[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project qishi: Error 500 on http://sonar/api/
2017-08-02 09:32:52 3995 4
原创 docker提示IPv4 forwarding is disabled
问题描述服务器网络由DHCP更改成STATIC后,docker服务提示WARNING: IPv4 forwarding is disabled. Networking will not work.解决方案1.在/etc/sysctl.conf中增加如下配置net.ipv4.ip_forward=12.重启网络service network restart
2017-07-25 08:49:15 523
原创 Spring Boot项目打包可执行文件
Spring Boot项目可以内嵌Web容器发布成可独立运行的可执行jar或war文件。打包可执行jar文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2017-07-24 08:24:37 969
原创 sonarqube版本升级注意事项
对sonarqube进行版本升级,如果现在使用的版本与目标版本之间存在长期更新版本(LTS)时,应先升级到长期更新版本。升级路径举例 当前版本4.2,目标版本6.1 : 4.2 -> 6.1, migration path is 4.2 -> 4.5.7 LTS -> 5.6 LTS -> 6.1 当前版本5.1,目标版本5.6 : 5.1 -> 5.6, migration path is
2017-04-10 14:19:43 2071
原创 找回sonarqube管理员密码
执行如下SQL,将管理员(admin)密码重置为admin update users set crypted_password = '88c991e39bb88b94178123a849606905ebf440f5', salt='6522f3c5007ae910ad690bb1bdbf264a34884c6d' where login = 'admin'
2017-04-10 11:40:31 9848 1
原创 GitLab使用omniauth集成crowd登录
““ gitlab_rails[‘omniauth_enabled’] = true gitlab_rails[‘omniauth_allow_single_sign_on’] = true gitlab_rails[‘omniauth_block_auto_created_users’] = falsegitlab_rails[‘omniauth_providers’] = [ {
2017-04-05 19:23:19 3361
翻译 JSON Web Tokens(JWT)介绍
什么是JSON Web TokenJSON Web Token (JWT)是一个定义了一种精简、自包含用于各方之间使用JSON对象进行数据安全传输的开发标准(RFC 7519)。作为一种数字签名,他可以被验证和信任。JWTs可以使用HMAC算法或者RSA秘钥喘作为密钥进行签名。让我们进一步的解释一下相关概念。 - 精简(Compact):因为JWTs数据量较小,所以它可以通过一个URL、POST参
2017-03-20 23:15:24 997
翻译 理解REST
REST (Representational State Transfer)的概念2000年时首次在 Roy Fielding的博士论文中被提出。REST是一种分布式系统的架构设计风格。它不是一个标准,而是一组约束,比如它是无状态的,它分为客户端与服务器端,同时,它拥有一个统一的接口。REST与HTTP没有严格的相关性,但它的设计思想与之比较相似。REST的原则使用URI标识资源(Resource
2017-03-20 23:12:24 401
原创 高效Java08:覆盖equals时遵守通用约定
覆盖equals的要求自反性(reflexivity):一个对象必须等于其自身对称性(symmetry):任何两个对象,无论使用哪一个对象的equals()方法判断其与另一个对象是否相等的结果应当是一致的传递性(transitivity):如果一个对象等于第二个对象,且第二个对象等于第三个对象,则第一个对象一定等于第三个对象。一致性(consistency):如果两个对象相等,若没有一个对象
2017-03-20 23:05:28 256
原创 高效Java07:避免使用终结方法(finalizer)
为什么要避免使用终结方法终结方法(finalizer)通常是不可预测的,也是很危险的,一般是不必要的。不能保证会被及时的执行不保证他们会被执行使用终结方法会有严重的性能损失不能保证会被及时的执行一个对象变为不可达状态后,在JVM下一次执行垃圾回收时才会调用终结方法,中间这段时间间隔是不固定的,所以只要终结方法中做的处理注重时间,则它一定不会达到我们期望的理想状态。所以,不应该依赖终结方法来做
2017-03-20 23:04:46 684
原创 高效Java06:消除过期的对象引用
类自己管理内存一般而言,只要是类自己管理内存,我们就应该警惕内存泄漏问题。比如下面的例子:public class Stack { private Object[] elements; private int size; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack(){
2017-03-20 23:03:51 730
原创 高效Java05:避免创建不必要的对象
就像我们大部分人所知道的,最好能重用对象,而不是每次都重复创建一个功能相同的新对象,下面举几个例子说明这个点。重用不可变对象如果对象是不可变的,那么它就始终可以被重用。对于同时提供了静态工厂方法和构造方法的不可变类,通常使用静态工厂方法而不是构造方法,以避免创建不必要的对象,尽管同时提供两种方法的场景不太多。例如静态工厂方法Boolean.valueOf(String)几乎总是优于构造方法Boole
2017-03-20 23:03:02 774
原创 高效Java04:通过私有构造方法强化不可实例化的能力
在代码编写过程中我们可能会编写一些只包含静态成员的类,这些类一般都是工具类,这些类实例化没有任何意义,我们可以将其做成不可实例化的类。public class UtilityClass { private UtilityClass() { throw new AssertionError(); }}我们将构造方法设为私有,该类不会在外部被实例化,但在类的内部仍能够对
2017-03-20 23:02:04 374
原创 高效Java03:使用私有构造器或枚举类型强化单例属性
单例(singleton)指仅仅只能被实例化一次的类,主要服务于一些需要保证对象只存在一个实例的场景。实现方式一:暴露公有静态成员变量public class Singleton { public static final Singleton INSTANCE = new Singleton(); private Singleton() { }}INSTANCE为对外暴露的成
2017-03-20 23:01:10 314
原创 高效Java02:构造方法参数较多时考虑使用构建器
假设某一业务场景(Scene)中有一个类,它有3个属性是必须的,另外还有20个属性是可选的。重叠构造器通常我们最先想到的是像下面这样创建一个类:public class BusinessBean { private String requiredFiled1; private String requiredFiled2; private String requiredFile
2017-03-20 23:00:10 425
原创 高效Java01:考虑使用静态工厂方法代替构造方法
Java中的每一个类被创建,大部分场景中客户端都需要获取它自身的一个实例然后进行使用,我们最常用的是为它提供一个公有的构造方法,除此之外还可以使用静态工厂方法返回它的一个实例。相较于构造方法,静态工厂方法拥有以下好处:它们拥有不同的自定义名称调用它时无需重复创建新对象它们可以返回类型的任何子类型的对象创建参数化类型实例的时候,它们使代码更加简洁(JDK1.7以后就不算优势了)静态工厂方法优
2017-03-20 22:58:46 277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人