- 博客(75)
- 收藏
- 关注
原创 Vite配置
vite 可以说是开箱即用,不用过多配置vite 利用ESM,不像webpack构建工具取分析引入,打包构建;而是直接保持模块化,省去编译时间,代码更改后构建速度提升构建生产环境下,使用了rollup。
2024-07-21 07:48:18 460
原创 webpack
Webpack 是一个开源的前端模块打包工具,它可以将多个模块和资源文件打包成一个或多个输出文件。Webpack 的工作方式是从一个或多个入口文件开始,递归地解析所有依赖关系,然后将这些依赖关系打包成一个或多个包。 Webpack 提供了一个丰富的插件系统,使得开发者可以根据需要自定义 Webpack 的行为。它还提供了一个命令行界面和一个配置文件,方便开发者进行配置和管理。Webpack 广泛应用于现代前端开发中,它可以帮助开发者提高开发效率,优化代码性能,并且实现复杂的前端架构。
2024-07-21 06:18:33 1082
原创 TypeScript 类的使用 (三)
使用private修饰构造函数,让该类不能通过new实例化在 单例模式时 使用,定义一个静态属性接收实例,通过一个静态方法暴露该实例,方法内部判断这个静态属性是否为空,不为空则创建实例,有则直接返回,保证实例只存在一个if (!
2024-07-18 01:11:43 273
原创 TypeScript 函数类型 (二)
重载 根据不同的参数类型做不同处理,一般这个参数类型是有限的。ts中的重载是伪重载,只是类型重载,不是逻辑重载。函数返回类型可以为void,意思为不校验返回值,在某些时候函数有没有返回值是没有意义的。ts中this需要手动指定。默认是函数的第一个参数。,可以将这个入参变为可选,但是只能用在入参最后。根据上下文推导,根据位置来进行推导,也就是。函数需要定义类型的有三个地方。的类型常用于表达式定义的函数。,可以传入不指定数量的参数。
2024-07-16 23:57:41 378
原创 大文件分片上传-设计与实现
分片顺序索引,当把分片交给不同辅助线程时,处理结果并不清楚,为了使回传分片顺序正确,这里还需要计算每个线程开始索引和结束索引,结束索引这时候由于之前向上取整可能会大于分片数量,这时候需要将结束索引进行矫正。线程完成数,为了验证分片完成,还需要统计线程完成分片的数量,当这个值与线程数量相同时表示完成了分片,当一个线程完成时可以将该线程进行清除。线程数量和每个线程多少分片,这里可以考虑到分片时会有MD5编码,是同步完成编码,是个耗时操作,会阻塞主线程,为了避免阻塞主线程,这里用。
2024-07-15 22:38:27 944
原创 TypeScript 基础类型(一)
它是 JavaScript 的超集,具有静态类型检查和面向对象编程的特性。TypeScript 的出现,为开发者提供了一种更加严谨和高效的开发方式。、静态类型检查。通过静态类型检查,开发者可以在编译时发现错误,而不是在运行时。这有助于减少调试时间,提高代码质量。TypeScript 支持多种类型注解,包括基本类型(如 number、string、boolean 等)、数组、元组、枚举、接口、类等。面向对象编程支持类、接口、继承、多态等面向对象编程的核心概念。
2024-07-15 03:37:29 543
原创 css预编译器--sass
提供了 变量(variables)、嵌套规则(nested rules)、 混合(mixins)、 函数(functions),目前我使用最多的还是变量和嵌套规则,貌似目前css也支持嵌套了,css预编译实际上是为了简化css编写,最终编译后还是css。
2024-07-12 01:23:41 790
原创 请求取消(多种)
对象实例,作为一个选项传递进入请求的选项对象中,就是作为请求第二参数对象的属性,这将 signal 和 controller 与 fetch 请求相关联,并且允许我们通过调用 AbortController.abort() 去中止它,接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求。请求,特别适用于需要及时取消请求的场景,如用户取消操作或超时处理。要完成请求取消,就必须要与异步请求进行通讯,使用。可以使用 abort() 方法来实现请求取消。内部API并不能实现请求的取消,需要借助。
2024-07-11 12:01:07 308
原创 Tailwind CSS原子框架
本文主要记录css原子化框架tailwind学习基于约束避免在样式表中出现随意的取值,它让颜色、 间距、排版、阴影以及一切属性的取值保持一致。
2024-07-10 15:23:52 958
原创 浏览器事件循环 (event loop)
JS是一门单线程的语言,因为JS执行在渲染主线程中,为了防止渲染主线程的阻塞,采用异步的方式,碰到耗时任务时交给其他线程处理,自生立即结束当前任务,执行后续任务,而耗时任务的回调函数包装成任务,加到任务队列中末尾,等待调度执行
2023-10-28 06:54:48 466
原创 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 08:35:26 751
原创 网络-HTTPS
Http 存在不安全、无状态、性能低、可伪造等问题,为了解决Http的这些缺点,发展出了HTTPS协议,它在HTTP的基础上增加了安全性,通过使用SSL/TLS协议对数据进行加密和认证,提供了更安全的数据传输方式。HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全传输协议。它通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议对数据进行加密和认证,提供了更安全的数据传输方式。
2023-10-12 00:23:21 739 2
原创 网络-navigator.sendBeacon
navigator.sendBeacon 是一个方便的浏览器 API,用于在页面卸载或关闭时发送异步请求,适用于发送统计数据、日志记录、表单提交等场景。
2023-10-11 02:02:04 2540
原创 网络-WebSocket
demoWebSocket是一种通信协议,它通过单个TCP连接提供全双工的通信通道。它允许客户端和服务器之间进行实时的双向通信。与传统的HTTP请求不同,WebSocket建立了客户端和服务器之间的持久连接,从而实现了高效和低延迟的通信。要建立WebSocket连接,客户端向服务器发送WebSocket握手请求,服务器则以WebSocket握手响应进行回应。一旦连接建立,客户端和服务器都可以异步地发送消息。
2023-10-10 01:05:55 226
原创 网络-SSE
本文主要记录SSE通讯的简介、使用、以及原理和一个ChatGPT返回数据的demo。SSE(Server-Sent Events,服务器推送事件)是一种用于在浏览器和服务器之间实现实时、单向通信的Web技术。它允许服务器向客户端推送数据,而无需客户端发起请求。与传统的HTTP请求-响应模式不同,SSE建立了一种持久的连接,通过这个连接,服务器可以随时向客户端发送更新的数据。这种实时通信的方式非常适用于需要实时更新数据的应用,如聊天应用、股票行情、实时监控等。
2023-10-03 03:49:01 1943
原创 网络-fetch
本文主要记录浏览器与服务端网络通讯 fetch 的介绍与使用,将完成get、post、进度、取消请求、和超时请求的功能实现。fetch作为继XMLHttpRequest的网络通讯手段,在使用方面极大的简化了使用方法,通过直观的语义化调用方式让代码更具有可读性,但是它对于一些复杂问题确实有待提高,也有一些实验性的更新还在尝试,如获取请求进度、设置超时时间、中断请求等,他自身都不能完成,需要借助外界的力量。fetch请求目前来说处理简单请求,日后等fetch API完善吧。其他复杂的请求还是使用ajax。
2023-10-02 07:23:04 624
原创 状态管理容器Pinia
本文主要记录Vue3状态管理工具Pinia的介绍与使用,Pinia相对于VueX来说,简化了API的使用,支持TS,让学习成本大大降低。
2023-09-25 21:40:41 201
原创 Vue3自定义指令(directive)
此文章主要讲了vue3中自定义指令的使用,以及一些WebAPI的使用。如 ResizeObserver、IntersectionObserver API的使用。
2023-09-12 19:46:31 2398
原创 Elasticsearch 映射Mappings (三)
本文主要记录映射Mappings的作用、类型、ES常用数据类型、常见参数、重要的数据类型、映射配置、映射模板。
2023-07-24 16:11:37 394
原创 Elasticsearch 开端 (一)
该系列主要记录学习Elastisearch 8.8.2(目前官方最新),本文将从概念特性使用场景* 来做开篇,不做技术内容。
2023-07-19 16:47:01 79
原创 SpringCloud(学习 商品服务-属性分组的开发)六
本文主要讲了属性分组中,查询、新增、修改功能的开发,并记录开发过程中遇到的返回数据去除注解以及Collections工具类的使用。
2023-07-12 16:41:04 90
原创 SpringCloud(学习 商品服务-品牌管理的开发)五
本章内容主要记录品牌服务的开发,重点在于阿里云平台oss对象存储、后端数据参数校验JSR303的使用。自定义校验用于复杂的校验逻辑,用于处理内置校验规则处理不了的数据校验。
2023-07-11 16:07:01 92
原创 SpringCloud(学习 商品服务-三级分类的开发)四
本文主要记录商品服务的开发,以及过程中遇到的知识点等。本文主要讲了商品服务三级分类的相关业务功能开发,以及请求转发、跨域配置等。前端请求先通过网关验证后转发给对应服务,其中网关可对请求做出修改,跨域解决就是通过该方法解决,值得一提的是如果进行跨域,请求会先发送一个预检请求,服务器同意后才能将真正的请求发送给服务器。
2023-07-07 11:35:59 195
原创 SpringCloud(学习 Gateway)三
网关的存在就是让请求动态路由到正确的服务,也可以在网关层做鉴权、限流、日志输出等功能的实现。本次网关采用Gateway进行,不使用Zuul。本文主要讲了网关Gateway的简介以及如何在SpringCloud中整合Gateway、一些配置。
2023-06-30 16:37:54 110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人