跳转至

读书笔记

爱的艺术:心理学大师佛罗姆跨时代不朽经典

Tips

下载地址:爱的艺术

首先就被序言中的这句话吸引住了:爱某一个人并不只是一种强烈感情,它还是一个决定、一个判断和一个承诺。 如果当初懵懂的自己能够早些明白,也许就不会再有那么多遗憾了。

记得大学时选修了政法系的一门课程叫《爱情伦理学》,老师是一位很和蔼的小老头,回头看老师非常关注当时的社会现象和社会问题,能够感受到老师非常想让学生树立正确的爱情观,一切从娃娃抓起。

B-Tree 与崩溃恢复

B-Tree 是一种非常优秀的数据结构,适用于数据库和文件系统等场景。本文将从以下几个角度解析 B-Tree 的特点与实现。

B-Tree 作为平衡的 n 叉树

高度平衡的树

许多实用的二叉树(如 AVL 树或红黑树)被称为**高度平衡树**,即树的高度(从根到叶的深度)被限制为 \(O(\log(N))\),因此查找操作的复杂度为 \(O(\log(N))\)

B-Tree 同样是一种高度平衡的树,其所有叶节点的高度相同,这确保了其良好的查找性能。

B-Tree Data Structure

可能是以前没有接触过类似的数据结构设计,反复阅读了几遍依然有些不太理解。今天,我决定从读者的角度一步一步介绍我对这个数据结构的理解。

一个节点应该包含以下几个部分:

| type | nkeys |  pointers  |   offsets  | key-values | unused |
|  2B  |   2B  | nkeys * 8B | nkeys * 2B |     ...    |        |

每个 key-value 对的格式如下:

| klen | vlen | key | val |
|  2B  |  2B  | ... | ... |

用不到 100 行 Go 语言构建自己的容器

原文地址:https://www.infoq.com/articles/build-a-container-golang/

2013 年 3 月 Docker 的开源发布引发了软件开发行业打包和部署现代应用程序方式的重大转变。在 Docker 发布之后,许多相互竞争、相互补充和相互支持的容器技术也随之诞生,这导致了围绕这一领域的许多炒作和一些幻灭。本系列文章旨在揭示其中的一些困惑,并解释容器在企业中的实际使用情况。

本系列文章首先介绍了容器背后的核心技术以及开发人员目前的使用情况,然后探讨了在企业中部署容器所面临的核心挑战,例如将容器化集成到持续集成和持续交付管道中,以及加强监控以支持不断变化的工作负载和潜在的瞬时性。本系列最后展望了容器化的未来,并讨论了 unikernels 目前在前沿组织中发挥的作用。

使用 Go 实现 BitTorrent 客户端

原文地址:https://blog.jse.li/posts/torrent/

BitTorrent 是一个通过网络下载和分发文件的协议。与传统的客户端/服务器关系相比,下载者连接到中央服务器(例如:在 Netflix 上观看电影,或加载您正在阅读的网页),BitTorrent 网络中的参与者(称为对等点)下载彼此之间的文件片段——这就是它成为点对点协议的原因。我们将研究其工作原理,并构建我们自己的客户端,该客户端可以找到同行并在它们之间交换数据。

XML 读书笔记

XML 文件是由标记及其所标记的内容构成的文本文件,与 HTML 文件不同的是,这些标记可自由定义,其目的是使得 Internet 网络上的数据交互更方便,让文件的内容更加通俗易懂。