自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流水不腐小夏

流水不腐小夏的专栏

  • 博客(124)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用MyMockServer模拟数据

使用MyMockServer模拟数据使用MyMockServer模拟数据 简介安装使用 描述请求匹配响应信息控制信息示例相关资料简介在开发的时候,前端、移动端、后端开发分离,开发流程是先定义好接口API,然后按照接口约定进行开发。所以经常需要根据接口Mock数据,有从代码层进行Mock,也有从网络层进行代理的。本人使用方式是在网络代理进行Mock,因为在代码层Mock,数据不是

2017-09-20 20:15:56 1343

原创 浅谈Android Architecture Components

浅谈Android Architecture Components浅谈Android Architecture Components简介Android Architecture ComponentsGradle 集成LifeCyclesLiveDataTransformationsViewModelRoomEntitiesEntity的参数 primaryKeysEntity的

2017-06-24 16:04:29 18631 2

原创 关于Android模块化我有一些话不知当讲不当讲

关于Android模块化我有一些话不知当讲不当讲最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。关于Android模块化我有一些话不知当讲不当讲模块化场景架构演变技术要点Library moduleLibrary module开发问题依赖管理数据通信页面路由跳转Interface和Implemen

2017-05-18 11:56:58 5888 12

原创 Android Http网络开发神兵利器

Android Http网络开发神兵利器Android Http网络开发神兵利器Http协议HTTP简介主要特点RequestResponseCodeMethodHeader普通报头请求报头响应报头实体报头网络请求库URLConnectionApache HttpClientVolleyOkHttp Retrofit工具CharlesPostMan Paw

2017-03-11 20:17:46 2127

原创 Kotlin之let,apply,with,run函数区别

Kotlin之let,apply,with,run函数区别重新整理重新整理了各种函数的区别,请移步到这里。以下作废很长一段时间内都一直使用Kotlin这门语言,也只是纯粹使用简单语法,最近有时候写的代码,编辑器自动提示使用let等函数,然后就专门花点时间研究了下。let首先let()的定义是这样的,默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行

2017-01-19 13:11:03 16980 6

原创 Android Model正确使用姿势——AutoValue

Android Model正确使用姿势——AutoValueAndroid Model正确使用姿势AutoValue前言简介简单使用ImmutableValue types高级使用NullableGson序列化Serializable ParcelableRetrofit和Rxjava结合使用相关插件RoboPOJOGeneratorAutoValue plugin原理介

2016-12-05 14:30:06 9108 2

原创 Adb命令问题

Adb命令问题升级最新的Android Sdk,发现Android不能发现genymotion模拟器,同时使用adb shell命令发现错误如下。$ adb shelladb server version (32) doesn't match this client (35); killing...error: could not install *smartsocket* listener:

2016-04-01 10:25:05 11240 4

原创 使用Android Studio对代码进行重构

使用Android Studio对代码进行重构简介2013年Google I/O大会上,谷歌推出新的Android开发环境——Android Studio,从此Android程序员有了新的选择,使用Android Studio进行App开发。AndroidStudio是一项全新的基于IntelliJ IDEA的Android开发环境。类似于Eclipse ADT插件,现在已经成为了官方推荐的ide,

2016-01-29 17:39:00 13627 3

原创 android开源图表库MPAndroidChart

最近一个项目需要用到表格进行统计显示,本来用的是的achartengine,后来发现一个更加强大的开源框架MPAndroidChart。下面简单介绍下MPAndroidChart,MPAndroidChart的效果还是蛮好的,提供各种动画,这个也是我使用MPAndroidChart,而且放弃achartengine的原因。Github地址连接,后面是youtube上面演示MPAndroid

2014-11-24 15:38:47 64417 44

原创 Bazel Remote Cache 缓存问题

Bazel Remote Cache 缓存问题简介公司 iOS 项目使用 bazel 使用编译,同时 bazel 支持远程缓存。 使用远程缓存,可以加速编译速度,节省编译时间。缓存服务器很简单,支持 GET、 PUT 操作,分别为获取和上传,官网有说明 Bazel Remote Cache。build --remote_cache=http://mycache.com但是在 CI 服务器上,偶尔会出现连接出现异常问题,如连接重置、断开、超时、dns无法解析等。大概有5%的概率。分析 bazel

2022-02-10 16:12:49 1980

原创 IntelliJ IDEA Remote Development 使用体验

