自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 浏览器内核

浏览器的内核通常指的是浏览器用来解析和渲染网页的引擎。不同的浏览器内核有不同的实现,但它们的基本功能是相似的,主要包括解析HTML、CSS和JavaScript代码,并将它们渲染成用户可以看到的网页。在这种情况下,浏览器会将不同的层(例如,背景层、文本层、图像层等)分别绘制,然后将它们合成在一起显示在屏幕上。重绘是当元素的外观改变但布局不变时发生的,而回流是当元素的位置或大小改变时发生的。:浏览器根据渲染树中的元素和样式信息,计算每个元素在屏幕上的确切位置和大小。渲染树包含了所有需要显示在屏幕上的元素。

2024-07-29 23:03:15 357

原创 setTimeout 和 setInterval

在JavaScript中,setTimeout和是两个用于定时操作的函数,它们都定义在window对象上,并且是Web API的一部分。

2024-07-29 22:45:54 457

原创 Rollup介绍

Rollup 是一个现代的 JavaScript 模块打包器,主要用于将多个模块打包成一个或多个小的、优化的 JavaScript 文件,以便在浏览器中使用。它特别适合于构建库和工具,但也可以用于构建应用程序。

2024-07-20 22:43:03 548

原创 Vue项目中优化性能的方法

在Vue项目中,优化性能是一个持续的过程,涉及到多个方面。

2024-07-20 20:43:18 910

原创 MySQL9.0的新特性

虽然这是 MySQL 8.3 版本的特性,但值得一提的是,它引入了支持标签的全局事务标识符(GTID),使得事务集的分组和识别更加直观。的旧客户端程序的认证请求,进一步加强了 MySQL 的安全性,并鼓励用户采用更安全的认证方法。命令,以及一些复制和服务器的相关选项,引导管理员采用更有效、更现代的操作方法。两张表,记录了系统变量的类型、作用域和允许的值,对于性能微调和维护至关重要。:新版本扩展了预处理语句的功能,支持数据定义语言(DDL)命令,如。:MySQL 8.3 版本引入了一个新的。

2024-07-10 22:34:32 689

原创 认识同源策略

同源策略的目的是防止恶意文档窃取数据或对另一个源的资源进行未授权的访问。然而,这限制了Web应用程序的灵活性,因为现代Web应用经常需要跨域交互。为了解决这个问题,CORS(Cross-Origin Resource Sharing)协议被引入,它允许服务器明确允许某些跨源请求。同源策略是一种浏览器安全机制,用于限制一个源的文档或脚本如何与另一个源的资源进行交互。如果两个URL的协议、域名和端口都相同,则它们具有相同的源。例如,如果一个网页需要从另一个域的服务器获取数据,服务器可以设置响应头。

2024-07-09 22:39:39 414

原创 JavaScript中的可选链操作符

被称为可选链操作符(Optional Chaining Operator)。它允许你访问对象的深层属性而不必显式地检查每一层属性是否存在。如果链中的某个属性不存在,表达式将短路返回。输出是:Mara undefined Lydia Hallie undefined。这使得代码更加简洁和安全。可选链操作符也可以与函数调用和。操作符需要一个有效的构造函数)。在JavaScript中,例如,假设你有一个对象。,它可能包含一个属性。中的任何一个不存在,

2024-07-09 22:33:35 402

原创 防抖和节流

防抖(Debounce)和节流(Throttle)是前端开发中常用的两种优化技术,主要用于控制事件处理函数的执行频率,提高页面性能,尤其是在处理诸如滚动、窗口调整大小、按键等频繁触发的事件时。

2024-07-08 22:03:53 400

原创 软件设计模式总结

设计模式是软件设计中常见问题的通用解决方案。以下是一些常见的设计模式,分为三大类:创建型模式、结构型模式和行为型模式。这些模式提供了对象创建的机制,增加了已有代码的灵活性和可复用性。单例模式(Singleton):工厂方法模式(Factory Method):抽象工厂模式(Abstract Factory):建造者模式(Builder):原型模式(Prototype):这些模式处理对象组合,或对象与它们之间的关系。适配器模式(Adapter):装饰器模式(Decorator):代理模式(Proxy):外观模

