avatar

shellfly's blog

翼をください

怎样写一个简单的Parser(2)

May 22, 2022
介绍 在上一篇文章 中,简单介绍了一下parser的背景知识,这一次我们来手写一个简单的parser,还是用这个简单的例子开始,我们的任务是实现

怎样写一个简单的Parser(1)

Feb 22, 2022
介绍 作为一个程序员,多少都有听过"paser”、 “interpreter”、 “co

入职字节三个月有感

Jan 22, 2022
为什么从Apple离职 从Apple离职的时候,大部分朋友都表示不理解,“别人都在选择躺平,你怎么还站起来了?”。其实在考虑换工作的时候也有犹

互斥锁和原子操作(Mutex and Atomic)

Oct 12, 2021
信号量的发明和问题 Edsger W. Dijkstra1 在1965年左右研究并发编程的时候第一次提出了互斥(mutual exclusion)的问题,并且提出了最早的一种同步

非阻塞 IO (goroutine是怎样工作的)

Jul 1, 2020
有两种流行的编程模型来设计并发的程序,线程或者事件驱动(Event driven)。两种方式都能处理大量的并发请求,不过各有各的优缺点,使用线

为什么Go的调度模型是GMP,而不是GM

Mar 4, 2020
最喜欢Go里面的一个功能就是goroutine,它提供了一个简单但是强大的语言级别的并发机制。虽然更喜欢写Python代码,不过说到并发,g

B树和数据库索引

Feb 22, 2020
很早就知道数据库索引是用B树实现的,但其实并不理解它的工作细节,也不知道树的节点里到底存了什么。最近重读了《算法 第4版》,最后一章作为扩展有

排序算法

Feb 9, 2020
记得很早之前的一个同事新人,跟我开始了这样一次对话: “你知道Python里面的排序用的是什么算法吗?” “肯定是快排。“,我说。 ”不对,是叫T

为什么Python有一个GIL

Mar 19, 2018
GIL GIL是Global Interpreter Lock的缩写,也就是全局的解释器锁。CPython用GIL来保证同一时间只有一个线程在执行Python代码。所以即

2018

Jan 28, 2018
2018 希望从现在开始可以创造一些东西