clang-format使用记录

#前言

在团队协作上,代码的统一格式会让协作变得简单。
公司推荐用clang-format格式化proto文件,但格式化后的文档可读性很差,甚至“公司除了我没人在用”。

一番折腾,解决,记录之。

Mysql笔记

  • 服务器会为诸如 ALTER TABLE 之类的语句使用表锁,而忽略存储引擎的锁机制

#InnoDB 物理结构

Each space in InnoDB is assigned a 32-bit integer space ID, which is used in many different places to refer to the space.
InnoDB always has a “system space”, which is always assigned the space ID of 0.

Each page within a space is assigned a 32-bit integer page number, often called “offset”
page 0 is located at file offset 0, page 1 at file offset 16384

  • 页是最基础的 InnoDB 的概念,一般为 16kb。
  • 页一般由一个38 byteFIL header和一个8 byteFIL trailer组成。
  • FSP_HDR 和 XDES 是两种特殊的页,用来管理数据页。它们的区别在于,FSP_HDR 是第一个“管理页”,包含一些单独的信息。
  • 一个 FSP_HDR 或 XDES 会管理和它们连续分配的 16384 个页,256MB,或者叫 16 个 extent(16 块)。
  • FSP_HDR 和 XDES 由FIL headerFIL trailerFSP header和 256 个extent descriptorsXDES Entry)组成。

page

  • 一个XDES Entry管理64个页。

#参考链接

zsh安装

#前言

为了环境统一,把自己的 linux 和 mac 的电脑都装上统一的 zsh。

launchd体验

因为工作忙经常忘记事情,但是用日历记录这些小事情感觉有点“重”,用 iMessage 刚刚好。
记录遇到的问题,也算是折腾了好久。

Raft学习笔记

关于Raft的学习记录。如有疑问欢迎指正,也欢迎讨论。

paxos的思想理解起来很困难,只是简单地理解了一下,连着看了几天都不能真正理解,跳过先看《In Search of an Understandable Consensus Algorithm》。

个人感觉学习这两个算法就不要想着 10 分钟学会的那种文章了,越长越好,毕竟论文 18 页?

#摘要

Raft是一个共识算法,为了解决paxos难以理解的问题,解决方式是将一些共识算法中的一些概念分离,并通过safety来约束这些之间的关系。具体有四个方面,leader electionlog replicationsafetymembership changes