https://liyucang-git.github.io/2021/02/12/前端包管理器对比-npm-yarn-和-pnpm/#:~:text=2、大量重复的包被安装,文件体积超级大。比如跟%20foo%20同级目录下有一个baz,两者都依赖于同一个版本的lodash,那么%20lodash%20会分别在两者的%20node_modules%20中被安装,也就是重复安装;
#js #meme #algorithm PNPM.io 的前世, 幽默脚本小子: 依赖图(dependency graph #tool) 都没学过,只知道递归下载(wget -r)树 😅
一个 ln -s 文件树+硬链接=图DAG; =NodeGraph滤镜=let赋值复用=.. 的道理都没学过, 居然敢做软件架构 ……
Python 当初是没有 malloc 或 GC 的,全靠Rc,和当今一堆编译期运行时的过度工程相比。简直是一股清流。
#js #meme #algorithm PNPM.io 的前世, 幽默脚本小子: 依赖图(dependency graph #tool) 都没学过,只知道递归下载(wget -r)树 😅
一个 ln -s 文件树+硬链接=图DAG; =NodeGraph滤镜=let赋值复用=.. 的道理都没学过, 居然敢做软件架构 ……
Python 当初是没有 malloc 或 GC 的,全靠Rc,和当今一堆编译期运行时的过度工程相比。简直是一股清流。
liyucang-git.github.io
前端包管理器对比 npm、yarn 和 pnpm - 李宇仓 | Li Yucang
李宇仓的博客
#linux #algorithm 嵌入式 链表
在内核中,我们不能用定长数组(pid这些东西是经常增删、完全遍历的),首尾相接 双向链表 + inline优化 是Linus的选择
IntList* 只能保存int, 但嵌入式链表能包含多个子类,都可以遍历查表,再以 container_of 解指针。 Lua 以这种做法实现 int tag; union{}
这和C的
https://www.zhihu.com/question/30262900/answer/34688512238
#冷知识 py.list tuple js.array cpp.vector gl.vec3(ndarray) .. 「茴的四种写法」是哪来的?
英语上只有 list 和 matrix ,LISP 把(只读)链表称为 list,C因长度固定用了 array
C++ 因长度动态且非链表,用了 std::vec .. list 则意味着 linked
tuple 则是 namedtuple 结构体的前身
在内核中,我们不能用定长数组(pid这些东西是经常增删、完全遍历的),首尾相接 双向链表 + inline优化 是Linus的选择
IntList* 只能保存int, 但嵌入式链表能包含多个子类,都可以遍历查表,再以 container_of 解指针。 Lua 以这种做法实现 int tag; union{}
这和C的
struct T{ char tail []} 很像,被用于保存 len+ptr\0 字符串https://www.zhihu.com/question/30262900/answer/34688512238
#冷知识 py.list tuple js.array cpp.vector gl.vec3(ndarray) .. 「茴的四种写法」是哪来的?
英语上只有 list 和 matrix ,LISP 把(只读)链表称为 list,C因长度固定用了 array
C++ 因长度动态且非链表,用了 std::vec .. list 则意味着 linked
tuple 则是 namedtuple 结构体的前身
xinqiu.gitbooks.io
双向链表 · Linux Insides中文