当前位置: 首页 > news >正文

【珠峰 WEB 前端架构师课程】学习笔记 100 篇(完结)

该课程是珠峰姜文老师讲的,个人觉得讲的很不错,一路在 b 站学习下来做了 100 篇的学习笔记,收获颇丰。

该课程主要讲了高阶函数、函数柯里化、发布订阅模式、观察者模式、从 0 到 1 实现一个 promise,co 库的实现、eventloop 执行流程跟顺序、模板引擎的实现原理、commonjs 规范流程、events 模块的实现原理、流的原理、单向链表、树、http 缓存策略、实现一个 http-server、koa 源码、express 源码、jwt、mongo 等相关知识的学习。

个人学习 github 笔记地址:

https://github.com/kaimo313/frontend-architecture-notes

  • 1 # 高阶函数
  • 2 # 函数柯里化
  • 3 # 通过回调函数处理异步并发问题
  • 4 # 发布订阅模式
  • 5 # 观察者模式
  • 6 # 实现简单的 promise
  • 7 # promise 的 then 方法
  • 8 # 链式调用
  • 9 # 实现链式调用里普通值处理
  • 10 # promise2 状态的处理
  • 11 # promise2 和 x 引用同一个变量
  • 12 # 根据 x 值来判断是成功还是失败
  • 13 # promise 的状态更改问题
  • 14 # promise 规范测试
  • 15 # promise 延迟对象的作用
  • 16 # 实现 catch 方法
  • 17 # 静态方法 resolve 和 reject 的区别
  • 18 # promise 的 finally 方法实现原理
  • 19 # promisify:将回调方法 promise 化
  • 20 # 实现 promise 的 all 方法
  • 21 # 实现 promise 的 race 方法
  • 22 # 中断 promise 链
  • 23 # generator 的使用
  • 24 # co 库的实现
  • 25 # eventloop 执行流程
  • 26 # eventloop 执行顺序
  • 27 # node 基本概念
  • 28 # commander 的用法
  • 29 # node 中的 eventloop
  • 30 # 宏任务和微任务的区分
  • 31 # 模块的概念
  • 32 # core 模块使用
  • 33 # 基本模板引擎
  • 34 # 模板引擎的实现原理
  • 35 # 模块的断点调试 require 语法实现过程
  • 36 # 加载 json 的处理流程
  • 37 # commonjs 规范流程梳理
  • 38 # 简单描述原型链
  • 39 # events 模块的实现原理
  • 40 # npm 的使用
  • 41 # 编码的问题
  • 42 # 前端 blob 类型
  • 43 # buffer 的应用
  • 44 # 流的原理
  • 45 # 实现文件拷贝功能
  • 46 # 可读流 readStream
  • 47 # 实现可读流
  • 48 # 单向链表
  • 49 # 用递归和非递归两种方式实现链表反转
  • 50 # 树的概念
  • 51 # 二叉搜索树的实现
  • 52 # 二叉树的前中后遍历
  • 53 # 层序遍历跟反转二叉树
  • 54 # 可写流基本用法
  • 55 # 实现可写流
  • 56 # 实现 pipe 方法进行拷贝
  • 57 # 目录操作
  • 58 # 同步删除目录
  • 59 # 异步串行和异步并发删除目录
  • 60 # http 的基本概念
  • 61 # http 数据处理
  • 62 # 借用 promise 写成类的方法
  • 63 # commander 的配置
  • 64 # 实现一个 http-server
  • 65 # 实现 http-server 里的 gzip 压缩
  • 66 # form 数据格式化
  • 67 # 对象的处理
  • 68 # 中间层如何请求其他服务
  • 69 # 强制缓存的配置
  • 70 # 协商缓存的配置:通过修改时间
  • 71 # 协商缓存的配置:通过内容
  • 72 # http 缓存策略
  • 73 # 发布自己的 http-server 到 npm
  • 74 # koa 的基本使用
  • 75 # koa 基本逻辑实现以及属性的扩展
  • 76 # koa 上下文的实现原理
  • 77 # koa 中间件的应用
  • 78 # koa 中间件的实现
  • 79 # koa 相应结果设置
  • 80 # 图片防盗链
  • 81 # 多语言
  • 82 # koa-bodyparser 中间件的使用以及实现
  • 83 # 静态服务中间件 koa-static 的使用以及实现
  • 84 # koa 实现文件上传功能
  • 85 # koa 使用 koa-router 以及 koa-views 实现路由视图逻辑分离
  • 86 # express 基本实现
  • 87 # express 应用和创建应用的分离
  • 88 # express 应用和路由的分离
  • 89 # express 构建 layer 和 route 的关系
  • 90 # 实现 express 请求处理
  • 91 # 实现 express 的优化处理
  • 92 # express 中的中间件的实现
  • 93 # 实现 express 错误处理中间件
  • 94 # express 兼容老的路由写法
  • 95 # express 二级路由的实现
  • 96 # cookie
  • 97 # session
  • 98 # jwt
  • 99 # mongo 的基本安装和配置
  • 100 # mongoose 的使用

