Home
Blog
Project
About
Rss
思考tidb精简版
2025-03-09
cora 实现分代垃圾回收
2025-02-18
为什么 mallogc 在 25% 以内 Go 的程序才是健康的
2025-01-23
cora 的模块系统重新实现
2025-01-17
2024 年终总结
2025-01-05
cora 0.3 release
2024-11-12
函数式语言中隐藏全局变量赋值的一个技巧
2024-10-29
一个强大灵活且巧妙的 type checker 实现思路
2024-10-22
concurrent ml 和 Go 的并发模型对比
2024-10-16
cora 0.2 release
2024-09-27
C 语言中实现高效尾递归的一个技巧
2024-09-21
cora 语言对垃圾回收实现的探索
2024-09-10
通过 namespace 实现 r7rs 的 library 相关的语法
2024-09-06
恢复博客
2024-09-04
实现lisp的调试功能
2024-01-03
软件事务内存STM
2023-12-30
T型人才,知识传承,AI
2023-12-25
论设计对代码健壮性的影响
2023-11-09
通过 tailification 实现 delimited continuation -- scheme to C
2023-10-24
关于Go应用程序支持FIPS
2023-10-20
copy-and-patch JIT
2023-10-11
cora 又双叕重写了
2023-08-19
排队论公式笔记
2023-08-04
排队延迟
2023-08-04
库 vs 框架
2023-08-04
union scan的技术债务
2023-07-06
patch Go 以及关于 bazel 的反思
2023-06-15
表达式函数递归写法改非递归
2023-06-05
非线性规模问题
2023-06-05
并发 lru 设计
2023-06-02
CI 的根本性问题
2023-04-23
手动 goroutine 调度器
2023-01-11
协议,而不是平台
2023-01-04
2022 年终总结
2023-01-03
C语言的string库
2022-12-23
实现 resumable exception
2022-12-21
一个极简(山寨)的 lisp 模块方案
2022-12-01
栈顶缓存 top-of-stack-caching
2022-11-17
SEDA 架构反思
2022-09-27
eCDF优于直方图
2022-09-06
内网游戏服务器反向代理
2022-08-28
脑洞:时光机数据库
2022-08-11
多租户实现路径的探索
2022-08-03
GC 只管理生命期,不管理具体的内存分配
2022-08-01
<下一代云原生数据库设计>点评
2022-07-27
lisp 中一种巧妙的 GC 实现方式
2022-07-20
建立一个量化 coprocessor 请求对 tikv 资源消耗的模型
2022-05-20
cockroachdb severless 解读
2022-05-17
流控和 OOM
2022-04-26
使用 bpftrace 观察 Go 程序
2022-04-25
gambit scheme 是如何实现 call/cc 的
2022-04-09
云原生数据库架构系列之 session manager
2022-03-02
正则表达式,PEG 以及 parser combinator
2022-02-28
CI 优化计划 -- Make CI great again!
2022-01-27
2021 年终总结
2021-12-31
2020 年终总结(存档版)
2021-12-22
闭包即代码生成
2021-12-21
TiDB 的事务模块演进
2021-12-06
良性循环 -- 软件开发中的一些小故事
2021-11-21
基于 docker 和 plan9port 搭建开发环境
2021-11-10
关于提升软件质量
2021-10-20
使用 algebraic effect 实现协程和异步IO
2021-10-09
algebraic effect 推导(下)
2021-08-08
Go 语言的读写锁真的是读不阻塞么
2021-08-20
algebraic effect 推导(上)
2021-08-08
想到一个 idea
2021-07-25
koka 语言的卖点
2021-07-25
学习 dependent type
2021-07-11
开源天之炼狱
2021-06-11
如何进行 code review
2021-06-01
sql 库的 prepare 行为设计得真脑残啊
2021-05-15
换了台新的电脑
2021-04-17
关于 FFI 的思考
2021-03-22
强一致的缓存设计
2021-03-05
Makefile 自动生成依赖
2021-02-23
写在 shen-go 1.0 发布之际
2021-02-22
写入热点打散的问题
2021-01-27
continuation monad 推导
2021-01-26
cora 语言中 let loop 宏的写法
2021-01-07
吞吐稳定性
2020-11-18
搭建 TiDB 集群并运行 TPCC 测试
2020-11-05
binlog 的并行重放问题
2020-09-11
避免明文密码的一个简单算法
2020-07-23
事务模型:两个时间戳,或是一个时间戳
2020-07-15
分布式死锁检测
2020-06-27
老司机带你读 CockroachDB 的论文
2020-06-18
域名忘记续期了
2020-06-17
microKanren 学习笔记
2020-06-15
inferno 的并发垃圾回收算法
2020-06-02
一种有趣的测试方法:pivoted query synthesis
2020-04-16
Go 语言是如何捕获 panic 栈的
2020-04-04
权限系统设计
2020-03-21
求求你们,不要再往接口里面乱加方法了
2020-03-09
各种异步概念
2020-03-07
sysbench 用 Go 实现 -- 定义DSL
2020-02-10
一个 Go 程序不释放内存的问题
2020-01-19
oberon 操作系统
2020-01-06
如何 200 代码内实现垃圾回收
2019-12-29
2019 年终总结
2019-12-28
支持大事务简要 notes
2019-12-01
cockroachdb 的并行提交
2019-11-17
shen-go v1.0 RC 发布
2019-10-23
协变逆变
2019-10-12
数据库中执行器层到底在做什么?
2019-10-06
无脑 CPS 变换
2019-08-26
语言即虚拟机,将 cora 编译到 Go
2019-08-04
cora 语言介绍
2019-07-22
lisp 宏展开实现中遇到的两个问题
2019-06-24
用 clojure 重写了博客程序
2019-06-07
TiDB Transaction Internals
2019-04-06
aurora paper reading
2019-02-10
JVM 指令集快速记忆
2019-02-09
calvin paper reading
2019-01-27
union store 数据一致性以及约束检查
2019-01-26
cockroachdb 的事务流水线
2019-01-26
错误处理与自动重试
2019-01-18
2018 年终总结
2018-12-30
并发同时保序
2018-12-25
关于 Go1.11 module 和语义版本
2018-11-18
基于时间的定制分配器
2018-11-17
一个更优雅的 lisp 语法设计
2018-11-11
使用 explicit renaming 实现卫生宏
2018-11-04
scheme 卫生宏实现介绍
2018-10-22
性能分析方法论
2018-10-19
事务的锁调度
2018-10-11
七夕快到了,做点好玩的
2018-08-12
编写安全的代码
2018-08-07
shen-go 下一版的胡思乱想
2018-07-15
简单,正确性和性能
2018-06-09
在 PingCAP 的一些技术挑战
2018-06-02
常量传播
2018-05-28
Go 语言坑爹的 WithCancel
2018-05-05
相见恨晚的 Erlang
2018-04-28
表达式计算实现模式
2018-04-10
SQL优化器庖丁解牛篇(四)
2018-04-01
DDL 模块的设计和演化
2018-03-25
我不想优化VM,只想要eval
2018-03-13
SQL优化器庖丁解牛篇(三)
2018-03-01
SQL优化器庖丁解牛篇(二)
2018-02-27
SQL优化器庖丁解牛篇(一)
2018-02-25
switch在Go语言的性能
2018-01-13
shen-go v0.2发布:从165s优化到11s
2018-01-08
在 C 里面使用 fat pointer
2018-01-07
2017 年终总结
2017-12-31
shen-go接下来的一些优化方向
2017-12-24
记一次latency问题排查:谈Go的公平调度的缺陷
2017-11-19
klambda解释器
2017-11-16
一些思考:为lisp加类型
2017-11-12
opentracing 使用介绍
2017-10-30
Coding like an artist
2017-09-17
事务隔离级别SI到RC以及优化
2017-08-20
怎么做分布式存储的面试?
2017-08-12
morestack与goroutine pool
2017-07-21
没有宏的pattern match
2017-07-08
variant的类型应该是它本身
2017-06-29
缤果盒子
2017-06-21
Go的context的问题
2017-05-29
Shen语言的pattern match是如何编译的
2017-05-21
优化online schema change的等待时间
2017-04-16
TiDB如何实现版本升级
2017-04-01
错误处理与资源释放
2017-03-20
枚举类型在Go语言中的一种写法
2017-03-06
内存占用过高
2017-02-18
又搞了一次事故
2017-01-27
2016 年终总结
2016-12-31
scheme编译到汇编
2016-12-22
回到未来:永恒的lisp
2016-12-20
局部时间戳能否实现分布式事务(下) -- 混合逻辑时钟
2016-12-14
分布式数据库中schema的lease
2016-11-28
局部时间戳能否实现分布式事务(上)
2016-11-27
Go语言是如何实现race dectect的
2016-11-20
有界连续
2016-11-13
Go程序内存泄漏的分析以及避免
2016-10-18
类型系统
2016-10-13
ZINC以及partial apply
2016-09-22
ocaml试玩:写一个parser combinator
2016-08-07
Go中实现手动内存分配的坑
2016-07-10
parser的故事
2016-07-07
可线性化验证
2016-07-03
查询编译
2016-06-27
聊聊实现分布式事务
2016-05-19
利用编译技术异步转同步想法
2016-05-15
封装socket
2016-05-03
异步烧脑业务场景
2016-04-29
raft实现如何做测试
2016-04-15
Rust语言初步印象
2016-03-20
cracking the code interview读书笔记
2016-03-19
leetcode刷题
2016-03-02
多资源select操作的实现模式
2016-02-24
链表操作的一处技巧
2016-02-18
可串行化快照隔离
2016-01-13
2015 年终总结
2015-12-29
上线流程规范
2015-12-20
cockroachdb中的SQL:将表数据映射为key-value存储
2015-12-20
lua试玩感受
2015-12-09
从raft看failure的处理
2015-11-28
网络知识笔记
2015-11-13
恶补基础知识
2015-11-04
Go的变量到底在堆还是栈中分配
2015-10-22
如何做系统设计的面试题
2015-10-07
动态规划五道题目
2015-10-02
无锁并发
2015-10-01
文件分发系统
2015-09-18
chicken scheme实践之二
2015-08-12
从call/cc到srfi-18
2015-08-04
zanshin--写个虚拟机用于调试
2015-07-31
chicken scheme实践
2015-07-07
Go1.5的垃圾回收
2015-06-30
垃圾回收面面观
2015-06-18
关于配置的思考
2015-06-04
逻辑时钟
2015-05-28
再看预算控制模块
2015-05-28
redis集群规范笔记
2015-05-26
scheme编译为c
2015-05-20
控制流漫谈
2015-04-18
极简的swapcontext实现
2015-04-18
毕业五年
2015-04-05
一点点位运算
2015-04-04
当我说监控时,我该关注什么
2015-03-25
nanopass之八--通用中间语言
2015-03-11
nanopass之七--非尾调用
2015-03-11
nanopass之六--处理调用参数和返回值
2015-03-11
nanopass之五--frame分配和迭代
2015-03-11
nanopass之四--寄存器分配
2015-03-11
nanopass之三--变量和跳转
2015-03-11
nanopass之二--带括号的汇编语法
2015-03-11
nanopass之一--代码生成
2015-03-11
nanopass之零--序
2015-03-11
Go语言对象跟闭包性能比较
2015-03-09
Go语言http中间件
2015-03-07
架构演化
2015-03-05
scheme自举
2015-02-16
Go代码bug深入跟踪一例
2015-02-05
分布式跟踪系统调研
2015-01-25
跳表实战
2015-01-24
竞价服务的预算控制模块
2015-01-08
如何在一周内创造$7500/m的价值
2015-01-07
2014 年终总结
2015-01-01
aerospike节点重启
2014-12-25
y combinator推导
2014-12-17
skynet的用户聚会review
2014-12-13
codis数据迁移期间的一致性
2014-12-13
beego的session使用中的一处竞态条件
2014-12-02
Dynomite介绍
2014-11-18
网络编程基础概念
2014-11-09
求字符串长度不许使用循环和条件
2014-10-31
近期竞价服务的几个性能优化点
2014-10-29
数据库结构设计
2014-10-28
来自plan9的libthread
2014-10-12
aerospike这一路的坑
2014-10-12
记一例overcommit_memory设置不当导致的线程创建失败
2014-09-17
raft协议
2014-09-10
SSD调研
2014-09-03
聊下DSP的一些技术挑战
2014-08-23
Go中接口与继承的选择
2014-08-17
Go的代码调优一例
2014-08-05
自己写个梯子
2014-07-27
分布式系统中的一致性问题
2014-07-07
二叉树非递归后序遍历
2014-06-16
面试题应该来源实践
2014-06-15
skynet启动流程
2014-06-12
ouster开发笔记(五)
2014-05-23
goroutine之间移动计算
2014-05-23
ouster开发笔记(四)
2014-05-09
ouster开发笔记第三周
2014-04-21
ouster开发笔记第二周
2014-04-14
ouster开发笔记第一周
2014-04-06
ouster项目正式启动!
2014-04-01
ouster技术分享
2014-03-27
libgdx弹窗action处理
2014-03-05
acme中文设置
2014-02-26
acme--失落的黑魔法
2014-02-15
关于架构(续)
2014-01-27
C语言返回栈空间的结构体
2014-01-27
关于架构
2014-01-27
libgdx游戏中整合facebook
2014-01-20
现代OpenGL介绍(五)
2014-01-16
现代OpenGL介绍(四)
2014-01-06
现代OpenGL介绍(三)
2014-01-03
现代OpenGL介绍(二)
2014-01-01
现代OpenGL介绍(零)
2013-12-29
2013 年终总结
2013-12-31
现代OpenGL介绍(一)
2013-12-28
mac的terminal下按键Keyctrlslash无效
2013-12-08
再看Go语言的分段栈
2013-12-02
使用libgdx框架的一些心得
2013-11-23
android游戏资源优化
2013-10-27
在osx上编译planeshift
2013-10-27
flash4libgdx
2013-06-21
gleed4libgdx
2013-10-27
Go手动内存分配
2013-10-27
Go语言的抢占式调度
2013-10-27
Go语言的defer,你真的懂了吗?
2013-04-25
hive,skynet以及go语言
2013-09-25
Think2Go戈登营首期review
2013-09-14
pprof的原理
2013-08-09
libgdx的AssetManager相关
2013-08-13
scheme中实现多值返回
2013-07-18
无锁哈希表
2013-07-15
eopl读书笔记
2013-07-04
Petrescue中的算法
2013-06-10
scheme中用lambda实现primitive
2013-05-15
关卡生成器
2013-04-28
初学Java语言
2013-04-16
大道至简--简单与复杂数据结构之间的性能PK
2013-03-01
zig-zag编码和group varint编码
2013-04-18
gitbbs创业idea
2013-03-14
用go语言和org-mode搭建自己的博客环境
2012-12-23
linux内存布局
2012-12-15
洗牌抽样等几个概率算法
2012-11-05
几个把我整惨的面试题
2012-10-17
paxos协议通俗理解
2012-09-16
lease机制
2012-09-12
actor模型漫谈
2012-09-07
beansdb-0.5.3源代码分析
2012-06-08
学习云风的skynet
2012-08-30
设计一个用户级线程库
2012-08-06
hash the ultimate
2012-07-30
内存池设计
2012-06-29
elisp动态作用域的实现
2012-06-05
红黑树总结
2012-06-05
浮点计算误差集累
2012-06-05
golang internals
2012-04-16
chibi-scheme源代码分析之零--总体结构
2012-01-10
chibi-scheme源代码分析之一--类型系统
2012-01-12
chibi-scheme源代码分析之二--内存管理与垃圾回收
2012-01-12
chibi-scheme源代码分析之三--编译原理
2012-01-12
一些不错的lisp文章
2011-12-29
Category
分布式
编译器
编程语言
高性能服务器
Android游戏开发
Tags
MVCC
union store
covariance
eCDF
callback
erlang
terminal
编程感悟
encrypt
epoll
转载
源代码分析
object
hygiene
SI
inferno
promise
ssd
severless
引用计数
petrescue
parser
ocaml
architecture
package
kv
多值返回
网络
delimited-continuation
makefile
网络编程
resumable
SEDA
HLC
string
transaction
nosql
地图编辑器
性能
await
interface
mmorpg
er-macro-transform
ebpf
接口
tunnel
authentication
tidb
itx
PEG
coroutine
race
n6bagent
软件事务内存
scale
codis
monad
probability
codegen
overcommit
累积分布函数
类型系统
分布式
架构
CSP
serializable
调试
goroutine
mastodon
delivery
continuation
服务发现
beego
design
queueing delay
trampoline
CI
hash
软件工程
aerospike
framework
一致性
ddl
年终总结
type infer
hive
cdn
http
RWMutex
zipkin
监控
exception
tiled
bytecode
regex
schema
linux
cps
lru
opentracing
GC
ouster
java
eopl
io模型
snapshot
withcancel
lease
reset
oberon
type checker
binlog
VM
expression
sysbench
combinator
closure
aurora
nanopass
同步
动态规划
primitive
读书笔记
p2p
oom
跳表
grt
influxdb
CAS
privilege
async
tailcall
cache
abstract machine
queueing theory
错误处理
Rust
配置中心
reverse proxying
devdraw
org-mode
schedule
executor
编码
云风
dynomite
hole digging
klambda
gambit
code review
KISS
C
union scan
beansdb
constant propagate
coprocessor
bpftrace
blog
eval
go
AssetManager
context
翻译
allocator
shift
r7rs
select
planeshift
module
mempool
RC
链表
汇编
middleware
call/cc
database
microKanren
hotspot
libgdx
bazel
patch
热重启
shen
leak
threaded-code
zenlife
distributed
垃圾回收
srfi-18
acme
plan9
优化
domain
memory
raft
编辑器
facebook
gorilla
可串行化
Cello
mostly-copying
task
STM
FP
调度器
ActivityPub
lua
skynet
OpenGL
位运算
top-of-stack-caching
数据结构
内存池
翻墙
copy-and-patch
无锁
treadmill
type
contract
code generation
ffi
skiplist
effect
namebase
miniKanren
tailfication
currying
TiDB
leetcode
mark-sweep
fat pointer
SQL
开发环境
clean code
library
pool
concurrent
recursive
delimited
interpret
dectect
分段栈
channel
debugger
性能优化
lisp
darkeden
DSP
流控
paxos
flash
ltask
分布式跟踪
pprof
prepare
heka
actor模型
session
socket
namespace
queueing
ycombinator
algebraic effect
koka
jit
golang
缤果盒子
sql
morestack
阻塞
继承
面试题
lambda
technical debt
chibi-scheme
关卡生成
spanner
calvin
redis
fips
cockroachdb
deadlock
cora
scheme
bug
cml
godit
swapcontext
logical clock
vm
closure-convert
逻辑时钟
JVM
rbtree
dependent
variant
HM
hybrid logical clock
gc
test
macro
isolation
lambda演算
AI
pattern match
微博数据分析
NAT
chicken
cloud native
ZINC
协程
HNS.to is a highly insecure way of browsing Handshake domains and should only be used for demo or educational purposes. Click to see preferable resolutions methods