犀利豆的博客

高质量的技术博客


  • Home

  • java

  • redis

  • dubbo

  • tools

  • 我的朋友们

  • 关于我

  • Search

我的2018年总结

Posted on 2019-01-01 |

winter

2018年结束了,这一年成长是的一年。

Read more »

从 LongAdder 中窥见并发组件的设计思路

Posted on 2018-11-27 | Edited on 2018-11-28 |

最近在看阿里的 Sentinel 的源码的时候。发现使用了一个类 LongAdder 来在并发环境中计数。这个时候就提出了疑问,JDK 中已经有 AtomicLong 了,为啥还要使用 LongAdder ? AtomicLong 已经是基于 CAS 的无锁结构,已经有很好的并发表现了,为啥还要用 LongAdder ?于是赶快找来源码一探究竟。

Read more »

徒手撸框架--实现 RPC 远程调用

Posted on 2018-09-26 | Edited on 2018-09-27 |

微服务已经是每个互联网开发者必须掌握的一项技术。而 RPC 框架,是构成微服务最重要的组成部分之一。趁最近有时间。又看了看 dubbo 的源码。dubbo 为了做到灵活和解耦,使用了大量的设计模式和 SPI机制,要看懂 dubbo 的代码也不太容易。

按照《徒手撸框架》系列文章的套路,我还是会极简的实现一个 RPC 框架。帮助大家理解 RPC 框架的原理。

广义的来讲一个完整的 RPC 包含了很多组件,包括服务发现,服务治理,远程调用,调用链分析,网关等等。我将会慢慢的实现这些功能,这篇文章主要先讲解的是 RPC 的基石,远程调用 的实现。

相信,读完这篇文章你也一定可以自己实现一个可以提供 RPC 调用的框架。

Read more »

我的写作工具链

Posted on 2018-08-17 | Edited on 2018-08-21 |

写作是技术输出的重要手段。自己也写了一年多的文章,累计也超过五万多字。今天就想谈谈自己对于写作的一些看法以及写作时使用到的工具。工欲善其事必先利其器。

Read more »

Java 渲染 docx 文件,并生成 pdf 加水印

Posted on 2018-08-15 | Edited on 2018-08-21 |

最近做了一个比较有意思的需求,实现的比较有意思。

需求:

  1. 用户上传一个 docx 文件,文档中有占位符若干,识别为文档模板。
  2. 用户在前端可以将标签拖拽到模板上,替代占位符。
  3. 后端根据标签,获取标签内容,生成 pdf 文档并打上水印。

需求实现的难点:

  1. 模板文件来自业务方,财务,执行等角色,不可能使用类似 (freemark、velocity、Thymeleaf) 技术常用的模板标记语言。
  2. 文档在上传后需要解析,生成 html 供前端拖拽标签,同时渲染的最终文档是 pdf 。由于生成的 pdf 是正式文件,必须要求格式严格保证。
  3. 前端如果直接使用富文本编辑器,目前开源没有比较满意的实现,同时自主开发富文本需要极高技术含量。所以不考虑富文本编辑器的可能。
Read more »

撸码的福音--变量名生成器的实现

Posted on 2018-07-09 | Edited on 2018-08-21 |

最近换工作以后,结结实实的写了几个月的业务。需求完结以后,就找找自己喜欢的东西写写,换个口味。

撸码最难的就是给变量取名字了。所以就写一个变量生成器吧。

Read more »

Raft 协议学习笔记

Posted on 2018-06-04 | Edited on 2018-06-06 |

好久没有更新博客了,最近研究了Raft 协议,谈谈自己对 Raft 协议的理解。希望这篇文章能够帮助大家理解 Raft 论文。

Read more »

dubbo 源码学习(一)开篇

Posted on 2018-04-01 | Edited on 2018-06-05 |

今天开始将开启 dubbo 的源码研究。

dubbo 是什么?

dubbo 是阿里巴巴开发的一个基于 java 的开源的 RPC 框架。所谓 RPC 指的的是 Remote Procedure Call Protocol 远程过程调用协议。

Read more »
12…4
Zhengxin Diao

Zhengxin Diao

北邮本科,University of Leicester EE 研究生,Java后端开发,目前就职知乎

31 posts
60 tags
RSS
GitHub E-Mail zhihu
© 2019 Zhengxin Diao
Powered by Hexo v3.7.1
|
Theme – NexT.Pisces v6.4.0
京ICP备17065467号