浏览器缓存是前端一个重要的知识点,为了搞清楚强缓存、协商缓存,我决定写一篇博客来提取我零碎的理解并整理。 # 浏览器缓存的概念? 简单来说,就是浏览器将通过 HTTP 请求获取到的资源存储在本地的一种行为。 # 为什么要使用浏览器缓存 有些资源可能下载一次之后很长都不会变动,为了提高访问速度,将其缓存在本地。 可以降低服务器的负担。 # 浏览器缓存位置 内存缓存(memory cache) 硬盘缓存 (disk cache) service...

记录总结一下自己平时面试时遇到的计算机网络问题。 # 前置:计算机网络模型 # TCP、UDP 协议知识 他们都是运输层的协议。 # TCP 一种面向连接的服务。 每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一) 提供可靠交付 全双工通信 面向字节流 TCP 中的流指向的是流入或流出进程的字节序列。 面向字节流的含义是:虽然程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。 同时不保证数据块大小对应,但能保证接收方和发送方字节流完全一样。 #...

众所周知,JavaScript 是单线程的。同一时间任务肯定又有很多,而任务又分为同步任务和异步任务,在 JavaScript 里面,到底是怎么协调执行这些任务的呢?带着这个疑问,我打算好好的把这方面的知识根据自己的理解总结一下。 # 执行栈 任务分为同步任务和异步任务两种。首先最简单的情况,就是没有异步任务,只有同步任务的情况,这个时候,就要引出执行栈这个概念。来看下面这么一段代码。 function myFunct(){ throw new Error('error');}function myFun2(){...

之前学习 css 还有开发的时候其实接触过很多知识点,只是一直没有时间去进行一个总结整合,今天特地来记录一下。 # BFC 模式及应用 BFC,全称 Block Formatting Context,块级格式化上下文。 按我的理解,一旦某个元素开启这个模式,它内部就会有自己的一套渲染规则,它内部的元素不会影响到外部其他元素的渲染 # 形成 BFC 模式的条件 float 的值不为 none position 的值为 absolute 或 fixed overflow 的值不为 visible display 的值为 inline-block 或 table-cell 或...

# 编写一段 shell,保存为 program.sh 完成以下输出,可循环执行: 5(回车) 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1 分析:用双重循环即可,熟悉语法就可以了 #!/bin/bashecho -n "input a number:"read numnum2=$numwhile [ $num2 -gt 0 ]donum=$num2while [ $num -gt 0 ]doecho -n "$num "num=`expr $num - 1`donenum2=`expr $num2 - 1`done# 管理员 root...

# 前言 异步是 JavaScript 里一个非常重要的基本功。因为 js 是单线程的,为了提高 CPU 利用率,异步是必要的,否则的话要是某一个任务耗时非常长(比如 IO 设备读写),后一个任务就不得不等待很久,浪费了处理器的能力。 # 异步方案一:回调 前面说到,异步其实是让一些非常耗时的任务释放 CPU...

# 利⽤ SSH 客户端登录 root 账号,查看 /tmp ⽬录下是否存在⼦⽬录 myshare,如果没有则建⽴该⽬录 ls /tmp/myshare//如果没有mkdir -p /tmp/myshare# 在 myshare ⽬录下创建⼀个名为 “学号” 的⽂件夹和⼀个名为 exam2.txt 的⽂件 mkdir /tmp/myshare/学号touch /tmp/myshare/exam2.txt# 创建⼀个名字为 test 的新⽤户,并指定 uid 为 1024 useradd -u 1024 test# 把 /etc/passwd 和 /etc/shadow 含有⽤户 test...

# 查看虚拟机的 ip 信息 ifconfig# 测试虚拟机与 FTP 服务器的连通性 ping 172.26.14.30# 安装上传下载工具 lrzsz yum install -y lrzsz# 查看 lrzsz 中 rz 和 sz 的路径 which rz sz# 在系统中创建一个 txt 文件,上传到 linux 中 rz# 把这个 txt 文件移动到 /tmp 目录下,并重命名为 exam1.txt mv xxx.txt /tmp/exam1.txt# 把 exam1.txt 转成 unix 格式 yum install -y dos2unixdos2unix...

# 前言 趁着有空,把自己平时使用的一些函数抽离出来做个记录。 # 防抖 防抖的思想是:当某个事件处理函数被短时间内高频出发时,只有触发完一定时间没有再触发才会执行。 可以用于输入框监听等高频触发事件的地方。 /*** @params {function} fn 需要防抖的函数* @params {number} time 多久没有触发才执行*/ function debounce(fn,time){ var timer = null; return function(){...

# 前言 最近在实习做项目的时候,使用的是 react,发现项目的数据管理使用的架构是 flux。虽然我很久之前也看过一下 flux 的架构思想,不过过了这么久又没有应用,早就忘光了,趁着这次机会,再来复习一下,顺便也记录下以前对 redux 的结构的思考。 # Flux 是什么? flux 是一种架构思想。在 flux...