15k 字 14 分钟

# 字符串 (ASCII--unicode--UTF),'🤣'.length 为 2,因为它的二进制表示超出了码元长度(UTF-16) 字符串最早期是:使用一个字节表示的 ASCII 码,表示常用的字符足够了,但是表示不了全球的其他语言与字符,后来就出现了定长的 unicode 编码,使用 2 个或 4 个字节表示,由于扩大了只用英语的国家的字符串占用,现如今常使用变长的 unicode 编码:如 UTF-8、UTF-16 等,特点是兼容 ASCII 码 charCodeAt 和 codePointAt:对于定长的一个码元的字符(常常是 UTF-16 编码的字符),使用...
15k 字 14 分钟

# 操作系统 定义 操作系统是一组管理并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的互相关联的系统软件应用程序,同时也是计算机系统的内核和基石。 任务 设备管理 文件管理 进程管理 # CPU 作用 读取指令、执行指令、控制硬件、传输数据。 通过地址总线读取指令。 通过控制总线控制硬件设备。 通过数据总线传输数据。 # 启动 开机 --CPU 执行 主板rom中的BIOS程序 ,进行硬件自检 --- 硬件自检后 cpu 会将 0号扇区调入内存 中执行 MBR 主引导记录(Bootloader 程序)--- 主引导记录(Bootloader 程序)根据...
3k 字 3 分钟

小甲鱼汇编教程 # 8086CPU 为例 # 汇编语言 汇编语言是二进制指令的文本形式,是机器码的助记符。 不同的 CPU 型号所支持的汇编语言是不同的 # CPU 的型号 主要有:Intel 系列(8086 等)、AMD 系列和 Apple 系列(M1 等、基于 ARM 架构) CPU 由运算器、控制器和寄存器等组成,它们通过内部总线相连 区别:内部总线实现 CPU 内部各个器件之间的联系,外部总线实现 CPU 和主板上其他器件之间的联系 # CPU 寄存器 8086CPU 有 14...
4.1k 字 4 分钟

# 浏览器工作原理与实践笔记 [TOC] # 进程和线程 关系: 一个进程就是一个程序的运行实例。启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。 线程由进程来启动和管理的。线程依赖于进程,而进程中使用多线程并行处理能提升运算效率。 特点 进程中任意一线程执行出错,都会导致整个进程的崩溃 线程之间共享进程之中的数据 当一个进程关闭之后,操作系统会回收进程所占用的内存 进程之间内容互相隔离 # Chrome...
12k 字 11 分钟

# 概念 # 介绍 node.js 是一个异步的事件驱动的 JavaScript 运行时,node.js 的特性其实是 JS 的特性: 非阻塞I/O 和 事件驱动 。这种基于事件的编程方式具有 轻量级 、 松耦合 和 只关注事务点 等优势。 # 发展 Node 的出现将前后端的壁垒再次打破,JavaScript 这门最初就能运行在服务端的语言,在经历了前端的辉煌和后端的低迷后,借助事件驱动和 V8 的高性能,再次成为了服务端的佼佼者。在 Web 应用中,JavaScript 将不再仅仅出现在前端浏览器中,因为 Node 的出现,前端将会被重新定义。 # 核心 Node...
798 字 1 分钟

资料链接 # 编译方式 静态编译 AOT:静态编译需要通过编译器将源代码编译为机器码,以便于在目标平台上直接使用。 动态解释 JIT:动态解释需要通过解释器一边解释编译一边执行。 # JIT 和 AOT # 编译器与解析器 # Pass 扫描 # IR # 编译器的基本构成 Source Code 原代码 ---- Front-End 编译前端 ---- Optimizer 中间代码优化 ---- Back-End 编译后端 ---- Machine Code...
2.4k 字 2 分钟

# JS 继承 # 原型链继承 缺点:子类共享父类的状态 function Parent() { this.path = []}function Child() { }Child.prototype = new Parent(); // 原型链继承const child1 = new Child();const child2 = new Child();child1.path.push(1);console.log(child1.path===child2.path); // 原型链继承方式所有子类共享父类的状态#...
1.6k 字 1 分钟

# 前端网络安全 # XSS 跨站脚本攻击 # 介绍 XSS 跨站脚本攻击侧重于脚本,旨在千方百计地注入并执行恶意的脚本代码 XSS 常用于通过 url 参数的形式或者输入框中输入脚本的形式进行攻击,分为反射性、储存型和 DOM 型。 反射性:主要是攻击者浏览器提交恶意代码到服务端,服务端将恶意代码传回到客户端 存储型:攻击者提交恶意代码到服务器,服务器将恶意代码存储到数据库 DOM 型:攻击者提交 DOM 操作脚本显示广告等。 # 预防 将 "<"、">"...
5.8k 字 5 分钟

# 概念 # 互联网 Internet 互联网是一个全球性的网络,由无数个私人网、公共网、学术网和政府网所组成,这些网络通过一系列标准的协议和技术服务相互连接,互联网的核心包括:全球性、开放性、互联性和服务多样性。 # 广域网 WAN 广域网是一种覆盖地理区域的计算机网络,通常跨越多个城市、州或国家。广域网 # PPP 链路 广域网在数据链路层通过 PPP 协议来传输数据。 PPP 点对点协议 # 路由器 路由器又称为网关 一台路由器对应多个网卡 路由器可以拥有多个 IP 地址,常见有内部 IP 地址、外部 IP 地址和其他 IP 地址。 路由器还可以支持网络地址转换(NAT...
397 字 1 分钟

# 隐式授权模式 隐式授权模式的初衷是避免后端参与,具体流程: 本网站三方登录时,跳转到第三方平台,附带上 redirect_url 第三方平台中登录完成之后,跳转到 redirect_url,并附加上 token 等信息 前端拿到 token,调用第三方 API 获取用户信息 完成登录 缺点: token 显示在 url 中,容易暴露或者被分享 # 授权码授权模式 授权码模式相比于隐式授权模式,不同之处在于不暴露 token,而是暴露单次使用且具有时效性的授权码,后端通过授权码来获取到用户信息,并存储到数据库。通常配合使用 cookie...