堆外内存及其在 RxCache 中的使用 (www.jianshu.com)
RxCache 是一款支持 Java 和 Android 的 Local Cache 。目前,支持堆内存、堆外内存(off-heap memory)、磁盘缓存。本文讲述如何在 RxCache 中使用堆外内存。
by @Tony沈哲 2019-02-06 11:11 分享 查看详情
如何优雅处理「快应用」数据请求 (quickapp.lovejade.cn)
阅快应用开发文档,可以知道官方提供了数据请求接口;对于如何使用,文档中也给出了示例,但很显然,这在实际项目中,不够优雅且更不高效,所以需要对其进行再封装,使得可以大幅提升开发效率,同时也令整个代码优雅、便于维护。所以在此篇文章的存在,旨在于讨论下如何优雅处理快应用数据请求。
by @杨琼璞 2019-01-18 21:50 分享 查看详情
《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍 (www.54tianzhisheng.cn)
parallelism 是并行的意思,在 Flink 里面代表每个任务的并行度,适当的提高并行度可以大大提高 job 的执行效率,比如你的 job 消费 kafka 数据过慢,适当调大可能就消费正常了。

那么在 Flink 中怎么设置并行度呢?
by @zhisheng_tian 2019-01-29 22:27 分享 查看详情
Android 官方架构组件(二)——LiveData (mp.weixin.qq.com)
LiveData是google发布的lifecycle-aware components中的一个组件,除了能实现数据和View的绑定响应之外,它最大的特点就是具备生命周期感知功能
by @code小生 2019-01-27 16:56 分享 查看详情
Android 实习生面试经历记录 (mp.weixin.qq.com)
从 2018.12.28 的第一次面试到 2019.01.09 整整横跨了一年。也面试了几家公司的 Android 实习僧的岗位。
by @code小生 2019-01-27 16:55 分享 查看详情
RxJava2+Retrofit2+RxLifecycle3+OkHttp3网络请求封装 (mp.weixin.qq.com)
入职公司后,公司要求组件化开发,经过讨论后我将网络请求框架单独进行了封装,不过当时框架里将常用的 util 和 ui 均放入到了共同的 Common 包下,导致里面部分代码耦合,后来为了降低耦合性又将 Common 拆分为了lib_common和lib_ui,但是 lib_ui 依赖了 lib_common,还是导致部分代码耦合,最新一期为了降低组件之间的耦合性,所以单独将 lib_common 中的网络请求单独拆分,并且我又做了新的封装和完善,总之网络框架经过3次大的改造后,使用已经非常稳定了。
by @code小生 2019-01-27 16:54 分享 查看详情
平时的你VS面试的你 (mp.weixin.qq.com)
大家在面试的时候,特别是最后一面HR面,是不是经常都说自己咳咳咳。博主特意总结了一下平时的你和面试的你区别在哪,整理成文,大家看看就好~
面对HR
问题:你是如何和你同事相处的?

平时的你:卧槽,知不知道我很忙的,这点破事也来问我,能不能别来烦我!

面试的你:我最大的优点就是古道热肠,积极帮助同事解决各方面的问题,同事都叫我大神!
by @zhisheng_tian 2019-01-26 14:14 分享 查看详情
震惊了!原来这才是kafka! (mp.weixin.qq.com)
kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。

kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向扩容。单个parition内是保证消息有序。
by @zhisheng_tian 2019-01-26 14:14 分享 查看详情
史上最污技术解读,我竟然秒懂了! (mp.weixin.qq.com)
很多同学对热备,冷备,云备了解不深,我科普一下 IT 行业各种备份术语。以后别闹笑话了。假设你是一位女性,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人。你随时可以甩了现任男友,另外一位马上就能补上。这是冷备份。
by @zhisheng_tian 2019-01-26 14:13 分享 查看详情
虎牙直播张波:掘金Nginx日志 (zhuanlan.zhihu.com)
今天主要分享的是“ Nginx 日志”,因为这在虎牙产生过巨大的价值,简单来说,我们最终做到的效果就是每年节省数百上千万的成本。

Nginx 是现在最流行的负载均衡和反向代理服务器之一,仅 Nginx 每天就会产生上百 M 甚至数十 G 的日志文件。但又有多少人关注过它背后的价值呢?
by @又拍云 2019-01-25 11:37 分享 查看详情
又拍云张聪:OpenResty 动态流控的几种姿势 (zhuanlan.zhihu.com)
今天主要和大家分享“在 OpenResty 上如何做动态的流量控制”,将会从以下几个方面来介绍:

