果冻虾仁

https://www.zhihu.com/people/guodongxiaren

高山仰之可极,谈半同步/半异步网络并发模型

0. 仰之弥高 2015年,在腾讯暑期实习期间,leader给我布置的一个任务是整理分析网络模型。虽然也有正常工作要做,但这个任务贯穿了整个实习期。后来实习结束的总结PPT上,这部分内容占到了一半篇幅,我从C10K问题引入,讲了很多:从fork-exec的多进程到进程池;从多线程再到IO多路复用...

2019-04-17 21:59:00

阅读数 62

评论数 0

为什么我说C/C++程序员都要阅读Redis源码之:通过Redis学习事件驱动设计

0. 为什么我说C/C++程序员都要阅读Redis源码 主要原因就是『简洁』。如果你用源码编译过Redis,你会发现十分轻快,一步到位。其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编译安装过Nginx/Grpc/Thrift/Boost等开源产品,你会发现有很多依赖,而依...

2019-03-30 22:36:25

阅读数 135

评论数 0

2018,人生是一条蛇,它咬着自己的尾巴

1. Ouroboros 古埃及有一个图腾:一条咬住自己的尾巴的蛇。后来这个图腾广泛流传,渗透到印度教,古希腊,也出现在北欧神话中。其名为:Ouroboros。象征着宇宙循环,无始无终,开始即是结束,结束亦是开始。其实生活也常常是这样,任凭时间推移,生活却总在某个地方回归原点。 2. 风雨与屋...

2018-12-31 12:59:56

阅读数 4581

评论数 47

由C++书单说开来

心血来潮,整理了一下学习C++应该读的书单,当然我并没有都读过, 权当作一个ToDo List吧。书单 本书单暂不包含C语言相关书目,当然了想学好C++,C语言的经典图书也应该读一读。 书名 作者 备注 The C++ Programing Language Bjarne...

2018-07-28 01:37:11

阅读数 558

评论数 0

大四这一年

0x00“吃完饭,去外面散散步吧。”说话人是HomKai,与我同在腾讯实习。2015年,深圳八月的傍晚。腾讯大厦周边的马路上,行走着两个男人,一胖一瘦。路边有零星几个商贩,叫卖着熟玉米、茶叶蛋等小吃。“你说,咱们如果不会敲代码的话,现在会不会和他们一样啊?”HomKai又开口了。“这……,说不好,...

2016-08-06 13:47:11

阅读数 2932

评论数 15

写给立志做码农的大学生

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请。大二起开始在计算机系学习。大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年。我不...

2016-05-07 14:41:29

阅读数 9723

评论数 34

拾遗与填坑《深度探索C++对象模型》3.3节

3章3节 Data Member的存取 背景介绍 本节篇幅较短核心内容讲的就是,如下代码的存取效率问题:

2016-04-14 11:40:59

阅读数 3195

评论数 0

拾遗与填坑《深度探索C++对象模型》3.2节

3章2节 Data Member的布局 背景介绍 访问区(access section)即是指private、public、protected下面的代码区域。当然在类中同一种访问区可以多次声明,视作多个访问区,如:

2016-04-13 19:20:55

阅读数 2634

评论数 0

解决HTML外部引用CSS文件不生效问题

作为一个前端小白,鼓捣了几天前端。。今天突然发现我深信不疑的东西,竟然出现了问题。。就比如我在css目录下面写了一个css样式文档:style.css。然后再我的html文件里面去引入这个外部css:在浏览器一刷新。。哇,kao。竟然没反应,不起作用。。我检查了好几遍这个路径确定没有问题,打开ch...

2016-03-20 12:45:06

阅读数 26531

评论数 1

从0到1:制作你的苹果podcast(播客)

注意:本文不是教你如何录音、如何做后期的文章。而是聚焦于如何搭建播客(podcast)需要的环境。 本文科普类文章,干货少,湿货多。先选一个主机吧        这步的初衷和你自己建站是一样的。你可以购买一个独立的云主机,也可以找个VPS之类的。我用的阿里云,因为我是学生(目前),阿里云有学生优惠...

2016-03-15 23:00:14

阅读数 7709

评论数 0

leetcode 136. Single Number

就是说一堆数字序列,基本上每个数字都出现了两次,只有一个数字出现了一次。请找出这个数字。并且不分配额外内存。题目的tag是Hash table、Bit manipulate。这题并不难。。水的很,虽然题目提示了用hash和位操作来解。。但本着练习STL的目的,我还是另辟蹊径,使用了STL的accu...

