Giter VIP home page Giter VIP logo

leveldb-handbook's Introduction

leveldb-handbook

Leveldb-handbook是基于goleveldb项目,为读者讲述leveldb背后的系统结构及设计原理。

作者仅是在自身阅读源码的过程中不断记录与学习,若有错误之处,欢迎大家以提交PR的方式进行更正与完善!

该项目使用readTheDoc工具进行托管,读者可以到 这里进行在线的阅读。

leveldb-handbook's People

Contributors

brokensword2018 avatar david-sail avatar liubang avatar rjl493456442 avatar sunfeilong avatar wenfuwang avatar wonter avatar wuliuqii avatar xyb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

leveldb-handbook's Issues

Connecting author

Thanks u for sharing, I am changbinhe@huobi blockchain team, could we connect via wechat? Mine is freeface

示意图绘制工具

您好!自己对于文档中示意图的粉笔风格很感兴趣,想问下是用什么工具绘制的?多谢答复。

连词错误

读写操作>写操作>原子性 最后一句:“后者,写日志已经完成,已经数据未真正持久化” 中“已经”是不是应该是“但是”?  

勘误:sstable 中“data block 结构”例子错误

sstable 一章中介绍“data block 结构”的例子中,第二个 restart point 的值应为 17 而不是 16。错误的图片如下:

验证代码:

#include <cctype>
#include <iostream>
#include "leveldb/options.h"
#include "table/block_builder.h"

int main() {
  leveldb::Options options;
  options.block_restart_interval = 2;
  leveldb::BlockBuilder builder(&options);
  builder.Add("deck", "v1");
  builder.Add("dock", "v2");
  builder.Add("duck", "v3");

  std::cout << "-------------" << std::endl;
  leveldb::Slice result = builder.Finish();
  for (char c : result.ToString()) {
    if (isalnum(c))
      std::cout << c << ' ';
    else
      std::cout << "\\0x" << int(c) << ' ';
  }
  std::cout << std::endl;
  std::cout << "-------------" << std::endl;

  return 0;
}

输出结果:

\0x0 \0x4 \0x2 d e c k v 1 \0x1 \0x3 \0x2 o c k v 2 \0x0 \0x4 \0x2 d u c k v 3 \0x0 \0x0 \0x0 \0x0 \0x17 \0x0 \0x0 \0x0 \0x2 \0x0 \0x0 \0x0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.