技术,生活,随看 \随转
《算法新解》的开源版本

本书将先介绍数据结构中的“Hello world”―― 二叉搜索树,接下来讲解如何解决二叉树的平衡问题。然后介绍更多有趣的树,其中 Trie 和前缀树可以用于文字处理,而 B 树则广泛应用于文件系统和数据库。

第二部份是关于堆的。我们给出一个抽象堆的定义,然后介绍使用数组和各种二叉树实现的二叉堆(Binary Heap)。接着扩展到其他的堆包括二项式堆、斐波那契堆和 Pairing 堆。数组和队列通常被认为是简单的数据结构,但我们将在第三部份看到,它们实现起来并不容易。作为基本的排序算法,我们将介绍命令式和函数式的插入排序,快速排序和归并排序等算法。

最后的部份是关于查找和搜索的,除了基本算法,也会介绍诸如 KMP 这样的文字匹配算法。
项目里是LaTex源码,看pdf的到Releases里下载即可。

Github
一个在 GitHub 开源的个人简历网站,支持响应式设计,能让你的个人信息、项目经验、工作经验在 Web 页面上,得到最佳的浏览体验

vCard | #简历
etcd在kubernetes集群中,作为一个核心的存储组件,具有举足轻重的地位。

本书分为三个部分: 理论介绍、源码实战、应用运维。

第一章介绍分布式系统的一些核心概念,包括分布式系统CAP理论,分布式系统网络通信,分布式存储一致性等一系列的概念。 当然,为了避免文字枯燥的表达,作者将尽量采用图表的方式解释。

第二章主要描述etcd本身的架构。 在解析etcd架构的时候,我会结合后续源码,从整体架构到其中每一个组件的核心功能,进行更为深入,细致的拆分。 目的是争取能将整个架构拆解到大家都能实现的地步。 在前两章的基础上。

第三章讲解etcd的部署,通过单机以及多机两种部署方式,实际感受下etcd的魅力所在,也为后面的章节做好铺垫。

第四章可以说是最重心的一章。 因为这一章,我们直面go语言,直面etcd源码,通过etcd提供的代码,来利用raft算法实现一个简单版本的分布式kv存储数据库。然后在这个基础上,进一步对etcd进行拆解,直达etcd内部,包括raft协议的实现,mvcc多版本并发控制, 内存B-tree索引,boltdb数据持久化,watch机制,分布式事务等一系列的核心概念。

在整个过程中,作者通过将各个模块拆分的方式,讲解每一个模块的用法以及实现, 包括写一个实用的程序代码,以及为各个模块写单元测试。 理解了源码,相信对于etcd的应用案例也就了然于胸了。

第五章重点介绍使用案例,包括分布式队列,分布式锁,分布式kv,配置中心等。

第六章简单讲解下日常的运维与监控问题

最后一章作为总结。

etcd源码剖析 | #电子书
深入分析Linux内核源码

本书共分13章,对Linux 内核2.4版的源代码进行了较全面的分析,既包括对中断机制、进程调度、内存管理、进程间通信、虚拟文件系统、设备驱动程序及网络子系统的分析,也包括对Linux 整体结构的把握、Linux的启动过程的分析及Linux独具特色的模块机制的分析与应用等。其中重点剖析了Linux内核中最基础的部分:进程管理、内存管理及文件管理。

本书对于那些准备进入Linux 操作系统内部,阅读Linux 内核源代码以及在内核级进行程序开发的读者具有非常高的参考价值。同时,操作系统实现者、系统程序员、Linux应用开发人员、嵌入式系统开发人员、系统管理员、在校的大学生和研究生及对Linux感兴趣的用户均可在阅读本书中受益。

作者陈莉君老师二十多年来专注Linux内核研究,业余时间主办的Linux内核之旅网站,为Linux爱好者默默提供着无私的帮助,值得一提的是,把自己2002年撰写的《深入分析Linux内核源代码》一书,因为绝版而全文公布于网络,这为嵌入式开发者和Linux内核爱好者提供了触手可得的资料。

传送门 | #电子书 #Linux
为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,作者在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。

线上阅读 | #电子书
Linux内核学习资料

200+篇经典内核文章,100+篇内核论文,50+内核项目,500+道内核面试题,80+内核讲解视频
​​​
Github | #linux
电子书《微积分的力量》,豆瓣评分8.7,应用数学家Steve Strogatz有着强大的语言驾驭能力,把微积分的前世今生和美,各行业的用法,淋漓尽致展现,绝不枯燥,非常抓人。 ​​​
WebFeed :一款基于浏览器插件的轻量级 RSS 订阅器

WebFeed 是一款 #浏览器扩展,用于发现网页的 RSS/Atom Feed,并在订阅后提示有新条目。项目 #开源, 支持 #Chrome#Firefox。作者写了详细的介绍:

https://taoshu.in/webfeed/
Check酱开始公测

它是一个由方糖气球出品的通用网页内容监控工具,功能很强大,支持JSON和RSS,可以监测网页内容变化,并发送异动到微信。你可以用它监测动漫更新、社交帐号、商品价格、软件更新,还有只有登录才能查看的业务后台、办公系统。

官方教程 | Github | #工具
Dragonfly 是一种现代内存数据存储,与 Redis 和 Memcached API 完全兼容。Dragonfly 在多线程、无共享架构之上实现了新颖的算法和数据结构。因此,与 Redis 相比,Dragonfly 的性能达到了 x25,并且在单个实例上支持数百万 QPS。——仅支持内核版本5.10以上的linux系统。支持大部分的Redis和Memcached的api。

Dragonfly 的核心特性使其成为经济高效、高性能且易于使用的 Redis 替代品

Dragonfly
Back to Top