Android

Retrofit 源代码阅读笔记

## Retrofit 动态代理 在使用 Retrofit 的时候,我们需要写一个接口,比如 Api,每一个网络请求都对应到接口里的一个方法。在我们需要发送网络请求时,通过 Retrofit.create(Api.class) 的方式,可以获得一个 Api 对象,而我们定义的 Api 是一个接口。

Java

Java 动态代理 Proxy

最近在阅读 Retrofit 的源代码,顺便整理一下 Java 反射类 Proxy 实现的动态代理。 在阅读 Retrofit 源代码之前,我一直以为 Retrofit 采用的是 **注解** 加 **注解处理器**(Annotation Processor)的方式来实现的网络请求的封装的,而事实

技术管理

昨天我拒绝了两个小改动

这是一件很简单的小事情,但是我还是想记录一下,因为这两天上下班路上,我进行了很多的思考。 事情发生在一个业务项目中。最近有比较大的版本变动,业务工作量突然增大,于是我也承担了几个业务项目的开发。其中 A 项目已经进入了集成测试期了,这个项目在昨天晚上上线的。B 项目正在

前端技术

关于阿里 Yun OS 发布

这两天听说阿里发布了 YUN OS6。在讨论这件事情之前,大家应该先了解一下开源协议。 对于这个事情,可以简单的理解为这个样子,假设我是公司的高级开发工程师,在负责某个项目的时候,我从 Github 上拷贝了一份代码下来,完成了任务,并没有主动告知其他人 Github

网络协议

DNS 和 HttpDNS

## DNS 简单举例了 DNS 的一些关键词。 - 域名解析系统 Domain Name System - 域名和 IP 地址映射 - 分布式数据库系统 - 基于 UDP 协议,也可以基于 TCP 协议 - 默认 53 端口 - 13 个根服务器,一个主根服务器,其他为辅根服务器

Android

Android 获取唯一设备标识的几种方案

在项目中,获取设备的惟一标识是一个很常见的需求,比较早的一种方式是调用 TelephonyManager.getDeviceId() 方法来获取 Device Id。但是这种方式还是存在一些问题。首先它是需要权限的,所有很多时候,你可能会获取不到 device id。特别是在 Android 6.0

前端技术

nginx 日志切割

在新的服务器上搭建网站已经有一小段时间了,这几天心血来潮,想看一下服务器的访问日志情况。前天写了一个小脚本,分析 nginx 的 access.log 日志。然后写了一个定时脚本,每天 03:30 的时候分析 access.log 然后输出一个文档。为什么是 3:30 呢,因为我看见日志目录下,每

bd0001.sys 文件导致 Chrome 打不开任何网页

不知道从什么时候开始,我的一台 windows 笔记本上 chrome 一直打不开任何网页,包括设置页面也打不开。由于那个本子平时用得少,偶尔用一下查点东西,发现 chrome 用不了,也没有时间折腾,只能用 IE 临时替代。 今天实在憋不住了,查了一下,网上说得比较多的是 C:\Windows\