相关文章:

【珠峰 WEB 前端架构师课程】学习笔记 100 篇(完结)

该课程是珠峰姜文老师讲的,个人觉得讲的很不错,一路在 b 站学习下来做了 100 篇的学习笔记,收获颇丰。 该课程主要讲了高阶函数、函数柯里化、发布订阅模式、观察者模式、从 0 到 1 实现一个 promise,co 库的实现、eventloop 执行…...

Java线程中sleep()、wait()、yield()、join()方法的使用

1.sleep() sleep(): sleep 方法属于 Thread 类,该行为中线程不会释放锁,只阻塞线程,让出cpu给其他线程,当达到指定的时间后会自动恢复运行状态继续运行。 2.wait() wait(): 该方法属于 Object 类,在这个过程里线程会…...

【机器学习】数据均衡学习笔记

文章目录 序言1. 样本不均衡2. 样本不均衡的影响以及样本均衡的意义3. 什么时候需要进行样本均衡/数据均衡4. 数据不均衡的解决办法 序言 数据集制作过程中需要关注样本均衡问题,学习笔记,简单记录 1. 样本不均衡 分类任务中不同类别样本数差别很大的…...

【软件教程】如何用C++交叉编译出能在Android运行的ELF程序或so动态库

一、配置NDK交叉编译平台 1. 打开Android的官方ndk下载链接https://developer.android.com/ndk/downloads?hlzh-cn,下载windows 64位ndk环境包。 2. 解压后将具有以下文件的路径加入到系统环境变量。 3. 配置好环境变量,如下图所示,Path中存…...

进阶JAVA篇- Map 系列集合的遍历方法与常用API

目录 1.0 Map 集合的说明 1.1 Map 集合的常用方法 1.2 Map 系列集合的特点 2.0 Map 系列集合的遍历方法(三种方法) 2.1 使用 keySet() 方法遍历 2.2 使用 entrySet() 方法遍历 2.3 使用 forEach() 方法遍历(Java 8) 1.0 Map 集合的…...

Auth.js:多合一身份验证解决方案 | 开源日报 No.60

nodejs/node Stars: 96.2k License: NOASSERTION Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。它具有以下关键特性和核心优势: 强大:Node.js 提供了强大且高效的服务器端运行能力,可以处理并发请求,并支持异步编程…...

SpringBoot整合Activiti7——任务监听器(七)

文章目录 一、任务监听器事件类型配置方式(选)代码实现xml文件创建监听器class方式expression方式delegateExpression 测试流程部署流程启动流程完成任务 一、任务监听器 任务监听器可以在任务创建、任务分配、任务完成、任务删除发生时触发,从而执行相应的逻辑。 事…...

电解电容寿命与哪些因素有关?

电解电容在各类电源及电子产品中是不可替代的元器件,这些电子产品中由于应用环境的原因,使它成为最脆弱的一环,所以,电解电容的寿命也直接影响了电子产品的使用寿命。 一、电解电容失效模式与因素概述 铝电解电容器正极、负极引出…...

Opencv-图像插值与LUT查找表

