2019年
- 基于内存数据库的角标系统设计
-
角标是公司最复杂的系统之一, 每次大促活动的时候, 角标承担着引流的重要责任, 是GMV的保证之一, 角标系统经过几年的演化, 已经变得非常复杂, 我们在近期对角标系统进行了整理和重构, 将角标系统变成了一个基于内存数据库和规则的数据计算系统.
- 业务流引擎系统
-
随着系统的日益演进, 系统的业务逻辑非常复杂, 尤其是在产品需求频繁变动的情况下, 研发需要不断地进行改动代码, 最终逻辑无人知晓. 为了让核心业务逻辑更清晰, 更快速地响应业务的变更, 我们研发了业务流引擎系统. 通过 代码 + 流程图配置 的方式, 将业务的复杂度变为引擎实现的技术难度.
2018年
- Ruby知识树
-
开发Ruby和Rails需要了解的20%内容.
- Ruby数据模型
-
Ruby的数据模型, 包括方法查找, 变(常)量查找, 作用域.
- Arel源码分析
-
基于AST和Vistor模式的arel源码分析, 本人第一遍英文版本的技术文档.
- 基于Sidekiq的异步任务管理引擎
-
在系统中有一类常见的问题可抽象为 [批量处理n个任务, 每个任务都比较耗时, 希望可以快速地处理这些任务, 并且能知道每一个任务的执行结果情况]. 基于这类问题模型, 我们研发了基于Sidekiq的异步任务管理引擎.
- Racc
-
Ruby版本的Yacc, 语法解析器
- 业务流引擎系统
-
随着系统的日益演进, 系统的业务逻辑非常复杂, 尤其是在产品需求频繁变动的情况下, 研发需要不断地进行改动代码, 最终逻辑无人知晓. 为了让核心业务逻辑更清晰, 能够更快速地响应业务的变更, 我们研发了业务流引擎系统. 通过 代码 + 流程图配置 的方式, 使得业务逻辑更加清晰, 将业务的复杂度变为引擎实现的技术难度. 开发只需实现最基本的逻辑方法, 通过方法的组合即可拼接成一个新的业务流程.
- 数据结构
-
基于Java语言的数据结构整理.
- JVM剖析
-
JVM的一些知识点和总结.
- Concurrency
-
并发的基本概念和ThreadPool源码分析.
- Java知识树
- 正在整理中
-
开发Java需要了解的20%内容.
- 基于内存数据库的角标系统设计
-
角标是公司最复杂的系统之一, 每次大促活动的时候, 角标承担着引流的重要责任, 是GMV的保证之一, 角标系统经过几年的演化, 已经变得非常复杂, 我们在近期对角标系统进行了整理和重构, 将角标系统变成了一个基于内存数据库和规则的数据计算系统.
- 命令行下的Maven
-
命令行下的maven, 可以大大提高开发效率, 减少对IDE的依赖.
- MySQL知识树
-
MySQL初级知识树, 包括表结构设计, 索引建立, MySQL事务和锁.
- Go知识树
-
Go的学习计划和相关知识树.
- 音乐学习体系
-
一些音乐系统学习资料汇总和索引
- 曲谱集
-
自己喜欢的一些音乐的笔记和汇总
- markdown格式实例
-
Rails Guides风格的 markdown 模板.
- 注释规范
-
我们在项目中使用的注释规范.
- 零bug落地方案
-
可执行的软件开发实践的零bug落地方案.
- Raft算法
-
分布式一致性算法Raft的论文阅读笔记
- Memorize My Mentor
-
纪念一位Mentor.