小文字 吃饭,睡觉,遛狗头


混淆实操--手把手教你用applymapping

前言 在混淆代码中有一个-applymapping配置,主要是用来维持两次混淆公用一份mapping,确保相同的代码混淆后是一样的命名; 最近正好有朋友问到这个具体的实现,索性写个demo看看; 上手实操 大致思路其实就是上面提到的,先看一下官方对-applymapping的定义: -applymapping filename Specifies to reuse the given name mapping that was printed out in a previous obfu... 更多


如何理解RxJava中的join操作

前言 先前写过一篇文章,介绍Rx中不容易理解的概念(Rx那些不怎么好理解的点),但是并没有涵盖全,本文一起来看一下join的含义(如果你已经很清楚Join的含义那么可以跳过本文了) 合并多个Observable Rx有很多预定义的针对Observable的Operation,根据操作的类型可以分为过滤,变换,组合,而join属于组合这一类; 组合实际上就是有多个Observable,但是我们希望的是多输入单输出,也就是多对一;那么根据合并的不同特性有merge,zip,join等等; ... 更多


自定义Gradle插件,你所需要知道的一切

前言 这是一篇迟到的笔记,15年已经创建草稿,但是知道今天才真正的动笔,实在惭愧 热身知识 一般写gradle插件都是为了构建项目,提供一些小功能,在整个插件开发中Project和Task是两个最重要的概念; Project比较好理解,就是工程主体,他包含一些基本的属性; Task是Project内定义的实际干活的对象,比如clean,assembleDebug都是Task; Gradle插件开发可以使用java,groovy,scala等语言,他们都是基于jvm的语言; 写一... 更多


Rx那些不怎么好理解的点

前言 学习Rx的相关知识,一定要去Reactive.io, 但是我在看了其中的一些operation的说明后,有几个操作让人一头雾水: Debounce or Sample debounce的原因大致是“去抖动; 防抖动; 弹跳;”,sample的意思是采样,抽样;从Reactivex.io上的介绍来看,两者非常相似; 有一个显著差别是, debounce函数过滤掉由Observable发射的速率过快的数据;如果在一个指定的时间间隔过去了仍旧没有发射一个,那么它将发射最后的那... 更多


批量设置git config

前言 能偷懒就偷懒 需求场景 在开发新项目的时候经常需要配置git,在config中常用的有name和email,全局配置一般已经配过了,但是需要对特殊repo做个别处理,以确保提交的时候显示的作者是合乎规范的; 最近在熟悉公司项目的时候,由于项目仓库特别多,大概10几个吧,如果每个repo都手动去设置user肯定要疯了,因此有了下面要讲的批处理脚本; 让脚本去做吧 针对这种情况,特别适合bash出手,我们要做的实际上就是遍历工程目录,对所有事仓库的目录都配置一下user, 为了友好一点,在... 更多