备忘录

凡心所向,素履以往,生如逆旅,一苇以航。

数组 API

split 和 join 的区别

  1. split 是 String 的方法,以指定字符分割字符串为数组;
  2. join 是 Array 的方法,以指定字符拼接数组元素为字符串;
  3. 二者互为相反的操作;

数组的 pop、push、unshift、shift 的区别

  1. pop,弹出数组的最后一个元素,返回值是弹出的元素;
  2. push,在数组末尾压入一个元素,返回值是数组的长度;
  3. unshift,在数组开头压入一个元素,返回值是数组的长度;
  4. shift,弹出数组的第一个元素,返回值是弹出的元素;
  5. 以上 4 个操作都有副作用:会改变原数组;
阅读全文 »

JavaScript 数据类型

值类型:number、string、null、boolean、undefined、BigInt、Symbol
引用类型:object,包含 object、array、date、function 等

JavaScript 中的真假值

truly 值:两次取反(非运算)等于 true 的值,!!x === true

falsely 值:两次取反(非运算)等于 false 的值,!!x === false

假值如下:

  1. null
  2. undefined
  3. ‘’ 空字符串
  4. +0、-0
  5. NaN (Not a Number)
  6. false

除了以上的假值外,其他值都可以认为是truly

阅读全文 »

总结回顾面试中常见的 HTML 与 CSS 考点;

HTML

1. 如何理解 HTML 语义化

根据内容结构选择合适的标签,写出便于阅读与理解,同时利于搜索引擎优化的代码;

2. 为什么要语义化

  1. 在没有 CSS 的情况下也能呈现良好的网页内容结构与代码结构;
  2. 提高用户体验,如 title、alt 等解释属性的使用;
  3. 利于 SEO,因为爬虫依赖标签来确定上下文和各个关键字的权重;
  4. 方便其他设备解析,如盲人阅读器、屏幕阅读器等;
  5. 便于团队开发与维护,代码的可读性高,而且遵循标准对未来的兼容性也更好;
阅读全文 »

突然顿悟了“书读百遍,其义自现。”当然,还需要配合“好记性不如烂笔头”,整理总结一下常见的元素水平垂直居中的方法。

起因是有童鞋问我让元素垂直居中的方法,我突然懵了,居然一时没有描述出来,吓得赶紧抽空总结了一下,最后引出了元素水平且垂直居中。

方法一

最常用的方法:父元素 position: relative; 元素自身 position: absolute; top: 0; bottom: 0; margin: auto;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<style>
.outer {
width: 500px;
height: 500px;
background-color: #000;
position: relative;
}

.inner {
width: 100px;
height: 100px;
background-color: #f00;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
}
</style>

<div class="outer">
<div class="inner"></div>
</div>
阅读全文 »

记录黑苹果安装的过程,证明自己来过;

Apple 可能永远也不会再使用 Intel 的 CPU 了,所以 10 代 U 应该是最后一代完美黑苹果了, 11 代及以上 U 的核显驱动及大小核调度问题也可能永远无法完美解决了;

这几天又看到一个消息,说 Windows11 和 Intel 11+ 的 U 不再支持 SGX 功能了,也就是 Windows 平台播放超高清蓝光电影光盘的功能,部分 Windows 用户估计要头疼了,但这对黑苹果却是件好事儿,不过 11+ 的 U 也然并卵;

准备工作

  1. 满足黑苹果硬件限制的电脑;
  2. 1 个大于等于(>=)16G 的 U 盘,Catalina.10.15.7.19H15 的大小为 8.27G ,而 Monterey.12.1.21C52 的大小为 12.17G,至于 BigSur 就不考虑了,应该是专为 M1 芯片优化的,何必用 Intel 的芯片去自取其辱呢?🐶(手动狗头);
  3. 时间、耐心、细心、善用搜索引擎以及不耻下问;
  4. 时间、耐心、细心、善用搜索引擎以及不耻下问;
  5. 时间、耐心、细心、善用搜索引擎以及不耻下问;
阅读全文 »

换电脑很烦恼,最麻烦的就是软件安装和环境配置,环境还好,配置文件复制过来开箱即用,软件着实麻烦,每次都得不停的输入重复命令来安装,痛定思痛,写了个 shell 脚本调用 homebrew 安装软件,从此可以带着 install.sh 随便换机器了。(闲的 🥚 疼,手动 🌹🐔)


也可以使用Homebrew自带的备份工具Homebrew Bundle

  1. 备份:brew bundle dump --describe --force --file="~/xxx/Brewfile"
  2. 恢复:brew bundle --file="~/xxx/Brewfile"

XX 叨叨

又换电脑?哪有钱,打工人穷得很。自用的 MacBook Pro2015 算下来已经快 6 年了,用着倒也还行,但每次听它的风扇呼呼转就心里紧张,清灰,换硅脂,一顿操作下来,不太理想,可能是性能瓶颈了,又困于囊中羞涩,遂入手了一台迷你小主机,几个月 Windows 用下来,始终不顺手,然后就闲置当作了家庭娱乐机,“买前生产力,买后爱奇艺”。

最近,MacBook Pro 的风扇又开始呼呼转了(供暖了),盯着小主机看了看,打起了黑苹果的主意,善用搜索引擎加上不耻下问(咳咳),还算顺利的用上了黑苹果,真香!

头疼的事情又来了,安装软件 ➕ 配置环境,于是就抽空写了个 shell 脚本,调用 homebrew 来自动安装软件。

阅读全文 »

记录 WSL2 下使用 VS Code 编写 C 代码并通过 Clang 调试时遇到的问题。

前戏

WSL2 的安装就不用说了,官方文档的描述非常详细,网上还有诸多大佬披荆斩棘写了很多好教程,搜索引擎一波就啥都搞定了;

VS Code 的语言插件就更不用说了,指定文件后缀并保存后,自然而然就知道需要装啥插件了,实在不行不还有搜索引擎嘛;

阅读全文 »

WEB 服务器

  1. WEB 服务器使用的协议是 HTTP 或 HTTPS,所以又称为 HTTP 服务器 或 WWW 服务器;
  2. WEB 服务器常见的发布软件:
    1. Windows:IIS,可以发布 WEB 网站和 FTP 站点;
    2. Linux:Apache / LAMP / Tomcat / Nginx;
    3. 其他:phpstudy / LAMPP;
  3. HTTP 使用的端口是:80,HTTPS 使用的端口是 443;
    阅读全文 »

DNS 服务器

  1. DNS(Domain Name System,域名系统),一个域名与 IP 地址相互映射的分布式数据库;
  2. DNS 服务器为客户机提供域名解析服务,通过域名最终得到域名对应 IP 地址的过程叫做域名解析;
  3. 主机名.域名称为完全限定域名(FQDN);
    阅读全文 »

DHCP 服务器

  1. DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用 UDP 协议工作;

  2. DHCP 的功能是:集中管理、分配 IP 地址;

  3. DHCP 协议工作的端口是UDP:67/68

    阅读全文 »