图像像素的比较 白色是255,黑色是0 min(InputArray src1,InputArray src2,OutputArray dst) max(InputArray src1,InputArray src2,OutpurArray dstsrc1:第一个图像矩阵,通道数任意src2:第二个图像矩阵,尺寸和通道数以及数据类型…...

我为什么写博客?写博客给我带来了什么?

1、写博客的契机 (1)刚开始接触CSDN,是大三的时候开始学习嵌入式开发,经常需要到网上百度查资料,由此经常游览CSDN上的博客; (2)在嵌入式的过程中,需要总结学习过的知识。…...

jdk11的HttpClient

我们都知道在jdk11之前都在用okhttp或者org.apache.httpcomponents 其实早在jdk9的时候这个方案就在孵化中 上面的截图来自openjdk的官网,注:openjdk是个开源项目,不存在侵权现象 这是openjdk的官网:JEP 110: HTTP/2 Client (In…...

Redis的优势

高性能 Redis是一种基于内存的数据存储系统,读写性能非常高,因此适用于对性能要求较高的应用场景。 数据结构丰富 Redis支持多种数据结构,如字符串、列表、集合、散列、有序集合等,可以满足不同的业务需求。还有一些特殊数据结…...

C++ string 类的其他操作

4.3.2 string 类的其他操作 在C新增string类之前,程序员也需要完成诸如给字符串赋值等工作。对于C语言式的字符串,程 序员使用C语言库中的函数来完成这些任务。头文件cstring(以前为string.h)提供了这些函数。例如,可 以使用函数 strcpy()将字符串复制到字符数组中,使用函数…...

structs2 重构成SpringBoot架构

# 目录 structs2 重构成SpringBoot架构 1.1 structs2架构: 1.2 springboot 架构 1.3 演化要点: 1.基于前端的展示层不需要修改 2.HttpServlet 将会有SpringBoot annotation 来处理 3.构建前置的Structs url 转发器,适配 4.ActionSupport将由…...

【MATLAB源码-第56期】基于WOA白鲸优化算法和PSO粒子群优化算法的三维路径规划对比。

操作环境: MATLAB 2022a 1、算法描述 1.粒子群算法(Particle Swarm Optimization,简称PSO)是一种模拟鸟群觅食行为的启发式优化方法。以下是其详细描述: 基本思想: 鸟群在寻找食物时,每只鸟都…...

【WinForm详细教程一】WinForm中的窗体、Label、TextBox及Button控件、RadioButton和CheckBox、ListBox

文章目录 1.WinForm文件结构2. 窗体的常用属性、方法与事件2.1 常用属性(可直接在属性中设置)2.2 常用方法2.3 常用事件 3.Label、TextBox及Button控件4.RadioButton和CheckBox5.ListBox(列表框) 1.WinForm文件结构 .sln文件 &am…...

【SwiftUI模块】0060、SwiftUI基于Firebase搭建一个类似InstagramApp 3/7部分-搭建TabBar

SwiftUI模块系列 - 已更新60篇 SwiftUI项目 - 已更新5个项目 往期Demo源码下载 技术:SwiftUI、SwiftUI4.0、Instagram、Firebase 运行环境: SwiftUI4.0 Xcode14 MacOS12.6 iPhone Simulator iPhone 14 Pro Max SwiftUI基于Firebase搭建一个类似InstagramApp 3/7部分-搭建Tab…...

PureFlash云原生存储部署方法

PureFlash云原生存储 PureFlash是一个开源存储系统,它能为云计算和传统应用提供块存储服务。PureFlash最显著的优势是其高性能,每节点能提供超过100万IOPS随机写IO。 PureFlash可以以云原生的方式部署,并为云原生应用提供持久存储。 PureFl…...

SqueezeNet 一维,二维网络复现 pytorch 小白易懂版

SqueezeNet 时隔一年我又开始复现神经网络的经典模型,这次主要复的是轻量级网络全家桶,轻量级神经网络旨在使用更小的参数量,无限的接近大模型的准确率,降低处理时间和运算量,这次要复现的是轻量级网络的非常经典的一…...

Java 数据结构

枚举 Java枚举是一种特殊的类,它用于定义有限个特定的值,例如一周的星期或者性别。枚举在Java中被视为数据类型,你可以使用它们来创建枚举类型的变量,然后使用那些枚举值等。 在Java中,声明枚举类型需要使用enum关键字…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...