2024-07-07 22:05:36 396

原创 BOM和DOM

BOM是Web页面与浏览器之间的接口,提供了与浏览器交互的方法和属性。

2024-07-07 21:55:52 965

原创 Sass 和 SCSS

Sass 和 SCSS 是 Sass (Syntactically Awesome Stylesheets) 的两种语法。它们都被用于编写更加结构化和易于维护的 CSS。

2024-07-07 13:09:25 444

原创 认识并理解webSocket

今天逛牛客,看到有大佬分享说前端面试的时候遇到了关于webSocket的问题,一看自己都没见过这个知识点,赶紧学习一下,在此记录!WebSocket 是一种网络通信协议,提供了全双工通信渠道,即客户端和服务器可以同时发送和接收数据。这与传统的HTTP请求不同,后者是单向的,客户端发起请求,服务器响应请求。WebSocket 允许服务器主动向客户端发送消息,这使得实时通信成为可能,例如在线聊天应用、实时游戏、股票行情更新等场景。

2024-07-06 17:46:29 1925 1

原创 理解async和await

async和await是 JavaScript 中用于编写异步代码的两个关键字。它们让异步代码的编写更加简洁、易于理解和维护,类似于同步代码的写法。

2024-07-06 17:08:48 366

原创 ES6中函数的this对象

如果在全局上下文中调用sayColor(),这结果会输出"red",因为 this 指向 window,而 this.color 相当于 window.color。而在把 sayColor()赋值给 o 之后再调用 o.sayColor(),this 会指向 o,即 this.color 相当于o.color,所以会显示"blue"。在事件回调或定时回调中调用某个函数时,this 值指向的并非想要的对象。ES6中,对于函数,有一个特殊的对象是 this,它在标准函数和箭头函数中有不同的行为。

2024-07-04 09:47:09 306

原创 一些有趣的emojis

在我们写博客的时候加上一些小表情会让文章变得更加有趣,分享一些有趣的emojis。

2024-07-03 15:11:11 221

原创 安卓开发中margin和padding的区别

实际上,在web开发中两者的区别也是这样。在 Android 开发中,

2024-06-29 20:57:16 458

原创 git常用命令

删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项。删除远程分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支。合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并。

2024-06-29 12:45:45 278

原创 缓存、数据库、搜索引擎、消息队列

目前用的比较多的开源软件是 Solr 和 Elasticsearch,都是基于 Lucence 来实现的,不同之处主要在于 termIndex 的存储、分布式架构的支持等。在高并发的后端应用中,将数据持久层的数据加载到缓存中,能够隔离高并发请求与后端数据库,避免数据库被大量请求击垮。数据库:数据库可以说是后端应用最基本的基础设施。缓存、数据库、搜索引擎、消息队列这四者都是应用依赖的后端基础服务,他们的性能直接影响到了应用的整体性能,有时候你代码写的再好也许就是因为这些服务导致应用性能无法提升上去。

2024-06-29 11:19:45 351

原创 linux常用命令汇总

汇总一些常用到的linux命令,linux是每个程序员都需要掌握的技能。

2024-06-29 11:06:53 531

原创 fake.js的使用

fake.js(也称为 Fake.js)是一个用于生成大量逼真数据的JavaScript库,它可以帮助开发者在开发和测试阶段快速生成模拟数据。这个库特别适用于前端开发中的原型设计、测试和占位内容的生成。多种数据类型:支持生成各种类型的数据,包括但不限于姓名、地址、电子邮件、日期、颜色、电话号码等。无依赖性:作为一个独立的库,fake.js 不依赖于其他JavaScript库或框架。本地化:fake.js 提供了多种本地化选项,可以生成特定国家或地区的数据。链式调用:支持链式调用,使得数据生成更加灵活。

2024-06-28 17:23:01 394

原创 Android学习

