Gitlab配置修改以及启动

常用命令

1
2
3
4
5
启动服务:gitlab -ctl start
查看状态:gitlab -ctl status
停掉服务:gitlab -ctl stop
配置生效:gitlab -ctl reconfigure
重启服务:gitlab -ctl restart

配置文件

修改gitlab的配置文件

1
# vim /etc/gitlab/gitlab.rb

More

Maven打包jar的同时打包javadoc和source

1.在pom.xml中增加如下脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<encoding>UTF-8</encoding>
<aggregate>true</aggregate>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

More

Maven生命周期

Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,初学者容易将Maven的生命周期看成一个整体,其实不然。这三套生命周期分别是:

1
2
3
Clean   /* 在进行真正的构建之前进行一些清理工作。*/
Default /* 构建的核心部分,编译,测试,打包,部署等等。*/
Site /* 生成项目报告,站点,发布站点。*/

maven

在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,mvn clean 等同于 mvn pre-clean clean ,如果我们运行 mvn post-clean ,那么 pre-clean,clean 都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。

More

常见的编程IDE

以下是常见的编程IDE:

  • Visual Studio:由微软公司开发的IDE,支持多种编程语言,包括C++、C#、VB.NET等等。它提供了代码自动补全、调试、版本控制等功能,并且可以创建GUI应用程序和Web应用程序。
  • Eclipse:由Eclipse基金会开发的开源IDE,支持多种编程语言,包括Java、C++、Python等等。它提供了代码自动补全、调试、版本控制等功能,并且可以创建GUI应用程序和Web应用程序。
  • IntelliJ IDEA:由JetBrains公司开发的IDE,支持Java、Kotlin等语言。它提供了代码自动补全、重构、调试、版本控制等功能,并且可以创建GUI应用程序和Web应用程序。
  • PyCharm:由JetBrains公司开发的IDE,专门用于Python开发。它提供了代码自动补全、重构、调试、版本控制等功能,并且可以创建GUI应用程序和Web应用程序。
  • Sublime Text:一个轻量级的文本编辑器,支持多种编程语言,包括C++、Python等等。它提供了代码高亮、代码折叠、多选等功能,但不支持调试和版本控制等功能。
  • Atom:一个开源的文本编辑器,支持多种编程语言,包括C++、Python等等。它提供了代码自动补全、代码高亮、版本控制等功能,并且可以通过插件扩展更多功能。
  • Android Studio:由Google公司开发的IDE,专门用于Android应用程序开发。它提供了代码自动补全、重构、调试等功能,并且可以创建GUI应用程序和Web应用程序。

总之,编程IDE可以帮助开发者提高编写代码的效率,并且提供了丰富的功能,从而使得开发过程更加便捷和高效。

版权所有,如有侵权请联系我

Jenkins变量

The following variables are available to shell scripts

BRANCH_NAME

For a multibranch project, this will be set to the name of the branch being built, for example in case you wish to deploy to production from master but not from feature branches; if corresponding to some kind of change request, the name is generally arbitrary (refer to CHANGE_ID and CHANGE_TARGET).

CHANGE_ID

For a multibranch project corresponding to some kind of change request, this will be set to the change ID, such as a pull request number, if supported; else unset.

CHANGE_URL

For a multibranch project corresponding to some kind of change request, this will be set to the change URL, if supported; else unset.

More

iBatis简介

iBatis(现在已经改名为MyBatis)是一个基于Java的持久层框架,它的设计思想是将SQL语句和Java代码解耦,通过XML或注解的方式来描述SQL语句和Java对象之间的映射关系,使开发者可以更加方便地进行数据库访问操作。

iBatis提供了灵活的参数映射、动态SQL生成、结果集映射等功能,支持多种数据库,如Oracle、MySQL、SQL Server等。iBatis的核心思想是“以简单为美”,它通过简单的配置文件或注解来描述数据对象的映射,使开发者可以更加专注于业务逻辑的开发,而不必关心底层的数据库操作。