IntelliJ IDEA Remote Development 使用体验前天JetBrains发布新一代IDE —— Fleet,其中有我最感兴趣的分布式开发,因为本人从事 CI/CD 相关工作,所以特地关注了一下。刚刚今天IDEA 提示更新新版本,看有Remote Development,特来体验一下。准备本地准备2个项目,分别 Spring Boot、 Android 项目,并且能正确运行,然后上传到git仓库,如 Gitlab 或 Github。准备一个远程服务器,我这里是Ubun

2021-12-01 16:23:17 8366

原创 使用Docker安装OSX

使用Docker安装OSX因为工作关系,需要使用一些MACOS系统的电脑用作服务器,所以尝试下在ubuntu环境下使用docker安装macox。中间经历坑无数,特记录一下。官方资料有介绍怎么安装,英语较好的同学可以直接查看官方文档。https://hub.docker.com/r/sickcodes/docker-osxhttps://github.com/sickcodes/Docker-OSX1. 准备工作准备以下工具或环境。一个工作电脑,可以用来上网查资料,最好同时具备科学上网能力

2021-07-15 16:45:18 6901 1

原创 Zstd 压缩算法

Zstd 压缩算法简介最近维护一个老的缓存系统,使用RUST语音实现,底层使用磁盘缓存。因为人员离职,打算用JAVA/KOTLIN 重新实现一遍。考虑到历史缓存数量比较大,采用灰度模式,复用历史缓存,只是程序改成JAVA版本。刚刚开始一切比较顺利,但是上线以后显示历史缓存错误,比如hash不一样。仔细翻看历史代码,底部存储使用了一种叫做zstd的一种压缩算法,找找资料,发现这个还挺牛的,特记录下。Zstd,全称 Zstandard,是 Facebook 于 2016 年开源的新无损压缩算法。与 z

2021-06-30 12:15:46 3521

原创 WebSocket 1009 Max frame length of 65536 has been exceeded 问题

WebSocket 1009 Max frame length of 65536 has been exceeded 问题项目中使用Spring Cloud Gateway 作为网关,代理WebScoket通信,当请求数据量很大的时候,会出现 1009问题。onClosing, code = 1009, reason = Max frame length of 65536 has been exceeded.public final class CloseStatus implements Ser

2021-05-21 18:05:43 1584

原创 Docker快速删除

