21k 19 分钟

# 5-2 项目质量监测 # 课程介绍 没有规矩不成方圆,所以我们写代码也要有 "规矩",但是我们通常记不住所有的 "规矩",因为人嘛,不可能不犯错。但是,这难不到我们程序员,我们让机器、代码、程序帮我们搞定,让它们来帮我们进行代码质量检查,以便提高的程序的健壮性。 通常来说,项目的质量决定了: 软件项目的命运 软件项目的可维护性 软件项目的运维成本 软件项目的扩展性 为什么要进行代码质量检查? 代码检查很重要,原因有三: 避免低级...
558 1 分钟

# Number.MAX_VALUE 最大数 Number.MAX_VALUE 静态数据属性表示在 JavaScript 中可表示的最大数值,数值为:2 的 1024 次方 - 1,或大约 1.7976931348623157E+308。 (原因是由于:一个字节(byte)8 比特(bit),但是数字类型占用一个字节,JS 最大用 1kb(1024 个字节)来存储 number) 大于最大数的数据会被返回:Infinity # Number.MAX_SAFE_INTEGER 最大安全整数 Number.MAX_SAFE_INTEGER 为:(253 –...
8.5k 8 分钟

# webpack 前端的工程化离不开 webpack, 它是一个现代 JavaScript 应用程序的静态模块打包器,用于 将适合用于开发的代码打包构建为适合用于生产的代码 # webpack.config.js const path = require("path");const { DefinePlugin } = require("webpack");module.exports = { mode: "development", //development...
1.1k 1 分钟

#JS 中类型化数组(typed array) JavaScript 的类型化数组是一种特殊的数组,可以存储和操作固定类型的数据,如整数、浮点数、字节等。相比于普通的 JavaScript 数组,类型化数组有以下几个优点: 更加高效:类型化数组在内存中是连续存储的,这意味着它们可以更快地被读取和写入。此外,它们还允许我们直接访问底层的二进制数据,而不需要进行类型转换或拷贝操作。 更加节省空间:由于类型化数组只能存储固定类型的数据,因此它们使用的内存空间可以更加紧凑。例如,使用 Int8Array 数组可以将每个元素压缩为 1 个字节,而使用普通的 JavaScript 数组则需要至少 8...
870 1 分钟

# DataView 视图: DataView 是 JavaScript 中的一个类型化数组视图,用于以不同的字节序(如大端序或小端序)和不同的数据类型(如整数、浮点数等)来读取和写入 ArrayBuffer 中的二进制数据。与 TypedArray 不同,DataView 可以指定任意的字节偏移量和长度,可以更加灵活地操作二进制数据。 以下是一个使用 DataView 读取 ArrayBuffer 中的二进制数据的示例: javascriptCopy Code// 创建一个包含 8 字节的 ArrayBufferconst buffer = new ArrayBuffer(8);//...
722 1 分钟

# Blob: Blob(Binary Large Object)对象是 JavaScript 中用来表示二进制数据的对象,通常用于存储和操作文件或其他类型的二进制数据。Blob 对象可以表示大型数据对象,比如图像、视频、音频文件等。 Blob 对象通常由两部分组成:数据和数据的类型。数据部分包含实际的二进制数据,而类型部分描述了数据的 MIME 类型,例如 “image/png” 或 “application/pdf”。 Blob 对象可以通过 new Blob () 构造函数创建,传入一个数组作为参数,数组中包含要存储的二进制数据。另外,你还可以通过传入一个可选的对象参数,来指定数据的...
2.3k 2 分钟

# 所使用的基础组件 代码托管在 Github 上,使用 github 集成的 Travis CI 自动触发 CI 流程。在 CI 中自动 build 新的 image 上传到 Docker Hub。然后通过 sshpass 远程登录 server 触发部署脚本。部署脚本 pull 新的 image 然后部署。 # Dockerfile 由于项目都是基于 python 的,所以 dockerfile 比较简单: FROM ubuntu:latestMAINTAINER Shaobo Liu <shaobo@mkdef.com>LABEL...
26k 24 分钟

# ------------------------------------ # react 官网笔记: # react 核心价值 组件化 + 数据驱动视图 UI = f (state) # react 快照 state state 就像每次渲染的快照,并且不会同步更新,react 中当 state 状态变化时,当前快照中是获取不到更新后的内容和状态的(因为 react 由于优化需要集中多个进行更新),此时想要操作快照更新之后的操作只能在快照更新之后添加钩子函数。 使用 useEffect(快照更新之后自动执行钩子) 类组件可以使用生命周期钩子 使用条件渲染,根据条件进行不同的处理 #...
13k 12 分钟

# 数据库 # 定义 数据库是用来组织存储和管理数据的仓库 # 分类 # 关系型 (传统型、关系型、SQL 数据库) ①MySQL 数据库(目前使用最广泛,流行度最高的开源免费数据库) ②Oracle 数据库(收费) ③SQL Server 数据库(收费) # 非关系型 (新型、非关系型、NoSQL 数据库) ④Mongodb 数据库 (一定程度上弥补了传统型数据库的缺陷) # 区别 1、MySQL 是关系型数据库,而 mongodb 是非关系型数据库; 2、MySQL 中支持多种引擎,不同引擎有不同的存储方式,而 mongodb 以类 JSON 的文档的格式存储; 3、MySQL 使用传统...
1.5k 1 分钟

# 隐式类型转换过程 当进行一些操作时,JS 会自动调用内部的函数进行隐式类型转换,例如: ==判断 ,数据类型不同的 加减法操作 ,数据前加 + 或 -( +new Date() )或 ${obj} 等 两个引用数据类型(对象)之间不会发生隐式类型转换,双等符号(==)也会判断其栈中的地址 隐式类型转换内部使用的函数有:ToNumber、ToString、ToBoolean、ToPrimitive(底层)等 ToNumber 对 引用数据类型 会先使用 ToPrimitive('number') ,然后使用 Number()...