iBatis的主要特点包括:

  • 灵活的SQL映射:iBatis提供了多种映射方式,包括基于XML的映射和基于注解的映射,可以根据具体的情况来选择适合的映射方式。

  • 动态SQL生成:iBatis支持动态生成SQL语句,可以根据条件来生成不同的SQL语句,使SQL语句更加灵活。

  • 参数映射:iBatis支持多种参数映射方式,包括基本类型、JavaBean、Map等,可以根据具体的情况来选择适合的参数映射方式。

  • 结果集映射:iBatis支持将结果集映射到Java对象中,可以通过配置文件或注解来描述结果集的映射关系。

  • 事务处理:iBatis提供了事务处理的支持,可以通过配置文件或注解来管理事务。

iBatis的应用场景包括各种企业级应用,如电子商务、金融、电信、物流等。它可以使开发者更加方便地进行数据库操作,提高开发效率和代码的可维护性。现在iBatis已经改名为MyBatis,并成为了广泛使用的Java持久层框架之一。

More

树的平衡问题:旋转与修复

树是计算机科学中非常重要的数据结构之一,它被广泛应用于搜索、排序、索引等领域。然而,当树的结构不平衡时,它的性能将会受到严重影响,甚至可能导致程序崩溃。因此,解决树的平衡问题是非常重要的。

本文将介绍树的平衡问题,以及解决该问题的两种方法:旋转和修复。

一、树的平衡问题

在树的结构中,每个节点都有一个左子树和一个右子树。当树的结构不平衡时,就会出现一些问题,比如:

  • 搜索、插入、删除等操作的效率会受到影响,因为需要遍历更多的节点才能找到目标节点。
  • 内存的利用率也会受到影响,因为某些节点可能会变得非常深,从而导致树的高度变得很大。
  • 当树的高度非常大时,可能会导致堆栈溢出等问题。

因此,保持树的平衡是非常重要的。下面我们来看一下如何解决树的平衡问题。

二、旋转

旋转是一种通过交换节点来改变树的结构的方法。它包括左旋和右旋两种操作。

More

哈希表的扩容与缩容策略

哈希表是一种常见的数据结构,它将数据存储在数组中,通过哈希函数将数据映射到数组中的位置。哈希表的扩容与缩容策略是保证哈希表性能和空间利用率的重要因素之一。本文将介绍哈希表的扩容与缩容策略。

一、哈希表的基本概念

哈希表是一种使用哈希函数来映射键到值的数据结构。哈希函数将键映射到值的索引位置,使得查找数据的时间复杂度为O(1)。哈希表通常包含以下几个重要的概念:

  1. 哈希函数:将键映射到值的索引位置的函数。
  2. 哈希冲突:不同的键映射到相同的索引位置。
  3. 哈希表大小:哈希表中可以存储键值对的最大数量。
  4. 负载因子:哈希表中已存储键值对数量与哈希表大小的比值。
  5. 扩容与缩容:当哈希表中的键值对数量达到一定阈值时,需要调整哈希表的大小。

More

哈希表的哈希函数与冲突检测

哈希表是一种常用的数据结构,它可以实现快速的查找、插入和删除操作。哈希表的核心是哈希函数和冲突检测算法,本文将详细介绍这两个重要的技术。

一、哈希函数

哈希函数是将任意大小的数据映射到固定大小的数据的函数。哈希函数的作用是将数据转换为哈希表中的索引,以便快速地查找数据。常见的哈希函数有以下几种:

直接取模法

直接取模法是最简单、最常用的哈希函数。它的原理是将关键字除以表长,取余数作为哈希地址。例如,如果哈希表的大小为10,关键字为23,则哈希地址为23%10=3。这种方法的缺点是容易产生冲突,特别是当关键字的分布不均匀时。

平方取中法

平方取中法是一种改进的哈希函数,它的原理是先将关键字平方,然后取中间几位作为哈希地址。例如,如果关键字为1234,平方后为1522756,取中间两位22作为哈希地址。这种方法可以减少冲突的概率,但计算复杂度比较高。

乘法哈希法

乘法哈希法是一种比较优秀的哈希函数,它的原理是先将关键字乘以一个常数A(0<A<1),然后取乘积的小数部分乘以表长作为哈希地址。例如,如果表长为10,关键字为23,常数A为0.618,则哈希地址为floor((230.618-230.618%1)10)=floor(1.431810)=14。这种方法可以避免冲突,并且适用于各种分布的关键字。

More