第 6 页 - 知识库
http 状态码中 301,302 和 307 有什么区别

301,MovedPermanently。永久重定向,该操作比较危险,需要谨慎操作:如果设置了301,但是一段时间后又想取消,但是浏览器中已经有了缓存,还是会重定向。302,Found。临时重定向,但是会在重定向的时候改变met...

http 常见的状态码有哪些

表示资源请求成功,也是最常见到的状态码示例:$curlhttps://shanyue.tech--headHTTP/2200201Created资源创建成功,多用于POST请求204NoContent响应不会返回...

什么是文件描述符 (file descriptor)

fd在内核中通常表示为非负整数,当进程新建或者打开文件时,内核将会返回一个文件描述符,使用它可以用来读写文件。另外,新建socket时也会产生一个文件描述符。另外,有三个特殊的文件描述符,用以表示标准输入,标准输出及标准错误ST...

什么是 IO 多路复用

假设你的服务器要同时处理100个socket连接开一个线程,挨个处理。这就没法处理并发了开100个线程,分别处理。这么多的线程在内核态频频进进出出也很消耗性能开一个线程,去检查socket是否就绪,如果就绪则再开一个线...

localhost 与 127.0.0.1 有什么区别

localhost也叫local,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)他们的解析通过本机的host文件,windows自动将localhost解析为...

linux 中如何打印所有网络接口

ifconfigifconfig是最简单最常用,但是打印信息太多了$ifconfigcni0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1450...

100 层楼,两个玻璃球,求最少多少次测出能摔碎玻璃球的楼层

给你两个一摸一样的球,这两个球如果从一定的高度掉到地上有可能就会摔碎,当然,如果在这个高度以下往下扔,怎么都不会碎,当然超过这个高度肯定就一定摔碎了。现在已知这个恰巧摔碎高度范围在一层楼到100层楼之间。如何用最少的试验次数,用这...

如何求数组中的 TOP k

取数组中前k个数做小顶堆,堆化数组中的其它数逐一与堆顶元素比较,若大于堆顶元素,则插入该数时间复杂度O(nlg(k))实现一个优先队列类,默认大顶堆,传入(x,y)=>x>y比较函数则为小顶堆。首先将前k个数...

大数乘法和大数加法

varmultiply=function(num1,num2){if(num1==="0"||num2==="0"){return"0&q...

如何实现一个 LRU

用双向链表+哈希。varLRUCache=function(capacity){this.capacity=capacity;this....

如何判断两个链表是否相交

只判断链表相交,好一点的方式是用双指针+哈希表。同时遍历a,b链表,如果当前a和b所在元素不在哈希表,则将元素加入哈希表。知道找到哈希表里面重复元素则算相交。时间复杂度o(max(a,b))是a,b不想交部分的较...

如何实现一个优先级队列

//封装优先级队列functionPriorityQueue(){//在PriorityQueue中重新创建一个类,和java中的内部类很相似functionQueueElement(element,prio...

为什么利用多个域名来存储网站资源会更有效 ?

利用多个域名来存储网站资源1.CDN缓存更方便CDN:是构建在网络之上的内容发布网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容发布、调度等功能模块,是用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。...

什么是SQLite?

SQLite是一个实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。简介优点SQLite是自给自足的,这意味着不需要任何外部的依赖。SQLite是无服务器的、零配置的,这意味着不需要安装或管理。SQLite...

知识库
深入理解 call、apply、bind

上一篇我们知道,call、apply、bind都是和this指向有关的,这三个方法是JavaScript内置对象Function的原型的方法。相当一部分前端工程师对它们的理解仍旧比较浅显,所谓具备JavaScript基础扎实,是绕不开...

彻底搞懂 this

this是JavaScript世界最让人迷惑的关键字之一,如果不明白this的本质,基本上会被一线互联网公司的面试官扣大量的分。上一篇文章我们知道了执行上下文的概念之后,就更方便理解本篇this的内容了。为什么要有this?JavaS...

强大的数组

在前端日常开发中,数组被使用得非常频繁。对数组各种常见方法充分掌握后,能有效提升工作效率。基本语法数组是类似列表的高阶对象,JavaScript标准内置对象之一Array对象用于构造一个数组。数组有三种创建方法://第一种字面量v...

正则表达式

正则表达式(RegularExpression)是用于匹配字符串中字符组合的搜索模式。在JavaScript中,正则表达式也是对象。正则表达式是程序员必备的瑞士军刀,是衡量前端工程师技术水平的一个侧面标准。而如何高效率地使用正则表达...

模块化开发

老一辈前端工程师如何实现模块化在ECMAScript6出现之前,JavaScript语言没有内建支持模块化的语法,这导致前端开发复杂Web应用的时候,引用.js、组织文件、扩展功能、维护工程都显得效率低下,而且流程繁琐。然而对于...

实现异步非阻塞的任务

在“同步和异步,阻塞和非阻塞”和“EventLoop”已经介绍了异步、非阻塞有关的基础理论知识。实现异步+非阻塞的任务,是日常开发中被较多需要的。本篇详细介绍几种利用原生JavaScript实现异步非阻塞任务的办法。01.JSON...