snowflake

分布式Id snowflake 是一种分布式id唯一算法,相比较uuid算法生成方式,snowflake生成的是一个int64大整型,并且是大致递增 我发现网上对于该算法的描述,在位数偏移上是由差异的,但是整体思路是一致的 这里的10-bit workerId在有的源码里面是分成两个 workerId 、data的5-bit大小 可以大致算一下,1毫秒1单点能生成2 ^ 12 = 4096个id,总共能部署 2 ^ 10 = 1024 个节点,也就是1毫秒最大能生成400多万个id 我按照算法思路写了如下代码 package main »

dlv

dlv 针对go语言的调试器,内部架构介绍 --headless package main import ( "fmt" ) func main() { m := 120 fmt.Printf("Hello world\n") fmt.Printf("m = %d\n", m) } 终端1 dlv debug »

go语言 nil

空指针和空接口不等价 package main import ( "fmt" ) type MyError struct{} func (p *MyError) Error() string { return "test error" } func returnsError() error { var p *MyError = nil return p } func »

vim-go debug

2018.09.04 set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'vim-airline/vim-airline' Plugin 'vim-airline/vim-airline-themes' »

ghost blog 自动备份

ghost-blog 自动备份 blog放在digitalocean上,说不定哪天忘记缴费就给停了,超出时间数据就都没了。 数据 先确定需要备份哪些数据,其实我们所需要备份的数据只有是数据库数据、主题(如果用的是默认数据库,就没有必要了) $ cd ghost/content $ du -h 200K ./data 8.0K ./apps 24K ./themes/casper/assets/fonts »