思考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

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