天将降大任于我
码龄5年
关注
提问 私信
  • 博客:48,502
    48,502
    总访问量
  • 75
    原创
  • 107,033
    排名
  • 148
    粉丝
  • 0
    铁粉

个人简介:快乐的编程,快乐的学习。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2019-12-12
博客简介:

smz的博客

查看详细资料
  • 原力等级
    当前等级
    4
    当前总分
    700
    当月
    2
个人成就
  • 获得200次点赞
  • 内容获得4次评论
  • 获得220次收藏
  • 代码片获得313次分享
创作历程
  • 12篇
    2024年
  • 30篇
    2023年
  • 33篇
    2022年
成就勋章
TA的专栏
  • 构建工具
    3篇
  • TypeScript
    4篇
  • 网络
    10篇
  • 面试
  • 浏览器
    1篇
  • node.js
    1篇
  • 多端屏幕适配
    1篇
  • 微前端
    1篇
  • Elasticsearch
    3篇
  • 前端设计模式
    2篇
  • css笔记
    1篇
  • Html
    1篇
  • 算法
    16篇
  • vue学习
    12篇
  • js学习
    3篇
  • react学习
    2篇
兴趣领域 设置
  • 编程语言
    javascript
  • 开发工具
    gitvscodeintellij ideawebstorm
  • 数据结构与算法
    算法数据结构leetcode
  • 前端
    postmanreact.jses6前端框架
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Vite配置

vite 可以说是开箱即用,不用过多配置vite 利用ESM,不像webpack构建工具取分析引入,打包构建;而是直接保持模块化,省去编译时间,代码更改后构建速度提升构建生产环境下,使用了rollup。
原创
发布博客 2024.07.21 ·
522 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

webpack

Webpack 是一个开源的前端模块打包工具,它可以将多个模块和资源文件打包成一个或多个输出文件。Webpack 的工作方式是从一个或多个入口文件开始,递归地解析所有依赖关系,然后将这些依赖关系打包成一个或多个包。 Webpack 提供了一个丰富的插件系统,使得开发者可以根据需要自定义 Webpack 的行为。它还提供了一个命令行界面和一个配置文件,方便开发者进行配置和管理。Webpack 广泛应用于现代前端开发中,它可以帮助开发者提高开发效率,优化代码性能,并且实现复杂的前端架构。
原创
发布博客 2024.07.21 ·
1101 阅读 ·
38 点赞 ·
0 评论 ·
13 收藏

TypeScript 类的使用 (三)

