2017-6-13
2017-5-25
2017-4-14
2017-4-6
2016-12-19
快传是模仿 茄子快传来实现的,主要是是通过设备间发送文件。 文件传输在文件发送端或者是文件接收端通过自定义协议的 Socket 通信来实现。 由于文件接收方和文件发送方都是文件的缩略图 这里采用了 header + body 的自定义协议, header 部分包括了文件的信息(长度,大小,缩略图), body 部分就是文件。
目前已经实现了:
- Android App 端 到 Android App 端的文件传输
- 网页传模块的功能。(通过在 Android 端架设微型 Http Server 来实现跨平台文件传输)
2016-11-22
2016-11-2
2016-8-28
mpush,是一款开源的实时消息推送系统,采用 java 语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点。同时也是少有的可商用的开源推送系统。
2016-8-11
2016-7-29
2016-7-18
2016-7-15
一个十几年开发经验的老司机对一些热点如 OO 与 FP、微服务、重构的看法,很多观点不谋而合。如:
- 设计的基本原则一直通用,不分语言。
- FP 早期能更快速完成任务,但 OO 比 FP 更适合复杂场景和大工程。
- 微服务的拆分粒度是个需要把握的度,过大不能充分解耦,过小则破坏了问题本身整体性同时使得系统复杂。
- 重构更多是系统模块层次结构性的重构,系统重新设计重新划分模块,对于系统内重构因为对外部职责单一所以可整体替换。
2016-7-14
介绍了 Facebook 用 FlatBuffers 优化信息流等,介绍 FlatBuffers 的存储格式及 FlatBuffers 的好处,包括:
- 解析速度更快
- 内存占用更少
- 更灵活,可单独快速读取部分属性不用群不解析
- 跨平台、库很小、编译时类型校验
FlatBuffers 是一个高效的跨平台序列化类库,效率远高于常用的 JSON,可以在 C++、C#、C、Go、Java、JavaScript、PHP 和 Python 中使用。是 Google 开发的,是为了应用在游戏开发,以及其他注重性能的应用上。
2016-6-22
Java Instrumentation 指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。Instrument 提供 premain 和 agentmain 方式,可分别在程序运行前和运行中监控虚拟机运行情况,同时可用来对程序做一些动态修改