hero image

前端物语

每一个不曾起舞的日子,都是对生命的辜负!

前端面试题-手写

1.统计字符串中字符出现的次数

统计字符串中字符出现的次数 @[code](./code/computeString.js) :::

2. 函数防抖

函数防抖 @[code](./code/debonce.js) :::

3. 函数节流

函数节流 @[code](./code/throttle.js) :::

4. 手写数组去重

手写数组去重 @[code](./code/uniqueArray.js) :::

5. url 参数转换为 object

url 参数转换为 object @[code](./code/urlToObj.js) :::

h7ml小于 1 分钟
NAS

NAS 主要用于 Docker 服务、影视管理和文件存储备用这三方面。群晖 NAS 在使用前,注意以下几点:

  • 选择「控制面板」>「文件服务」>「SMB」>「高级设置」,将最小 SMB 协议 设为 SMB1,避免部分应用发现了 NAS 但无法打开共享文件。
  • 选择「控制面板」>「任务计划」>「新增」>「计划的任务」>「用户定义的脚本」,给 NAS 建立定时任务脚本。
  • SSD 缓存对家用的 NAS 性能提升不大,没必要加。
  • DS/Transmission 套件:用于 PT 下载 (禁用 DHT,半小时停止做种)。
  • Synology Drive Server 套件:电脑文件备份。
  • Hyper Backup:本地多硬盘备份,防止一个硬盘丢失后重要文件损坏,比如 docker 容器的本地配置文件夹。
  • 群晖系统分布在所有硬盘,拔出一个不影响使用。但应用会有影响?

h7mllinuxlinux大约 7 分钟
github action

GitHub Actions

GitHub Actions 是一个持续集成和持续交付 (CI/CD) 平台,可用于自动执行构建、测试和部署管道。您可以创建工作流程来构建和测试存储库的每个拉取请求,或将合并的拉取请求部署到生产环境。将 GitHub Actions 命令保存为 main.yml,放于 .github\workflows 目录下,repo 发生指定调节的改变时,Actions 会自动运行。[1]


h7mlgithubgithub大约 3 分钟
多表查询

多表查询是从多张表中一次性的查询出我们想要的数据


h7mlmysqlmysql小于 1 分钟
XPath

XPath 语法


XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。


菜鸟教程 open in new window

XML 实例文档

我们将在下面的例子中使用这个 XML 文档。

实例

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>

h7mlpythonpython大约 4 分钟
Scrapy

Scrapy

安装

Windows 安装方式

升级 pip 版本:

pip install --upgrade pip

h7mlpythonpython大约 8 分钟
urllib

Urllib

urllib 包 包含以下几个模块:

  • urllib.request - 打开和读取 URL。
  • urllib.error - 包含 urllib.request 抛出的异常。
  • urllib.parse - 解析 URL。
  • urllib.robotparser - 解析 robots.txt 文件。

h7mlpythonpython大约 6 分钟
浏览器知识

跨域

跨域的原因 —— 浏览器的同源策略

同源策略是浏览器一个重要的安全策略,它用于限制一个 origin 的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介

同源的定义是两个 URL协议域名(子域名 + 主域名)、端口号 都相同,否则就会出现跨域


h7mles6es6大约 15 分钟
es6

es6 知识点

ECMAScript 6 (简称 ES6) 是 JavaScript 语言的下一代标准

ECMAScript 的提案流程

  • Stage 0 - Strawman(展示阶段)
  • Stage 1 - Proposal(征求意见阶段)
  • Stage 2 - Draft(草案阶段)
  • Stage 3 - Candidate(候选人阶段)
  • Stage 4 - Finished(定案阶段)

h7mles6es6大约 23 分钟
Git

Git 常用命令

初始化

git init

克隆项目

git clone

h7mlgitgit大约 5 分钟
模块化

什么是模块化?

百度百科中的解释: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。

在编程中 模块化是将一个复杂的应用程序,按照一定的规则拆分成若干个文件(代码块),并进行组合。文件内部的数据与实现都是私有的,只是对外暴露一些接口(方法、变量)与其他模块进行通信

模块化的好处

  • 避免命名空间的冲突
  • 提高代码的复用性
  • 提高维护性
  • 更好的分离,实现按需加载

h7mles6es6大约 5 分钟
编程题

new 运算符

new 运算符原理

  1. 创建一个全新的对象
  2. 为新创建的对象添加 __proto__ 属模拟实现 new 运算符性并指向构造函数的原型对象
  3. 将新创建的对象作为函数调用的 this
  4. 如果构造函数没有返回对象类型,则返回新创建的对象
模拟实现 new 运算符 @[code](./new.js) :::

instanceof 运算符

instanceof 运算符原理 `instanceof` 运算符用于检测构造函数的 `prototype` 属性是否出现在某个实例对象的原型链上


h7mles6es6大约 6 分钟
docker

docker

概念

Docker 的核心四大组成对象

镜像 ( Image )、容器 ( Container )、网络 ( Network )、数据卷 ( Volume )

镜像

所谓镜像,可以理解为一个只读的文件包,其中包含了虚拟环境运行最原始文件系统的内容

每次对镜像内容的修改,Docker 都会将这些修改铸造成一个镜像层,而一个镜像其实就是由其下层所有的镜像层所组成的。当然,每一个镜像层单独拿出来,与它之下的镜像层都可以组成一个镜像。


h7mldockerdocker大约 55 分钟
dockerFile

DockerFile

官网 open in new window,Dockerfile 是用来构建 Docker 镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。

image-20221025173147579
image-20221025173147579

h7mldockerdocker大约 6 分钟
2
3
4
5