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 希望从现在开始可以创造一些东西