![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开源
果冻虾仁
这个作者很懒,什么都没留下…
展开
-
走向开放新纪元:革命,让更多女性走进开源
通过去年开展的一个调查来看,开源贡献者中仅有11%的女性。另外,根据劳工统计局的数据,计算机程序员中女性占23%,而在web开发者中这个数字是39.5%。当你认为技术公司越来越偏爱有开源经验的开发者的时候,这是特别让人担心的。这意味着如何解决开源界的多样性问题也成了整个工业界解决该问题的关键。第一要务就是降低进入开源世界的门槛。在过去的五年里,非盈利组织OpenHatch已经尽力去做这件事了。翻译 2014-07-19 21:32:17 · 1463 阅读 · 2 评论 -
Linux中IRC通讯工具Pidgin的基本使用方法
这是我发在南昌大学开源小组里的一篇教程IRC是个古老的产物,在图形界面流行之前就出现了。但是在如今很多开源社区都是利用IRC来进行团队交流或对用户提供技术支持的,比如维基百科,所以还是有必要用一用。确切说IRC只是协议,要聊天需要支持该协议的工具。Linux下这种工具有很多了。比如Pidgin和XChat,这里我介绍一下Pidgin。原创 2014-07-24 10:54:53 · 5779 阅读 · 0 评论 -
Redis内存管理的基石zmallc.c源码解读(附录):源码结构表
前面两篇博文,细致地介绍了zmalloc.c文件的各个函数,不过大家要想深入学习Redis,还需要自己去看源码才是,我梳理了一下zmalloc.c文件的结构,为大家阅读源码提供便利原创 2015-04-01 17:45:32 · 2484 阅读 · 1 评论 -
Redis内存管理的基石zmallc.c源码解读(二)
上一篇博文中,我介绍了zmalloc.c文件中几个常用的函数,接下来给大家介绍一下该文件中的其他函数,其实本文中的很多函数要比上一篇文章中的函数要更有趣的,但也更难,并且涉及到很多操作系统的知识。对操作系统,内存分配的底层原理感兴趣的童鞋不容错过。前面几个函数比较简单,一笔带过,后面几个是学习的重点。原创 2015-04-01 17:04:56 · 3240 阅读 · 0 评论 -
Redis源码中看伪随机数生成算法
Redis源码中有一个rand.c的源文件,很明显这是一个和(伪)随机数有关的文件。细看该文件代码只有寥寥50行,不过涉及到的算法原理却不简单,读起来虽然有些晦涩,但对于深入理解48位空间中的伪随机数算法是不可多得的范本。作者在该文件的注释中写道:这个伪随机数生成函数是从pysam源码中的drand48()派生过来的。关于pysam是什么项目,并不是重点,其实很多Unix系统中都存在drand48这个函数(SVr4,POSIX.1-2001),我们可在终端中man一下drand48。 可以看原创 2015-04-05 14:51:09 · 5631 阅读 · 2 评论 -
Redis源码中探秘SHA-1算法原理及其编程实现
SHA-1算法是第一代“安全散列算法”的缩写,其本质就是一个Hash算法。SHA系列标准主要用于数字签名,生成消息摘要,曾被认为是MD5算法的后继者。如今SHA家族已经出现了5个算法。Redis使用的是SHA-1,它能将一个最大264比特的消息,转换成一串160位的消息摘要,并能保证任何两组不同的消息产生的消息摘要是不同的。Redis的sha1.c文件实现了这一算法,但该文件源码实际上是出自Valgrind项目的/tests/sha1_test.c文件(可以看出开源的强大之处:取之于民,用之于民)原创 2015-04-28 21:19:55 · 5891 阅读 · 2 评论 -
Redis内存管理的基石zmallc.c源码解读(一)
当我第一次阅读了这个文件的源码的时候,我笑了,因为我忽然想起前几周阿里电话二面的时候,问到了自定义内存管理函数并涉及8字节对齐问题。当时无言以对,在面试官无数次的提示下才答了出来,结果显而易见,挂掉了二面。而这份源码中函数zmalloc()和zfree()的设计思路和实现原理,正是面试官想要的答案。本文详细介绍该文件下几个主要函数:zmalloc()、zfree()、zcalloc()、zrealloc()、zstrdup()的源码。原创 2015-03-31 09:43:18 · 11088 阅读 · 7 评论 -
Redis源码中的CRC校验码(crc16、crc64)原理浅析
在阅读Redis源码的时候,看到了两个文件:crc16.c、crc64.c。下面我抛砖引玉,简析一下原理。 CRC即循环冗余校验码,是信息系统中一种常见的检错码。大学课程中的“计算机网络”、“计算机组成”等课程中都有提及。我们可能都了解它的数学原理,在试卷上手工计算一个CRC校验码,并不是难事。但是计算机不是人,现实世界中的数学原理需要转化为计算机算法才能实现目的。实际上作为计算机专业背景人并不会经常使用或接触到CRC的计算机算法实现的原理,通常是电子学科背景的人士会接触的比较多点。计算机当原创 2015-03-29 21:44:13 · 26433 阅读 · 0 评论 -
详解Redis源码中的部分快速排序算法(pqsort.c)
看标题,你可能会疑惑:咦?你这家伙,怎么不讲解完整的快排,只讲一部分快排……其实“部分快排”是算法的名字。本文几乎与普通快排无异。看懂了本文,你对普通的快排也会有更深的认识了,实际上本文相当详细呢 快速排序算法(qsort)的原理我们大都应该了解。但你真的了解如何高效实现一个快排吗?原创 2015-06-07 19:08:39 · 7546 阅读 · 4 评论