自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u010900754的专栏

真心希望国内博客环境 多一些原创 少一些复制

  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 【jenkins】自动修改工程版本号 以及 父pom版本号 (maven-release-plugin)

之前介绍过使用maven-versn-plugin,maven-scm-plugin以及maven-release-plugin来管理工程的版本号以及依赖的版本号。这些maven插件已经帮助我们最大程度上解决了多项目多模块的版本问题。但是仍然不够智能,我们仍然需要执行若干maven命令,这里介绍下使用jenkins实现完全自动化更新版本的方法。这里会有两个工程,一个是root-pom,一...

2019-05-26 23:44:32 8824

原创 【maven】versions-maven-plugin 使用

一句话概括,这个插件是用来修改pom的版本的,几乎是所有的版本号,比如工程,依赖和插件等等。那么这个插件有什么用?之前介绍过maven的版本管理经验,所有依赖都有一个root-pom来统一管理。这样的话,每发一个release的包,其实就应该同时也修改了root-pom中这个包的版本号,这样,其他工程才能依赖到最新的代码。那么修改root-pom版本号的任务就可以交给versions插...

2019-05-23 00:40:07 4562

原创 【maven】maven 快照机制

搞不明白这个,拉取或者更新时就可能遇到各种各样的问题。首先release包的逻辑是很清晰的,就是看本地有没有,没有就从远程拉。这个是合理的,因为同一个版本号只能在仓库里发一个包,意味着只要本地有了,就应该是最新的。不应该允许从远程仓库删除release包。快照版本呢?每一个快照版本可以有多个包,每一个包都有对应的时间戳。发快照包时,远程maven仓库会将时间戳记录在一个叫做maven-...

2019-05-21 16:17:45 1682

原创 【maven】工程版本 管理

工程自己的版本号可以使用maven-release-plugin。每次从代码库拉代码开发时,拉到的都是下一个snapshot版本号,什么意思?比如当前稳定版是3.0.0,那么拉到的就是3.0.1-SNAPSHOT,开发完本地install时,打的jar包就是3.0.1-SNAPSHOT版本的。此时可能会在本地使用这个快照包做一些测试。测试没有问题,就需要发release包。使用release插...

2019-05-21 00:33:44 343

原创 【maven】maven-release-plugin 使用 (git)

简介很nb的插件。为什么?一般开发,基于一个snapshot版本开发,开发完以后,发一个对应的release的包,然后再将代码版本更新为下一个snapshot版本。这些工作当然可以纯手工完成,但是可能比较痛苦,这里介绍的release插件就是干这个的。使用这里使用了github作为代码仓库,使用本地的一个nexus作为maven的私服。1. 定义scm。scm是一款抽象了代码本...

2019-05-19 19:49:26 6186

原创 【maven】maven-scm-plugin 使用

scm-maven-plugin是一款代码版本控制的插件。maven自己将版本控制的过程抽象出来,然后将市面上各种版本控制的工具都做了对应了实现。这款插件其实我们不太会用到,主要是maven的release插件会使用该插件提交代码,这时就需要抽象,自己搞一套出来,否则maven根本不知道怎么提交代码,是git呢还是svn呢。下面简单记录下使用。这里作为例子,代码仓库用的github。第一...

2019-05-19 18:21:37 2530

原创 【maven】scope

首先要明白maven有3种classpath,不同阶段对应不同的classpath。test:只在test阶段用;compile:只在compile阶段用;runtime:最后jar包里打入的;依赖的scope就是用与指定这个依赖出现在上述哪一个classpath的。最常见的是compile,默认也是这个,表示会出现在上面所有的classpath中。最简单的事test,只在test时...

2019-05-16 10:12:17 170

转载 【protoc3】链接

https://juejin.im/post/5bb597c2e51d450e6e03e42d

2019-05-15 11:14:01 342

原创 【maven】多模块 实践

最开始可能只有一个项目,可能仅仅需要构建一个工程就可以,但是随着项目越来越大,在代码工程角度,需要做模块化,模块化指的工程的拆分以及工程内模块的拆分。工程的拆分可以按照业务来拆分,模块的拆分可以按照功能来拆分。举个例子:项目包含了订单业务以及用户业务,那一般来讲是要拆成两个工程的。每一个工程都可以大致分为三个模块:sdk,service,api。sdk:封装本工程可以暴露...

2019-05-14 15:50:46 328

原创 【maven】插件 相关

这里记录下如何编写一个简单的插件。插件需要建立一个Mojo工程,idea里有对应的工程类型。插件命名最好为xxx-maven-plugin,因为如果是这样的命名,使用插件时可以只用xxx。不要使用maven-xxx-plugin,因为这是官方插件命名方式。pom文件:1. packaging需要定义为maven-plugin2.需要引入相关api的jar包。<...

2019-05-14 13:38:13 113

原创 【maven】maven-jar-plugin 搭配 maven-dependency-plugin 使用

