javaWeb接口文档
传统swagger(之前在用)接口文档的缺点:1、代码侵入性太强。
2、写着麻烦。需要写大量的注解,太麻烦!
smart-doc的优点:1、不需要注解,无侵入性。
2、只需要写好注释即可,界面也比较美观。
3、对一些常用的电话、地址之类的模拟的数据跟真的一样(哈哈哈)。
4、可以生成Markdown、HTML5等多种文档格式。
以下是官方对其描述的一些特性:
零注解、零学习成本、只需要写标准java注释。
基于源代码接口定义自动推导,强大的返回结构推导。
支持Spring MVC,Spring Boot,Spring Boot Web Flux(controller书写方式)。
支持Callable,Future,CompletableFuture等异步接口返回的推导。
支持JavaBean上的JSR303参数校验规范。 对json请求参数的接口能够自动生成模拟json参数。
对一些常用字段定义能够生成有效的模拟值。
支持生成json返回值示例。
支持从项目外部加载源代码来生成字段注释(包括标准规范发布的jar包)。
支持生成多种格式文档:Markdown、HTML5、Asciidoc ...
Centos7安装Elasticsearch7.4.1
下载安装从[官网](https://www.elastic.co/cn/downloads/elasticsearch)下载Elasticsearch 7.4.1,linux版本的。
解压tar xf elasticsearch-7.4.1
运行sh elasticsearch-7.4.1/bin/elasticsearch
直至出现如下情况方为正常的:
{ "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "GJ8qGH3hR6eO6ZZO2YnG4A", "version" : { "number" : "7.4.1", "build_flavor" : "default", "build_type" : & ...
jenkins自动化部署vue项目(二)
安装插件Publish Over SSH安装Publish Over SSH插件,并陪系统设置里面配置ssh的hostname、url、username等相关信息,如下图所示:
配置 Post-build Actions英文名字应该都懂,在这里也不多说。
同样也需要执行命令
cd /root/server/vue #进入目录tar -zxvf aic.tar.gz #解压传输过来的代码包rm -rf aic.tar.gz #删除代码包
至此,就就已经完成。
jenkins自动化部署vue项目(一)
加入nodeJS插件配置 在插件管理中安装nodejs插件,然后在配置里面配置nodejs插件即可。
新建自由风格的项目基本配置(具体看图,没啥可说的)
源码管理选择项目的git地址和分支,添加上用户访问权限即可。
触发器最重要的是url和token,这两个需要在git中配置。
构建环境选择nodeJs即可。
构建执行shell命令。
echo $PATHnode -vnpm -vnpm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedrivernpm install #安装依赖npm run buildtar -zcvf dist.tar.gz dist/ #压缩,方便传输
配置web钩子即刚才的url和token。
至此,自动化部署vue项目已经完成,下篇说明如何推送到远程服务器上。
Java高效率代码
1.常量&变量1.1.直接赋值常量值,禁止声明新对象直接赋值常量值,只是创建了一个对象引用,而这个对象引用指向常量值。
反例:
Long i = new Long(1L);String s = new String("abc");
正例:
Long i = 1L;String s = "abc";
1.2.当成员变量值无需改变时,尽量定义为静态常量在类的每个对象实例中,每个成员变量都有一份副本,而成员静态常量只有一份实例。
反例:
public class HttpConnection {private final long timeout = 5L;...}
正例:
public class HttpConnection {private static final long TIMEOUT = 5L;...}
1.3.尽量使用基本数据类型,避免自动装箱和拆箱Java 中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Do ...
由Detected problems with API compatibility引发的一系列问题
问题重现由于将安卓版本升级到了9.0,每次调试都会弹出Detected problems with API compatibility(visit g.co/dev/appcompat for more info),如下图所示:
经查百度得知,原来是调用了安卓隐藏的API,才会出现这个问题。
解决方案当时采取了官方的建议,在如下位置加入targetSDKversion,版本28,也就是Android 9.0,即:
"google":{ "targetSdkVersion":28,}
改成这个以后,打包APP,网络访问都没有,直接网络访问错误,也就是所有的请求都无法正常使用。
其实这个问题是勾选debug调试引起的,只要打包时不勾选debug模式,就不会出现这个问题。(应该是debug模式中调用的隐藏的API)。
引发的问题下一次打包时把这个配置给去掉了,再次安装应用时就会安装失败,提示(权限版本无法降级(-26),小米的提示,其他机型也都是安装失败):
问题所在就是上个版本调用的API是29的,而升级的版本调用的API是 ...