0%

Docker快速删除


Docker删除无效的容器

1
docker ps -a | grep Exited | awk '{print $1}' | xargs docker rm

Docker删除无用镜像

1
docker images | grep none | awk '{print $3}' | xargs docker rmi

停用全部运行中的容器

1
docker stop $(docker ps -q)

删除全部容器

1
docker rm $(docker ps -aq)

停用并删除容器

1
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

Hexo 命令报错


好友没有写博客了,今天Hexo,发现命令不可用,出现这样的错误TypeError: Cannot read property 'replace' of null

Read more »

Restful风格的验证码


原有的验证码使用流的方式,对移动端不友好,并且现在后端是分布式的微服务系统,原有的基于cookie的验证码方式,显得力不从心。

Restful 风格的验证码,图片使用Base64编码,后端使用Redis存储验证码。Android 客户端使用Retrofit + OkHttp。

Read more »

Mybatis Plus Gradle Generator


介绍

Web开发中使用mybatis比较多,MyBatis Plus是一个比较好的扩展,并且还可以自动生成代码,比较方便。
但是MyBatis Plus 对maven比较友好,对Gradle就比较差了,现在Spring Boot也对Gradle支持比较好,在使用Gradle生成代码的时候就比较麻烦。

Read more »

最近使用了Jenkins,碰到一问题,提示如下。

1
org.apache.commons.jelly.JellyTagException: jar:file:/Users/xiaqiulei/.jenkins/war/WEB-INF/lib/jenkins-core-2.147.jar!/hudson/model/UpdateCenter/CoreUpdateMonitor/message.jelly:53:20: <j:otherwise> can't parse argument number: changelog.url
2
	at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:726)
3
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:281)
4
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
5
	at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
6
	at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
7
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
8
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
9
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLi

排查了好久,才发现问题,原因是升级了一个插件导致的,经过一个多小时的排查,终于找到了,是jeknins中文语言包,卸载或者降级即可。

Read more »

ssh自动登录


登录服务器的时候,经常使用ssh进行远程的登录,经常输入密码,比较麻烦,可以使用sshpass配合iTerm2简化操作。

Read more »

Gson SerializedName Gen


GsonSerializedNameGen 是一个自动生成Gson SerializedName注解的插件。

下载地址

插件地址

介绍

有时候经常会维护一些老的项目,可能由于历史或开发人员能力问题,代码会稍微不规范。

比如在请求网络数据时会需要把json反序列化成实体,然后下面是常见的一种方式。

Read more »

Mac Git终端代理问题

最近换了新电脑,使用的是自己的vpn,但是发现clone github上面的代码比较慢,经常失败,使用brew也会出错了,后面发现在终端上面使用的git不是走系统的代理,需要配置如下,即可。

1
git config --global http.https://github.com.proxy socks5://127.0.0.1:1086

Spring Boot 项目自动发布与Supervisor


前面写了一遍关于Spring Boot项目自动发布的文章这里是Github地址
还是受到不少欢迎的,有不少点赞的朋友,这次再接再厉,跟着上一篇,介绍使用Supervisor管理Spring Boot项目。

简介

supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

什么意思呢?就是说,原先启动的Spring boot项目,正常情况下可以一直运行,但是如果程序中出现了Bug,程序会自动退出,那么服务就不可用了,可以使用用Supervisor来管理服务,当程序退出后服务可以自动重启。

Read more »

基于JSON RPC的一种Android跨进程调用解决方案了解一下?


简介

今天上午,看票圈有朋友分享爱奇艺的跨进程通信框架——Andromeda,觉的还是有点意思的。
以前项目中用到跨进程这种解决方案比较少,今天看了下Andromeda,发现调用方式很简单。

恰好最近一年都是在做后端工作,想到了Json RPC的方案,其实Android跨进程接也是一种rpc调用方式,那么参考json rpc协议,通过aidl通道也可以很简单一种跨进程通信方式,而且使用方式也很简单。

说干就干,但是作为了高级程序员,肯定要给项目起个名字高大上的名字——Bifrost(彩虹桥),参考复联电影雷神上面的彩虹桥,寓意可以传送到各地,也表达Android跨进程通信可以畅通无阻。

Read more »