正常的main函数程序,我们直接package生成的jar包无法直接运行,因为没有再/META-INF/MANIFEST.MF中指定主类。1.指定主类有很多方法,这里介绍下最简单的使用maven-jar-plugin插件的方法。只需要加一条mainClass的配置,指定主类名即可;这样不出意外可以运行。2.如果我们的项目有外部依赖,即定义了dependency,那么默认不会把依赖打...

2019-05-14 00:08:52 6953

原创 【maven】mvn 多模块构建 参数

现在的项目多模块越来越流行,下对于多模块的项目,有时我们希望只构建其中的一个或者几个模块,如果直接进入模块目录下执行mvn命令,一般会失败,因为单个模块没有聚合模块pom中的信息或者一些本工程内依赖的其他模块就会构件失败。所以,一般会使用下面的参数构建,此时仍然是以多模块的视角来让maven处理的。-pl:指定打包的模块,可以用路径也可以用坐标,如果父项目同时是父目录,那么进入父目录下,直接“...

2019-05-13 23:48:57 5388

原创 【shell】正则表达式

语法老是有几点忘记,但是正则又很重要,花时间记一下。首先看一下通用的正则表达式规范,大概如下:1.位置相关这里的位置指的是从哪里开始匹配正则表达式,如果不指定,可以从任意位置开始或者结束。$:从行末开始匹配;^:从行首开始匹配;2.标识符是正则表达式最最基本的元素。包括:2.1 任意字符比如A,a等等;2.2 .点号表示任意字符,这个必须特殊记忆,如果...

2019-05-09 22:55:11 165

原创 【感想】听分享后 笔记

1.服务无状态化如果设计成无状态的,好处是易于横向扩展;无状态指的是每个节点在处理请求时不会本地记录状态。如果必须记录,必须依赖外部存储,总而言之要让记录全局化,即所有实例都可以访问到;2.数据落地和缓存使用场景;设计;缓存更新;3.对于业务逻辑的思考如何立刻抽象出技术构架4.cdn的作用代理资源访问,使得资源的获取更快速,好过应用服务器...

2019-05-09 22:26:46 384

原创 【shell】awk 分组

直接用数组即可。a.txt文件:Tom baidu 8000Jerry alibaba 9000Jack tencent 8500Nika baidu 75001.分组求和,排序awk '{count[$2] += $3}END{for(i in count) print i, count[i]}' a.txt | sort -nrk 2baidu 15500a...

2019-05-09 00:07:15 967

原创 【maven】assembly 插件

assembly是一个打包的插件,可以允许我们定制打包的内容已经制定主类。 <build> <plugins> <plugin> <artifactId> maven-assembly-plugin </artifactId> ...

2019-05-08 00:36:09 156

原创 【shell】mv

mv命令要始终记得有两层含义,一是移动,二是重命名,一旦target即第二个参数不存在时,就会被当做重命名来处理。用的时候,如果是想移动,那么第二个参数必须是目录,如果目录不存在就当做重命名处理了,所以最好是在结尾加一个“/”,这样就肯定会被当做目录处理,就不会重命名了。移动可以是文件也可以是目录,也可以是多文件。如果是想重命名,那么第一个参数只能有一个。重命名文件,则第二...

2019-05-08 00:04:11 339

原创 【shell】cp

cp即copy,有以下三种用法:格式为:cp [参数] A B1.如果A为目录,则必须加上-r参数,表示递归把A目录下的所有目录文件递归地拷贝到B目录下。该种用法依赖于B目录是否存在。如果B目录没有,则新创建B并将A目录下的文件复制到B目录下,如果B目录有,则把A目录复制到B目录下,即被拷贝的A目录编程了B的子目录。2.如果A和B都是单个文件,那么就是把A文件内容复制为B,如...

2019-05-07 23:49:37 1157

原创 【Linux】vim 常用总结

1.命令模式下1.1 删除一行:dd1.2 移动到最后一行:G2.末行模式下2.1 查找:/xxx 翻页是n2.2 全局替换:%s/old/new/g2.3 退出保存:wq2.4 退出不保存:q!...

2019-05-06 23:58:08 130

原创 【shell】查看磁盘命令

主要就是du和df两个。du即disk usage,查看使用情况;df即disk free,查看剩余情况;1.先看du使用:du 文件名:查看某一文件的大小;miracle@localhost:~/test|⇒ du a.txt8 a.txtmiracle@localhost:~/test|⇒ du -k a.txt4 a.txtmiracle@...

2019-05-06 23:38:57 3555

原创 【shell】nohup 与 &

nohup与&其实都可以让一个任务在后台运行,区别在于nohup方式可以让子任务忽略sighup信号,也就是父进程退出后不会终止子进程。具体区别可以看这篇:https://www.jianshu.com/p/747e0d5021a2用法二者大同小异,取决于是否加nohup。nohup cmd [args] &t.sh:#!/usr/bin/env ...

2019-05-06 20:31:01 143

设计模式的 课件

主要讲解了 设计模式的相关内容 包括类图等其他

2014-04-15

head first 审计模式

headfirst 一系列书籍中 对设计模式的讲解 很容易理解

2014-04-15

空空如也

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

TA关注的人

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