思想工坊与出版物物料库
收录分布式架构实践、后端工程探究、生活随笔思考以及数字暗房实验笔记。
2023总结 ---- 平淡中的确幸
2023的必然不会很冗长,尤其是工作上的进展在前一篇文章已经总结过了,2023 对于我来说其实可以用平淡来形容,其中仍然有一些确幸。这一年给自己打 80 分,比去年高一些,因为做出了一些改变,值得比去年高十分。
2021.08-2023.09,就这样的两年
围在城里的人想冲出来,城外的人想冲进去,无论婚姻也罢,职业也罢,人生的愿望大都如此。
How unsafe.pointer screwed up our users display
The weekend started as any other, but it quickly took an unusual turn when our users reported a bizarre issue on our chat page. As the backend developer for the Instant Messaging (IM) Team, I found myself bombarded with feedback indicating that the chat page was displaying strange languages.
2022总结 ---- 和解与寻找,工作与爱情
今天是2022大年初一,窗外细雨绵绵---也是非常适合写作的日子。2022年对我来说也是非常特殊的一年,有情绪化的混乱,有和解前的茫然,也有做出选择后的坚定与和解。最重要的两个词汇是和解与寻找,我解答了自己在2021年底留下的问题同时也在不断寻找和放弃中度过了2022年。
Introduction to the Google File System (GFS)
Distributed database / file system is crucial for understanding how our distributed system works. During the progression of all DB/ File systems. Google File System lays the foundation for a massive scalable system. So I would love to share this classic design and if you are interested, can go on with sharing on Bigtable / HDFS / HBASE and other more state of the art solutions.
Journey of an RPC call at server-- from Unix Socket to Go Handler
I used to encounter an interesting issue, the Redis call has an increase in latency after I upgrade the network library dependency of my service RPC framework. The reason was that the pollers of RPC networker library occupy too much CPU and it grabs the default Redis netpoller's CPU schedule. However, I could barely understand what happened in the networking part of the framework. So this session I will do a rough introduction on network packages
作为开发IM(即时通讯)的程序员,我越来越讨厌IM了
作为一个开发IM的后端程序员,我越来越开始讨厌IM这个东西。当它无处不在时,它会阻碍信息的传播。
[WIP] Event Based Multi-DataCenter Synchronisation in IM System
This essay is a follow up introduction on IM Architecutre. We will discuss some common consistency, avilability and partition tolerance issues we face in a multi-datacenter, distributed architecture of the IM system. We will also discuss how we tackle with thess issues in the service implementation to acieve high avaliblity and parition tolerance meanwhile achieving final consistency.
[WIP] 记录,收集,推荐,美好的产品与App
从第一天开始用智能手机,用电脑,我无时无刻不在思考和体验和追求好的软件产品。今天我想给大家做一些推荐了,我觉得美好的东西需要分享。可是什么才算是美好的产品呢?
从一次面试旁观说起--Weighted Random Sampling算法
前两天老板面试别人我去做了旁观,我觉得他出得题太简单了。可是后来被生生的打脸了,他说:一道好的面试题一定是深入浅出的,让面试者不断发掘更优秀的解题办法,这个过程才是Engineer的能力,而不是上来一道Leetcode Hard
How Does Instant Messaging Work? (A Holistic IM Backend Intro)
This essay takes me one month to finish writing, drawing figures. I will start from the view of a PM to define what user's need for a simple instant messaging service as well as the perspective of an SWE to elaborate how to implement these features (backend) in a robust and reliable way.
"给儿子的一封信"
2022年元旦,我收到母亲一封家书,简单的文字,正值我思考去年种种机遇,成长与遗憾之际。感动涕零,无以言表,特此记下
Interesting Empty Struct Context Key
I found this piece of code snippet in our codebase and it turns out to be interesting and elightening on the understanding of golang struct type
Interesting Golang "Passed by Value" & "Passed By Pointer Value"
Just some insights on usage of Golang Pass By Value and Pass by Reference(Pointer)~
【持续更新】十年脑血栓也设计不出来的APP逻辑
脑子瓦特了,脑血栓了,都设计不出来的APP逻辑,离谱的BUG吐槽记录
【持续更新 15th Aug 2021】子正的作死日记
作为不断勇于尝(zuo)试(si)的新青年,特此记录下勇于尝试新东西造成的及其后悔的作死记录。
Mastering Go学习笔记
Mastering Go Second Edition 学习笔记