实现垂直或者水平布局。orientation属性控制控件排列方向,包含两个属性值:vertical(垂直)、horizontal(水平);weight属性表示权重。

2024-06-28 16:54:11 1736

原创 git克隆仓库时报错“HTTP/2 stream 1 was not closed cleanly before end of the underlying stream“

http/2 和 http/1.1之间有个区别是“HTTP2 基于 SPDY,专注于性能,最大的一个目标是在用户和网站间只用一个连接”。检查我的网络连接和梯子都正常,于是改用ssh克隆。

2024-06-27 14:17:52 656

原创 大数据技术与实践学习

分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。HDFS简介HDFS采用抽象的块概念带来的好处:1.支持大规模文件存储(文件块存储)2.简化系统设计3.适合数据备份NameNode和DataNodeHBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库。HBase和传统的关系数据库的区别:1.数据类型:将数据存储为未经解释的字符串。2.数据操作:避免了复杂的表和表之间的关系。3.存储模式:关系数据库是基于行模式存储的。HBase是基于列存。

2024-06-17 23:40:37 966 4

原创 Android组件间通信

操作,Bundle我们可以看作是一个存储可传输的数据的容器,什么是可传输的呢?我们的理解是像基本数据类型本身就可以直接转换为字节流,所以是可传输的。序列化是将对象的状态转换为字节流的过程,这样可以将对象保存到文件、数据库或通过网络传输。Bundle是Android提供的一种简单的数据结构,类似于Java中的Map,可以存储各种基本数据类型和一些复杂的数据类型。EventBus是一个流行的发布/订阅事件总线库,简化了Android组件(如Activity、Fragment、Service等)之间的通信。

2024-06-13 16:52:06 278

原创 人工智能期末复习

期末复习加油!

2024-06-05 22:21:19 988

原创 人工智能期末复习

期末复习

2024-06-05 14:54:42 1280 2

原创 JavaScript倍速播放视频

F12打开开发者工具,打开控制台,输入这行代码,视频即可加速播放,可以调整倍速(2,4,8,16)

2024-06-01 11:07:33 1236

原创 远程连接华为云服务器下载资源速度缓慢

解决方法:换个地区,比如将华东-上海换成华北-北京。远程连接华为云服务器下载资源速度缓慢。

2024-05-21 20:59:00 202

原创 win10操作系统底部菜单栏卡死

卡住的原因其实是任务栏里面的资讯和兴趣卡住了,右击底部导航栏空白处,找到资讯和兴趣,把它关闭就好了。经常遇到win10操作系统底部菜单栏卡死的问题,今天直接一步解决。

2024-05-21 20:54:38 370

原创 Hadoop介绍

YARN支持多种应用程序模型,包括传统的基于批处理的MapReduce模型,以及新兴的交互式查询(例如Apache Tez)、流处理(例如Apache Flink)和机器学习(例如Apache Spark)等。HDFS将大文件分割成数据块(通常大小为128MB或更大),并将这些数据块复制到集群中的不同节点上,以确保数据的冗余备份和可靠性。Hive:基于Hadoop的数据仓库工具,提供类似SQL的查询语言(HiveQL)来分析存储在HDFS中的数据,适用于数据分析和报表生成。

2024-05-16 22:41:04 406

原创 npm install [Error]

npm install 依赖的时候报错。依赖版本问题的冲突,忽视即可。

2024-05-16 11:25:04 262

原创 TCP和UDP套接字程序

【代码】TCP和UDP套接字程序。

2024-05-15 10:19:33 147

原创 Blob数据类型

Blob(Binary Large Object)是一种二进制大对象的数据类型,用于存储大量的二进制数据,比如图片、视频、音频等。Blob对象通常用于处理从网络上获取的数据或者在浏览器中生成的数据,例如通过用户上传的文件、从服务器下载的文件等。要操作Blob对象的内容,通常需要使用一些API,比如使用FileReader对象读取Blob对象的内容、使用URL.createObjectURL()方法创建Blob URL等。:将数据存储为Blob对象,然后使用IndexedDB等客户端存储技术进行缓存。

2024-05-14 21:51:35 433

