最近,程序员界发生了一件大事,有人在知名代码托管平台GitHub上发起了一个名为“996.ICU”的项目,以此抵制互联网公司的996工作制。此举立即得到大批程序员响应。所谓的996是指从每天上午9点工作到晚上9点,每周工作6天,而“996.ICU”意为“工作996,生病ICU”。在互联网
最近重温了一下Q/Promise[1]的设计讲解,结合自己的理解和一些小优化,决定也来写一篇手写Promise的文章。基础版本我们先以观察者模式作为基石来搭建一个基础版本,实现的功能如下:构造函数接受一个函数exector作为参数,该函数的第一个参数是resolve,作用是把Promise对象的状态
使用C扩展为Python提供特定功能。在前一篇文章中,我介绍了 六个Python解释器。在大多数系统上,CPython是默认的解释器,而且根据民意调查显示,它还是最流行的解释器。Cpython的独有功能是使用扩展API用C语言编写Python模块。用C语言编写Python模块允许你
前言之前,曾在本BLOG内写过一篇文章,快速排序算法普及教程,不少网友反映此文好懂。然,后来有网友algorithm__,指出,“快速排序算法怎么一步一步想到的列?就如一个P与NP问题。知道了解,证明不难。可不知道解之前,要一点一点、一步一步推导出来,好难阿?”其实,这个问题,我也想过很多次了。之前
Swift的类型推断能力从一开始就是语言的核心部分,它极大地减少了我们在声明有默认值的变量和属性时手动指定类型的工作。例如,表达式varnumber=7不需要包含任何类型注释,因为编译器能够推断出值7是一个Int,我们的number变量应该被相应的类型化。作为Xcode13.3的一部分而一起发布的S
线程和进程是计算机操作系统的基础概念,在程序员中属于高频词汇,那如何理解呢?Node.js中的进程和线程又是怎样的呢?一、进程和线程1.1、专业性文字定义进程(Process),进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程是线程的
一、为什么会存在链表因为我们常用的顺序表会存在以下的一些问题:1.中间/头部的插入删除,时间复杂度为O(N)2.增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。3.增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数据,后面没有