- 博客(64)
- 收藏
- 关注
原创 浏览器事件循环 (event loop)
JS是一门单线程的语言,因为JS执行在渲染主线程中,为了防止渲染主线程的阻塞,采用异步的方式,碰到耗时任务时交给其他线程处理,自生立即结束当前任务,执行后续任务,而耗时任务的回调函数包装成任务,加到任务队列中末尾,等待调度执行
2023-10-28 06:54:48 422
原创 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 705
原创 网络-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 684 2
原创 网络-navigator.sendBeacon
navigator.sendBeacon 是一个方便的浏览器 API,用于在页面卸载或关闭时发送异步请求,适用于发送统计数据、日志记录、表单提交等场景。
2023-10-11 02:02:04 1326
原创 网络-WebSocket
demoWebSocket是一种通信协议,它通过单个TCP连接提供全双工的通信通道。它允许客户端和服务器之间进行实时的双向通信。与传统的HTTP请求不同,WebSocket建立了客户端和服务器之间的持久连接,从而实现了高效和低延迟的通信。要建立WebSocket连接,客户端向服务器发送WebSocket握手请求,服务器则以WebSocket握手响应进行回应。一旦连接建立,客户端和服务器都可以异步地发送消息。
2023-10-10 01:05:55 200
原创 网络-SSE
本文主要记录SSE通讯的简介、使用、以及原理和一个ChatGPT返回数据的demo。SSE(Server-Sent Events,服务器推送事件)是一种用于在浏览器和服务器之间实现实时、单向通信的Web技术。它允许服务器向客户端推送数据,而无需客户端发起请求。与传统的HTTP请求-响应模式不同,SSE建立了一种持久的连接,通过这个连接,服务器可以随时向客户端发送更新的数据。这种实时通信的方式非常适用于需要实时更新数据的应用,如聊天应用、股票行情、实时监控等。
2023-10-03 03:49:01 1620
原创 网络-fetch
本文主要记录浏览器与服务端网络通讯 fetch 的介绍与使用,将完成get、post、进度、取消请求、和超时请求的功能实现。fetch作为继XMLHttpRequest的网络通讯手段,在使用方面极大的简化了使用方法,通过直观的语义化调用方式让代码更具有可读性,但是它对于一些复杂问题确实有待提高,也有一些实验性的更新还在尝试,如获取请求进度、设置超时时间、中断请求等,他自身都不能完成,需要借助外界的力量。fetch请求目前来说处理简单请求,日后等fetch API完善吧。其他复杂的请求还是使用ajax。
2023-10-02 07:23:04 452
原创 状态管理容器Pinia
本文主要记录Vue3状态管理工具Pinia的介绍与使用,Pinia相对于VueX来说,简化了API的使用,支持TS,让学习成本大大降低。
2023-09-25 21:40:41 151
原创 Vue3自定义指令(directive)
此文章主要讲了vue3中自定义指令的使用,以及一些WebAPI的使用。如 ResizeObserver、IntersectionObserver API的使用。
2023-09-12 19:46:31 916
原创 Elasticsearch 映射Mappings (三)
本文主要记录映射Mappings的作用、类型、ES常用数据类型、常见参数、重要的数据类型、映射配置、映射模板。
2023-07-24 16:11:37 359
原创 Elasticsearch 开端 (一)
该系列主要记录学习Elastisearch 8.8.2(目前官方最新),本文将从概念特性使用场景* 来做开篇,不做技术内容。
2023-07-19 16:47:01 61
原创 SpringCloud(学习 商品服务-属性分组的开发)六
本文主要讲了属性分组中,查询、新增、修改功能的开发,并记录开发过程中遇到的返回数据去除注解以及Collections工具类的使用。
2023-07-12 16:41:04 64
原创 SpringCloud(学习 商品服务-品牌管理的开发)五
本章内容主要记录品牌服务的开发,重点在于阿里云平台oss对象存储、后端数据参数校验JSR303的使用。自定义校验用于复杂的校验逻辑,用于处理内置校验规则处理不了的数据校验。
2023-07-11 16:07:01 64
原创 SpringCloud(学习 商品服务-三级分类的开发)四
本文主要记录商品服务的开发,以及过程中遇到的知识点等。本文主要讲了商品服务三级分类的相关业务功能开发,以及请求转发、跨域配置等。前端请求先通过网关验证后转发给对应服务,其中网关可对请求做出修改,跨域解决就是通过该方法解决,值得一提的是如果进行跨域,请求会先发送一个预检请求,服务器同意后才能将真正的请求发送给服务器。
2023-07-07 11:35:59 128
原创 SpringCloud(学习 Gateway)三
网关的存在就是让请求动态路由到正确的服务,也可以在网关层做鉴权、限流、日志输出等功能的实现。本次网关采用Gateway进行,不使用Zuul。本文主要讲了网关Gateway的简介以及如何在SpringCloud中整合Gateway、一些配置。
2023-06-30 16:37:54 49
原创 SpringCloud(学习 微服务简介) 一
本文记录学习SpringCloud微服务学习的过程,通过B站视频《谷粒商城》项目进行学习。后端:前端:将大型单体应用,基于业务进行服务拆分,每个服务独立部署运行,互不影响。
2023-06-28 18:01:43 74
原创 JavaScript 设计模式核心原理与应用实践(二)创建型
对于简单工厂和抽象工厂模式来看:共同点是:尝试去分离一个系统中变与不变的部分不同点:场景的复杂度在简单工厂的使用场景里,处理的对象是类,并且是一些非常好对付的类——它们的共性容易抽离,同时因为逻辑本身比较简单,故而不苛求代码可扩展性。抽象工厂本质上处理的其实也是类,但是是一帮非常棘手、繁杂的类,这些类中不仅能划分出门派,还能划分出等级,同时存在着千变万化的扩展可能性——这使得我们必须对共性作更特别的处理、使用抽象类去降低扩展的成本,同时需要对类的性质作划分。
2022-09-29 21:57:59 367 1
原创 JavaScript 设计模式核核心原理与应⽤实践(一)原则于核心思想
以上记录了设计模式的核心思想,以及原则,简单的介绍了三大类设计模式的作用。
2022-09-29 13:50:03 549
原创 Webpack5核心原理与应用实践(基础用法)一
本文主要记录了Webpack配置底层逻辑结构以及如何借助Babel、TS、ESLint构建JS环境。
2022-09-29 10:57:28 743
原创 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]]。
2022-09-22 10:12:12 46
原创 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。限制:0
2022-09-21 11:29:48 99
原创 0~n-1中缺失的数字
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。限制:1
2022-09-20 11:33:44 163
原创 数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。限制:2
2022-09-15 12:08:41 44
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人