Nginx 如何做流控,介绍几种经典的速率和流量控制的指令和方法;
OpenResty 如何动态化做流控;
OpenResty 动态流控在又拍云的业务应用。
by @又拍云 2019-01-23 11:30 分享 查看详情
Android 读写锁的应用,以及最佳的磁盘缓存设计 (mp.weixin.qq.com)
相信磁盘缓存在绝大部分的 app 上都有应用,相对于数据库缓存来说,可以不要注重于缓存的管理,比较开放和随意。
再加上 jakewharton 早年间发布的 disklrucache 框架,让我们使用磁盘缓存更加简单,效率上和数据库缓存也拉进了一步,以后有时间我在加上 disklrucache的缓存解读。
by @code小生 2019-01-20 19:11 分享 查看详情
Android 官方架构组件(一)——Lifecycle (mp.weixin.qq.com)
Lifecycle 组件指的是 android.arch.lifecycle 包下提供的各种类与接口,可以让开发者构建能感知其他组件(主要指Activity 、Fragment)生命周期(lifecycle-aware)的类。
by @code小生 2019-01-20 19:10 分享 查看详情
【Android】线程/进程绑定指定CPU核 (mp.weixin.qq.com)
此文使用的方式是先编译完so文件,然后将so文件放入项目中使用的。不是直接在项目中放入c代码运行。将c代码直接放入项目时我的项目会在c代码的位置报错,所以采用了先编译成so文件的方式,如果你的项目不报错,可以参考上面第三个文档,将代码直接放入项目中。
by @code小生 2019-01-20 19:09 分享 查看详情
HTTPS 到底加密了什么? (tech.upyun.com)
先跟大家讲个故事,我初恋是在初中时谈的,我的后桌。那个时候没有手机这类的沟通工具,上课交流有三宝,脚踢屁股、笔戳后背以及传纸条,当然我只能是那个屁股和后背。

说实话传纸条真的很危险,尤其是这种早恋的纸条,被抓到就是一首《凉凉》。
by @又拍云 2019-01-18 10:17 分享 查看详情
一文读懂 HTTP/2 特性 (tech.upyun.com)
HTTP/2 是 HTTP 协议自 1999 年 HTTP 1.1 发布后的首个更新,主要基于 SPDY 协议。相比较 HTTP, HTTP /2 到底有哪些具体变化呢?
by @又拍云 2019-01-16 10:46 分享 查看详情
Android-图片的选择,裁剪,压缩,适配高版本 (mp.weixin.qq.com)
我们之前设置拍照保存的文件地址的 Uri,都是直接Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存的Uri路径),但是 7.0之后,对用户权限提高了保护,之前那种方式行不通了,所以我们要做7.0的判断,用 FileProvider 获取设置保存的文件 Uri,然后放到Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存的Uri路径)中,代码如下:
by @code小生 2019-01-15 09:29 分享 查看详情
收集老是忘的 kotlin 代码片段 (mp.weixin.qq.com)
这里的核心是 kotlin 对 list 的写法和 Sequence 序列的应用,Sequence 序列会大大提升 list 处理速度,rxjava 式的调用感官是很 Nice 的。
by @code小生 2019-01-15 09:28 分享 查看详情
Java 面试题散列知识点 (mp.weixin.qq.com)
静态方法只与类相关,不与具体实现相关。并且 static 方法不是后期绑定的,它在编译期就绑定了。所有引用到该方法的对象(父类的对象也好子类的对象也好)所指向的都是同一块内存中的数据,也就是该静态方法。父类的静态方法不能被子类继承,更谈不上重写;
by @code小生 2019-01-15 09:26 分享 查看详情
Android 框架思考--界面 View 封装 (mp.weixin.qq.com)
Android 项目不管使用什么框架结构,承载界面的必然少不了 Activity 或者Fragment,而对于一个用户界面来说,有一些业务逻辑的处理是通用的,比如请求网络时需要有 loading 框,比如网络错误时需要界面有对应提示,比如通用的导航栏,比如每个界面都用 activity 就需要在 Manifest.xml 文件中配置等等,这些能否做一些封装,可以让开发者只关注具体界面的具体逻辑,快速实现一个界面?
by @code小生 2019-01-15 09:25 分享 查看详情