2016-01-31 16:37:14

阅读数 2663

评论数 1

C++后台实践:古老的CGI与Web开发

本文写给C/C++程序猿,也适合其他对历史感兴趣的程序猿。  谈到web开发,大家首先想到的PHP、JavaEE/JSP、.NET/ASP、Ruby on rails、Python的Django等等。可谓百花齐放,你一般不会想到C++和Web开发有什么关系,但其实动态网页的开发(web开发)可是在...

2016-01-25 17:00:03

阅读数 9272

评论数 1

我的2015:感悟篇

就业呢,是个亘古不变的话题,对大学生而言尤其如此。无论你是大一大二也好,无论你是大三大四也好。无论你以后是否读研也好,你始终都是要就业的。关于就业呢,首先要谈的是择业。 理想状态下,择业问题对于大部分毕业生而言归根结底就三个:1. 从事自己喜欢的工作 2. 从事高薪的工作 3.去名...

2016-01-21 15:14:21

阅读数 2399

评论数 3

我的2015:行走篇

“2015前程似锦”这是2015年年初的时候我发的一句说说。这一年委实经历了很多,也成长了很多。即遭受过苦难,也享受过喜悦。开拓了视野,进一步清晰了目标。上个学期末的时候,就想好好写写自己的故事了,但是那段时间太忙,期末,然后课设,然后马不停蹄地跑到深圳开始实行。这后来也曾数度提笔,虽胸有千言,然...

2016-01-12 22:39:16

阅读数 2350

评论数 7

决胜C++面试:堆、栈面面观

学习C语言,我们都听过堆(heap)和栈(stack)的概念。需要注意的是:有些地方“堆栈”这个词特指的是栈,而不是堆和栈。命名约定:本文中堆栈一次出现的地方,指的是两种东西,而非一种。         在数据结构中,我们也听过栈和堆这两种数据结构,当然和我本文要讲的东西是不同的概念。不过数据结...

2015-10-11 23:00:04

阅读数 2492

评论数 0

详解Redis源码中的部分快速排序算法(pqsort.c)

看标题,你可能会疑惑:咦?你这家伙,怎么不讲解完整的快排,只讲一部分快排……其实“部分快排”是算法的名字。本文几乎与普通快排无异。看懂了本文,你对普通的快排也会有更深的认识了,实际上本文相当详细呢 快速排序算法(qsort)的原理我们大都应该了解。但你真的了解如何高效实现一个快排吗?

2015-06-07 19:08:39

阅读数 5932

评论数 4

Redis源码中探秘SHA-1算法原理及其编程实现

SHA-1算法是第一代“安全散列算法”的缩写,其本质就是一个Hash算法。SHA系列标准主要用于数字签名,生成消息摘要,曾被认为是MD5算法的后继者。如今SHA家族已经出现了5个算法。Redis使用的是SHA-1,它能将一个最大264比特的消息,转换成一串160位的消息摘要,并能保证任何两组不同的...

2015-04-28 21:19:55

阅读数 3760

评论数 2

2015腾讯暑期实习武汉站面试经历

不得不吐槽一下腾讯的面试短信。在面试前一天(13号)晚上十点半才收到,通知14号下面四点面试。我赶紧去楼下打印了两份简历。第二天坐上十点半的动车从南昌触发去武汉了。细节不表了。下面给大家讲讲一下我的经历:一个无项目经验的非著名大学的本科生是如何获得腾讯实习offer的。

2015-04-24 19:09:56

阅读数 5527

评论数 10

Redis源码中看伪随机数生成算法

Redis源码中有一个rand.c的源文件,很明显这是一个和(伪)随机数有关的文件。细看该文件代码只有寥寥50行,不过涉及到的算法原理却不简单,读起来虽然有些晦涩,但对于深入理解48位空间中的伪随机数算法是不可多得的范本。作者在该文件的注释中写道:这个伪随机数生成函数是从pysam源码中的dran...

2015-04-05 14:51:09

阅读数 3801

评论数 2

Redis内存管理的基石zmallc.c源码解读(附录):源码结构表

前面两篇博文,细致地介绍了zmalloc.c文件的各个函数,不过大家要想深入学习Redis,还需要自己去看源码才是,我梳理了一下zmalloc.c文件的结构,为大家阅读源码提供便利

2015-04-01 17:45:32

阅读数 2137

评论数 1

提示
确定要删除当前文章?
取消 删除