首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Richard_Yi
掘友等级
后端开发
|
网易
吾辈采石之人,当心怀大教堂之愿景
关注
私信
获得徽章 5
动态
文章
专栏
沸点
收藏集
33
关注
赞
54
文章 53
沸点 1
资讯 0
赞
54
关注
返回
|
搜索文章
Richard_Yi
后端开发 @ 网易
·
1年前
关注
延时消息常见实现方案
延时消息适用的业务场景非常广泛,在分布式系统环境下,延时消息的功能一般会在下沉到中间件层,通常是 MQ 中内置这个功能或者内聚成一个公共基础服务。本文旨在探讨常见延时消息的...
21
4
分享
Richard_Yi
后端开发 @ 网易
·
1年前
关注
从 Kafka 看时间轮算法设计
Kafka 基于时间轮实现了延时操作,时间轮算法的插入删除操作都是 O(1) 的时间复杂度,满足了 Kafka 对于性能的要求。除了 Kafka 以外,像 Netty 、Z...
8
评论
分享
Richard_Yi
后端开发 @ 网易
·
1年前
关注
从 RocksDB 看 LSM-Tree 算法设计
本文先是介绍了 RocksDB 对于LSM 树的实现,再总结了 LSM 树的设计思想,也类比了 Elasticsearch Lucene 的存储设计思想,最后将 LSM 树...
11
1
分享
Richard_Yi
赞了这篇文章
qing的世界
Framework开发 @ Google
·
2年前
关注
愤怒!都21世纪了竟然还有人说学java swing没用?
昨天,有个朋友私信我说,“哥,我看到掘金上有个大v博主,说在学校教的java swing可以不学,你怎么看?” 说句实在话,刚看到这个问题的时候,我是想骂娘的!不是骂朋友啊...
65
193
分享
Richard_Yi
后端开发 @ 网易
·
2年前
关注
面向实际的单测完整解决方案分享
本文整理自前不久在组内组织的一次单元测试分享。 背景主要是后续我们的持续集成流程中会增加单测覆盖率这个一个卡点,大家之后需要慢慢将手头上的服务的单测补充起来。然后就发现组里...
8
2
分享
Richard_Yi
赞了这篇文章
Q的博客
高级技术专家 @ 美团
·
2年前
关注
JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇
本系列共三篇文章, 本文是系列第2篇——进阶篇,详细讲解 MAT 各种工具的核心功能、用法、适用场景,并在具体实战场景下讲解帮大家学习如何针对各类内存问题。 《JVM 内存...
210
35
分享
Richard_Yi
赞了这篇文章
Q的博客
高级技术专家 @ 美团
·
2年前
关注
JVM 内存分析工具 MAT 的深度讲解与实践——入门篇
JVM 内存分析往往由团队较资深的同学来做,本系列通过3篇文章,深度解析并帮助读者全面深度掌握 MAT 的使用方法。即使没有 JVM 内存分析的实践经验,也能快速成为内存分...
128
11
分享
Richard_Yi
赞了这篇文章
Q的博客
高级技术专家 @ 美团
·
2年前
关注
深度解析 Raft 分布式一致性协议
笔者期望通过一篇权威靠谱、清晰易懂的系统性文章,帮助读者深入理解 Raft 算法,并能付诸于工程实践中,同时解读不易理解或容易误解的关键点。 本文是 Raft 实战系列理论...
271
42
分享
Richard_Yi
关注了
Q的博客
后端开发 @ 网易
Richard_Yi
关注了
Java3y
后端开发 @ 网易
Richard_Yi
后端开发 @ 网易
·
2年前
关注
Elasticsearch 如何做到快速检索 - 倒排索引的秘密
最近接触的几个项目都使用到了 Elasticsearch (以下简称 ES ) 来存储数据和对数据进行搜索分析,就对 ES 进行了一些学习。本文整理自我自己的一次技术分享。...
22
4
分享
Richard_Yi
后端开发 @ 网易
·
3年前
举报
近期得了个机会,把自己两年前的一个项目重写了一遍准备上线,刚好前段时间读了《clean code》和《head first design pattern》,于是在整个重写过程当中,有意识的按照里面提到的一些设计模式和编码规则进行重构设计,整个过程下来心情非常的愉悦,写代码就像写诗,大概就是这种感觉。再对比两年前自己写的的项目代码,感悟就很深刻了。
以前写代码,很多时候都陷入了羊群效应,为了避免犯错,照葫芦画瓢,对很多不合理的设计和重复冗余的代码都置若罔闻,不去深究。实际上错过了很多优化提升自己的机会。而且,这种遵从教条主义的危害很大,遇到水平高的代码还好,如果遇到水平一般设计差的,编码风格、编程思维会被带偏,很容易陷入瓶颈(这里主要指的不是技术瓶颈,而是代码设计、抽象建模的那种编程思维)。就像我两年前写出来的代码,可读性很差,更别谈高内聚低耦合、OCP、SRP这些东西了,得亏重写的是我自己,不然保不准会有一个同事拿着大刀来砍我,问我写的什么玩意儿。
很多时候,我们做的业务功能可能很简单,很基础,但这并不代表我们应该马马虎虎的对待,加入一些设计模式,多注重代码整洁的规约,会让这些业务功能变得不那么“简单”。就像《程序员修炼之道》所引的,吾等采石之人,当心怀大教堂之愿景。即使我们所做的事项很基础,也需要心怀愿景,告诉自己自己在建筑的不仅仅是城墙,而是大教堂。
展开
收起
查看大图
向左旋转
向右旋转
今天学到了
等人赞过
分享
评论
23
Richard_Yi
后端开发 @ 网易
·
3年前
关注
《Clean Code》阅读笔记
避免思维映射,明确才是王道。 尽可能要做到“顾名思义”,看到名称就能知道这个变量、函数、类、包的意义、用途。 不要写多余的废话或者容易让人混淆的命名。 比如"custome...
2
评论
分享
Richard_Yi
后端开发 @ 网易
·
3年前
举报
时常有人会问,做程序员,每天都有新技术新知识,要去不断地学习,是不是会很累。
我觉得吧,对于将持续学习作为一种生活习惯的人来说,学习新东西并不会成为一种负担,反而是一种乐趣。尤其是身处于一个优秀的社区,碰到一群志同道合之人的时候。
今天学到了
等人赞过
分享
12
17
Richard_Yi
赞了这篇文章
Richard_Yi
后端开发 @ 网易
·
3年前
关注
讲透 ThreadLocal 和 InheritableThreadLocal
继上一篇结尾讲的,这一篇文章主要是讲ThreadLocal 和 InheritableThreadLocal。主要内容有: ThreadLocal 适用于每个线程需要自己独...
33
7
分享
Richard_Yi
赞了这篇文章
Richard_Yi
后端开发 @ 网易
·
3年前
关注
Dubbo 服务性能压测(with JMeter)
最近在做Dubbo服务与Prometheus的监控集成,为了测试监控组件对Dubbo RPC 调用的性能影响,就需要对添加前后做性能测试。虽然之前给组内搭建了统一的Dubb...
7
评论
分享
Richard_Yi
赞了这篇文章
Richard_Yi
后端开发 @ 网易
·
3年前
关注
Java 并发编程 ② - 线程生命周期与状态流转
继上一篇结尾讲的,这一篇文章主要是讲线程的生命周期以及状态流转。主要内容有: 先来谈一谈Java 中线程的状态。在 java.lang.Thread.State 类是 Th...
9
评论
分享
Richard_Yi
赞了这篇文章
Richard_Yi
后端开发 @ 网易
·
3年前
关注
Java 并发编程基础 ① - 线程
进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。 操作系统在...
12
2
分享
下一页
个人成就
文章被点赞
807
文章被阅读
171,969
掘力值
5,096
关注了
17
关注者
551
收藏集
33
关注标签
17
加入于
2019-05-14