Docker快速删除Docker删除无效的容器docker ps -a | grep Exited | awk '{print $1}' | xargs docker rmDocker删除无用镜像docker images | grep none | awk '{print $3}' | xargs docker rmi停用全部运行中的容器docker stop $(docker...

2020-01-14 14:46:01 238

原创 Hexo 命令报错

Hexo 命令报错好友没有写博客了,今天Hexo,发现命令不可用,出现这样的错误TypeError: Cannot read property 'replace' of null。hexo gINFO Start processingINFO Files loaded in 627 msERROR Render HTML failed: page/2/index.htmlTyp...

2019-12-02 20:11:41 1792 2

原创 Restful风格的验证码

Restful风格的验证码Restful风格的验证码接口生成验证码接口信息前端显示校验接口信息前端校验移动端使用Android Retrofit ApiAndroid UI效果展示其他原有的验证码使用流的方式,对移动端不友好,并且现在后端是分布式的微服务系统,原有的基于cookie的验证码方式,显得力不从心。Restful 风格的验证...

2019-12-02 14:47:20 1631

原创 MyBatis Plus Gradle 代码生成插件了解一下

Mybatis Plus Gradle Generator介绍Web开发中使用mybatis比较多,MyBatis Plus是一个比较好的扩展,并且还可以自动生成代码,比较方便。但是MyBatis Plus 对maven比较友好,对Gradle就比较差了,现在Spring Boot也对Gradle支持比较好,在使用Gradle生成代码的时候就比较麻烦。使用姿势本插件需要结合Spring...

2018-12-21 18:07:08 1725

原创 Jenkins can't parse argument number: changelog.url 问题

Jenkins <j:otherwise> can’t parse argument number: changelog.url 问题最近使用了Jenkins,发现了一问题,提示如下。org.apache.commons.jelly.JellyTagException: jar:file:/Users/xiaqiulei/.jenkins/war/WEB-INF/lib/jenk...

2018-11-26 00:14:40 1933 1

原创 ssh自动登录

ssh自动登录登录服务器的时候,经常使用ssh进行远程的登录,经常输入密码,比较麻烦,可以使用sshpass配合iTerm2简化操作。安装sshpass首先下载sshpass,不同系统可能不一样,大致差不多,可以直接使用包管理工具安装。我用的是mac os, 可直接使用brew。brew install sshpassError: No available formula for ss...

2018-11-25 15:37:53 586

原创 Gson SerializedName Gen注解插件了解一下?

Gson SerializedName GenGsonSerializedNameGen 是一个自动生成Gson SerializedName注解的插件。下载地址插件地址介绍有时候经常会维护一些老的项目,可能由于历史或开发人员能力问题,代码会稍微不规范。比如在请求网络数据时会需要把json反序列化成实体,然后下面是常见的一种方式。public class Bean { p...

2018-10-12 21:31:32 1654

原创 Mac Git终端代理问题

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

2018-09-03 22:07:12 2948

原创 Spring Boot 项目自动发布与Supervisor

Spring Boot 项目自动发布与Supervisor前面写了一遍关于Spring Boot项目自动发布的文章,这里是Github地址。 还是受到不少欢迎的,有不少点赞的朋友,这次再接再厉,跟着上一篇,介绍使用Supervisor管理Spring Boot项目。简介supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemo...

2018-06-01 16:59:23 1588

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

基于JSON RPC的一种Android跨进程调用解决方案了解一下?Bifrost 简介使用方式实现原理总结后续安排相关链接简介今天上午,看票圈有朋友分享爱奇艺的跨进程通信框架——Andromeda,觉的还是有点意思的。 以前项目中用到跨进程这种解决方案比较少,今天看了下Andromeda,发现调用方式很简单。恰好最近一年都是在做后端工作,想到了J...

2018-05-30 00:59:56 1479

原创 Spring Boot 项目自动发布

Spring Boot 项目自动发布Spring Boot 项目自动发布 简介准备工作编译和发布同步到服务器总结源码地址简介在公司从移动端转后端已经快一年了,使用的技术框架一直是Spring Boot,和以前大学时候基于Tomcat的不太一样。这篇文章简单介绍下如何发布Spring Boot 项目,原先使用Tomcat时候,发布的文件是war文件,现...

2018-04-24 23:19:05 1091

原创 Android KTX简介

Android KTX简介Android KTX简介 介绍主要功能 字符串转为URISharedPreferencesPathView的onPreDraw监听代码接入原理介绍 ExtensionsLambdasDefault Arguments相关链接介绍昨天Google爸爸又发布了一个Android工具库,是使用Kotlin实现了。自从17年5

2018-02-06 23:29:17 1398

原创 Kotlin之let,apply,run,with等函数区别2

Kotlin之let,apply,run,with等函数区别2Kotlin之let,apply,run,with等函数区别2 前提介绍repeatwithletapplyrun另一个RunalsotakeIftakeUnless总结示例以前也总结过Kotlin的一些内置函数let,apply,run,with的区别——地址,后面又增加了also,ta

2018-01-21 18:21:29 923

原创 Kotlin之let,apply,run,with等函数区别2

Kotlin之let,apply,run,with等函数区别2Kotlin之let,apply,run,with等函数区别2 前提介绍repeatwithletapplyrun另一个RunalsotakeIftakeUnless总结示例以前也总结过Kotlin的一些内置函数let,apply,run,with的区别——地址,后面又增加了also,ta

2018-01-04 20:29:33 3426 1

原创 Spring Boot集成Kafka

Spring Boot集成KafkaSpring Boot集成Kafka 前提介绍Kafka 简介Topics & logsDistributionProducersConsumersGuaranteesKafka安装与使用 安装服务启动Topic消息发送与消费Spring Boot集成 开始配置代码总结参考资料前提介绍由于公司使用了微服务架构,很多业务拆成

2017-11-26 15:00:23 18321 4

原创 Git Log获取结果

平时开发时候,可以直接使用工具看到Git仓库的日志,但是有时候,需要用代码来获取到日志。那么用到命令git log就可以了,不过它会打开类似vim的界面,不可以直接输出结果。如果需要用python调用,会一直卡在这里。可以在命令后面添加 | cat -即可。例如git log -5 | cat -

2017-11-21 21:31:23 1430

原创 Spring Cache与Redis结合使用

Spring Cache与Redis结合使用Spring Cache与Redis结合使用 Redis创建Spring项目集成RedisCache部分代码前不久做了一个需要查询多,更新少的功能,老司机同事建议用Redis来做缓存,同时结合Spring Cache来做,特来总结下。RedisRedis 是一个高性能key-value数据库,个人感觉就像java中的Map,不过比它更加强大。由

2017-11-19 15:21:04 12731

原创 MongoDB查询总结

前面写过一篇关于Mongodb的例子——浅谈MongoDB数据库,当时使用的只是简单的查询,然后后面业务变的有点复杂,原先没有仔细研究过Mongodb的查询,以为就是简单调用下find就可以了,乃衣服。

2017-10-25 17:49:21 1051

原创 格式化Curl返回的Json字符

格式化Curl返回的Json字符格式化Curl返回的Json字符 Python 格式化Nodejs 格式化经常会用到curl调试接口,服务器返回的是json,不过这些json是没有格式化的,不方便阅读。经过搜索和实验,发现下面2中方式比较方便。示例:curl https://news-at.zhihu.com/api/4/news/latest{"date":"20171014","sto

2017-10-14 17:15:13 40277 2

原创 自己写个小工具——图片水印生成器

自己写个小工具——图片水印生成器自己写个小工具——图片水印生成器 介绍安装使用说明其他TODO LIST介绍做技术好几年了,最近想总结一下,写了几篇文章,不过发现经常有转载的地方,所以想做个图片水印,简书上面的图片是没有水印的,所以就自己写了个工具,供大家使用。这里是地址https://github.com/LiushuiXiaoxia/WaterMark,水印生成器,可以给指定图片文

2017-09-19 13:56:08 7340

原创 浅谈MongoDB数据库

浅谈MongoDB数据库Java操作MongoDB数据库 简介MongoDB 介绍 数据库安装MongoDB使用 MongoDB可视化工具Java操作MongoDB总结相关资料简介最近项目中需要分析Http报文,并且需要用数据库保存,刚刚开始打算用Mysql,后来咨询了老司机,老司机建议使用MongoDB来实现,所以特写一篇文章来总结下。MongoDB 介绍 MongoDB是

2017-09-18 16:51:01 590

原创 Curl不显示统计信息% Total % Received %

今天需要用curl测试服务器,用的是python调用的,最后发现结果中包含一些统计信息。# -*- coding:UTF-8-*-import osos.system('curl http://www.baidu.com')结果为: % Total % Received % Xferd Average Speed Time Time Time Current

2017-09-14 13:34:35 12189

原创 Github authenticator登录问题

Github authenticator登录问题最近换了手机,刚刚写完代码,需要提交到Github,发现以前设置过二次校验,是通过Google authenticator设置的。发现以前备份的code,也丢失了,重新安装了Google authenticator也不行,最好只要找官方客服,发邮件求帮助。下面是帮助地址,https://github.com/contact,然后过了几个小时,就有人回复

2017-08-30 20:11:57 5589

原创 是时候来一波Android插件化了

是时候来一波Android插件化了是时候来一波Android插件化了 前言Android开发演进模块化介绍插件化介绍前提技术介绍 APK构成 ManifestApplication四大组件soresource安装路径App启动流程介绍 IPC & BinderAMS插件化技术问题与解决方案 代码加载 Java ClassLoaderAndroid ClassL

2017-08-25 13:13:54 2206

原创 Android上使用Lombok

Android上使用LombokAndroid上使用Lombok简介注解简介Android 集成注解说明valNonNullCleanupGetterSetterToStringEqualsAndHashCodeNoArgsConstructor RequiredArgsConstructor and AllArgsConstructorBuilderSneakyThrow

2017-07-14 14:55:45 6187

原创 CheckStyle出现Unable to create a Checker: configLocation问题

CheckStyle出现Unable to create a Checker: configLocation问题最近使用了Android Studio 3.0版本,同时Gradle版本由3.3升级到了3.5版本。突然发现原先项目中静态代码分析工具——CheckStyle不能使用了,出现类似如下的错误。1: Task failed with an exception.-----------* Wh

2017-06-23 11:27:45 4622

安卓高仿IOS下拉刷新

最近看需要做一款下拉刷新的效果,由于需要和Ios界面保持一致,所以这用安卓的方式实现了ios下的下拉刷新的粘虫效果。 最新的手机版本的QQ也有这种类似的效果,就是拖动未读信息的那个红色圆圈,拖动近距离的是就有这种粘虫的效果。

2014-11-01

TestAndroidProgressDialog

自定义Android加载框,界面比较友好,必须系统自带的界面要友好

2014-02-16

java编的Hanoi

java编的Hanoi,结果不是在命令提示符下的结果

2009-05-03

三级网络技术模拟系统

三级网络技术模拟系统 三级网络技术模拟系统 三级网络技术模拟系统 三级网络技术模拟系统 三级网络技术模拟系统

2009-03-18

空空如也

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

TA关注的人

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