使用private修饰构造函数,让该类不能通过new实例化在 单例模式时 使用,定义一个静态属性接收实例,通过一个静态方法暴露该实例,方法内部判断这个静态属性是否为空,不为空则创建实例,有则直接返回,保证实例只存在一个if (!
原创
发布博客 2024.07.18 ·
320 阅读 ·
5 点赞 ·
0 评论 ·
11 收藏

TypeScript 函数类型 (二)

重载 根据不同的参数类型做不同处理,一般这个参数类型是有限的。ts中的重载是伪重载,只是类型重载,不是逻辑重载。函数返回类型可以为void,意思为不校验返回值,在某些时候函数有没有返回值是没有意义的。ts中this需要手动指定。默认是函数的第一个参数。,可以将这个入参变为可选,但是只能用在入参最后。根据上下文推导,根据位置来进行推导,也就是。函数需要定义类型的有三个地方。的类型常用于表达式定义的函数。,可以传入不指定数量的参数。
原创
发布博客 2024.07.16 ·
403 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

大文件分片上传-设计与实现

分片顺序索引,当把分片交给不同辅助线程时,处理结果并不清楚,为了使回传分片顺序正确,这里还需要计算每个线程开始索引和结束索引,结束索引这时候由于之前向上取整可能会大于分片数量,这时候需要将结束索引进行矫正。线程完成数,为了验证分片完成,还需要统计线程完成分片的数量,当这个值与线程数量相同时表示完成了分片,当一个线程完成时可以将该线程进行清除。线程数量和每个线程多少分片,这里可以考虑到分片时会有MD5编码,是同步完成编码,是个耗时操作,会阻塞主线程,为了避免阻塞主线程,这里用。
原创
发布博客 2024.07.15 ·
1005 阅读 ·
31 点赞 ·
0 评论 ·
14 收藏

TypeScript 基础类型(一)

它是 JavaScript 的超集,具有静态类型检查和面向对象编程的特性。TypeScript 的出现,为开发者提供了一种更加严谨和高效的开发方式。、静态类型检查。通过静态类型检查,开发者可以在编译时发现错误,而不是在运行时。这有助于减少调试时间,提高代码质量。TypeScript 支持多种类型注解,包括基本类型(如 number、string、boolean 等)、数组、元组、枚举、接口、类等。面向对象编程支持类、接口、继承、多态等面向对象编程的核心概念。
原创
发布博客 2024.07.15 ·
556 阅读 ·
21 点赞 ·
0 评论 ·
20 收藏

pnpm9.5.0(catalog协议)

pnpm 9.5.0 新特性,解决多包或monorepo依赖管理
原创
发布博客 2024.07.12 ·
1441 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

Git的命令使用与IDEA内置git图形化的使用

Git 是分布式版本控制系统,它可以帮助开发人员跟踪和管理代码的更改。
原创
发布博客 2024.07.12 ·
2245 阅读 ·
35 点赞 ·
0 评论 ·
41 收藏

css预编译器--sass

提供了 变量(variables)、嵌套规则(nested rules)、 混合(mixins)、 函数(functions),目前我使用最多的还是变量和嵌套规则,貌似目前css也支持嵌套了,css预编译实际上是为了简化css编写,最终编译后还是css。
原创
发布博客 2024.07.12 ·
821 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

请求取消(多种)

对象实例,作为一个选项传递进入请求的选项对象中,就是作为请求第二参数对象的属性,这将 signal 和 controller 与 fetch 请求相关联,并且允许我们通过调用 AbortController.abort() 去中止它,接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求。请求,特别适用于需要及时取消请求的场景,如用户取消操作或超时处理。要完成请求取消,就必须要与异步请求进行通讯,使用。可以使用 abort() 方法来实现请求取消。内部API并不能实现请求的取消,需要借助。
原创
发布博客 2024.07.11 ·
343 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

Promise

简单的来说Promise就是带then方法的对象或函数,用来解决回调地狱。
原创
发布博客 2024.07.11 ·
236 阅读 ·
8 点赞 ·
0 评论 ·
3 收藏

Tailwind CSS原子框架

本文主要记录css原子化框架tailwind学习基于约束避免在样式表中出现随意的取值,它让颜色、 间距、排版、阴影以及一切属性的取值保持一致。
原创
发布博客 2024.07.10 ·
1032 阅读 ·
13 点赞 ·
0 评论 ·
8 收藏

浏览器事件循环 (event loop)

JS是一门单线程的语言,因为JS执行在渲染主线程中,为了防止渲染主线程的阻塞,采用异步的方式,碰到耗时任务时交给其他线程处理,自生立即结束当前任务,执行后续任务,而耗时任务的回调函数包装成任务,加到任务队列中末尾,等待调度执行
原创
发布博客 2023.10.28 ·
477 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Node.JS---npm相关

node.js 是一个基于Chrome V8引擎的JavaScript运行时环境,用于构建高性能、可扩展的网络应用程序。node的出现使JavaScript也能编写服务端应用程序。npx是npm5.2.0版本新增的命令, 用于执行依赖包中的命令, 例如: npx webpack, npx jest等npm私服是一个npm仓库,用于存放npm包,类似于maven私服
原创
发布博客 2023.10.23 ·
763 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络-网络状态&网络速度

本文主要记录如何监听网络状态和网络速度。
原创
发布博客 2023.10.12 ·
1037 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

网络-HTTPS

Http 存在不安全、无状态、性能低、可伪造等问题,为了解决Http的这些缺点,发展出了HTTPS协议,它在HTTP的基础上增加了安全性,通过使用SSL/TLS协议对数据进行加密和认证,提供了更安全的数据传输方式。HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全传输协议。它通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议对数据进行加密和认证,提供了更安全的数据传输方式。
原创
发布博客 2023.10.12 ·
772 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

网络-navigator.sendBeacon

navigator.sendBeacon 是一个方便的浏览器 API,用于在页面卸载或关闭时发送异步请求,适用于发送统计数据、日志记录、表单提交等场景。
原创
发布博客 2023.10.11 ·
2737 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

网络-WebSocket

demoWebSocket是一种通信协议,它通过单个TCP连接提供全双工的通信通道。它允许客户端和服务器之间进行实时的双向通信。与传统的HTTP请求不同,WebSocket建立了客户端和服务器之间的持久连接,从而实现了高效和低延迟的通信。要建立WebSocket连接,客户端向服务器发送WebSocket握手请求,服务器则以WebSocket握手响应进行回应。一旦连接建立,客户端和服务器都可以异步地发送消息。
原创
发布博客 2023.10.10 ·
231 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络-SSE

本文主要记录SSE通讯的简介、使用、以及原理和一个ChatGPT返回数据的demo。SSE(Server-Sent Events,服务器推送事件)是一种用于在浏览器和服务器之间实现实时、单向通信的Web技术。它允许服务器向客户端推送数据,而无需客户端发起请求。与传统的HTTP请求-响应模式不同,SSE建立了一种持久的连接,通过这个连接,服务器可以随时向客户端发送更新的数据。这种实时通信的方式非常适用于需要实时更新数据的应用,如聊天应用、股票行情、实时监控等。
原创
发布博客 2023.10.03 ·
1967 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

网络-fetch

本文主要记录浏览器与服务端网络通讯 fetch 的介绍与使用,将完成get、post、进度、取消请求、和超时请求的功能实现。fetch作为继XMLHttpRequest的网络通讯手段,在使用方面极大的简化了使用方法,通过直观的语义化调用方式让代码更具有可读性,但是它对于一些复杂问题确实有待提高,也有一些实验性的更新还在尝试,如获取请求进度、设置超时时间、中断请求等,他自身都不能完成,需要借助外界的力量。fetch请求目前来说处理简单请求,日后等fetch API完善吧。其他复杂的请求还是使用ajax。
原创
发布博客 2023.10.02 ·
724 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏
加载更多