原创 解决哈希冲突的方法总结

哈希冲突是指在哈希表中两个或多个键被哈希函数映射到了同一个位置上,造成数据存储冲突的情况。将所有冲突的键存储在一个单独的区域中,当发生冲突时,将键存储在公共溢出区中。将哈希表的每个槽指向一个链表,当发生冲突时,将冲突键添加到链表中。设计一个能够保证没有冲突的哈希函数,通常适用于静态数据集。二次探测法:当发生冲突时,以二次方递增地查找下一个空槽。双重散列法:使用第二个哈希函数来计算冲突键的下一个位置。使用第二个哈希函数对冲突键再次哈希,直到找到一个空槽。线性探测法:当发生冲突时,顺序地查找下一个空槽。

2024-05-14 21:28:22 263

原创 SpringBoot项目中使用Redis,Mybatis和JWT

特别是对于频繁读取但不经常更新的数据,如配置信息、热门数据等,可以将其缓存到Redis中,减轻数据库的压力。1.数据持久化:MyBatis是一种优秀的持久层框架,可以简化数据库操作,提供对象关系映射(ORM)功能,帮助开发人员轻松地进行数据库操作。2.SQL控制:MyBatis允许开发人员编写原生SQL语句,灵活控制SQL的执行过程,包括动态SQL、批量操作等功能。2.会话管理:可以使用Redis存储用户会话信息,实现分布式会话管理,提高应用的可伸缩性和可用性。

2024-05-14 21:26:17 1072 1

原创 vue中下载上传xlxs文件

【代码】vue中下载上传xlxs文件。

2024-05-14 15:27:05 164

原创 HTTP有哪些请求方法?

简单来说,PUT,DELETE,POST,GET对应着“增删改查”OPTIONS: 列出可对资源实行的请求方法,用来跨域请求。CONNECT: 建立连接隧道,用于代理服务器。DELETE: 删除资源(几乎用不到)TRACE: 追踪请求-响应的传输路径。POST: 提交数据,即上传数据。HEAD: 获取资源的元信息。GET: 通常用来获取资源。

2024-05-12 16:48:38 96

原创 计算机网络-负载均衡算法

2.源地址哈希法(Source Hashing):根据请求来源的IP地址进行哈希计算,然后将请求分发到对应的服务器上,这样可以保证来自同一IP地址的请求总是被分发到同一台服务器上,有利于实现会话保持。3.加权轮询法(Weighted Round Robin):在轮询法的基础上,为每台服务器分配一个权重,权重越大,被选中的机会就越大。4.加权随机法(Weighted Random):在随机法的基础上,为每台服务器分配一个权重,权重越大,被选中的机会就越大。

2024-05-12 16:45:29 449

原创 Vue的diff算法

当 Vue 在列表中渲染多个相同的节点时,它需要使用一种策略来确定哪些节点是“稳定”的,哪些节点是新的或已删除的。这意味着如果你改变了一个节点的位置(例如,将一个节点从一个父节点移动到另一个父节点),Vue 会销毁该节点并在新的位置重新创建它,而不是简单地“移动”它。对于元素节点,Vue 会比较其属性和子节点,以确定是否需要进一步的 diff 操作。Vue.js 的 diff 算法是其性能优化的关键部分,它用于比较新旧虚拟 DOM 树并计算出最小的变更集,以便将这些变更应用到真实的 DOM 上。

2024-05-12 15:44:14 322

原创 axios、fetch和ajax

然而,fetch在某些情况下可能不如axios方便,比如fetch的返回值需要手动进行JSON转换,并且当接收到错误的HTTP状态码时,fetch返回的Promise不会被标记为reject。总结来说,ajax、fetch和axios都是用于发送HTTP请求的技术,但它们在实现方式、功能支持、错误处理和兼容性等方面有所不同。Ajax不是一种新的编程语言,而是一种基于JavaScript、XML、HTML与CSS等现有技术的组合,用于创建更好、更快以及交互性更强的Web应用程序。

2024-05-12 12:28:07 265 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除