- 博客(438)
- 资源 (33)
- 收藏
- 关注
原创 js中的类型转换
如果你的代码有跳出循环的操作,最好不要选择foreach循环。在JavaScript中的forEach循环中使用return语句,并不会退出或终止循环,forEach循环会继续执行完剩余的所有迭代。📢 这是一个难得的机会,不要错过!在我们的官方微信公众号上留下你的联系方式,我们的热情HR团队将尽快与你取得联系,提供内推支持。forEach循环中的return语句只会从当前的迭代回调函数中返回,而不会中断整个循环。:在爱数,我们秉承着开放、包容、创新的文化,努力激发每个员工的创造力,让我们一起塑造未来。
2023-09-27 22:18:05
355
原创 CSS中的定位
定位是一种相对于元素自身在正常文档流中的位置和祖先元素的滚动容器滚动的一种定位方式。是 CSS 中用于控制元素布局和定位的三个重要属性,它们之间有一定的关系和交互,但分别用于不同的布局和定位方式。元素在滚动容器内保持固定定位,直到滚动到达滚动容器的底部或顶部,或者直到它的容器边界,取决于滚动的方向。元素会相对于其最近的具有滚动条的祖先元素进行定位。定位的元素都脱离了文档流,不再占据正常的文档流位置,因此不会对其他元素的布局产生影响。属性来调整元素的位置,但元素在文档流中的位置不会改变,仍占据原来的空间。
2023-09-21 22:02:07
158
原创 如何利用CSS实现三角形、扇形、聊天气泡框
使用透明边框的特性,通过控制边框的不透明部分来形成所需的三角形形状。通常,通过设置一个边框为透明,而将另一条边框的颜色设置为所需的颜色来实现这一点。这样设置的原因是为了创建一个类似于聊天应用中常见的聊天气泡效果,其中三角形指向用户头像或消息发送者的头像。属性来创建一个透明的矩形块,并利用边框的透明部分来形成三角形。使用透明边框的特性,通过控制边框的不透明部分来形成所需的扇形形状。为该元素设置一个适当的宽度和高度,以决定三角形的大小。为该元素设置一个适当的宽度和高度,以决定扇形的大小。元素,用于容纳三角形。
2023-09-21 22:01:33
218
原创 hive中的函数
支持的数据库系统包括 Oracle、IBM DB2、Teradata、Microsoft SQL Server、PostgreSQL、MySQL 和 Netezza。| ‘a’ %%||%% ‘b’ %%||%% ‘c’ | ‘abc’ | 字符串 || ‘a’ %%||%% NULL %%||%% ‘c’ | ‘ac’ | 字符串 || ‘a’ %%||%% 1 %%||%% ‘c’ | ‘a1c’ | 字符串 |操作的结果始终为字符串。| NULL %%||%% NULL | NULL | 字符串 |
2023-09-13 22:00:22
261
原创 正则表达式的应用
正则表达式处理问题的基本思路,包括将问题分解成小问题,并逐步构建正则表达式,注意添加断言以确保匹配或提取的准确性。正则表达式不是解决所有问题的唯一方法,应根据具体情况选择使用正则表达式或其他方法。
2023-09-11 23:55:16
679
原创 hive中的索引
当你执行连接操作(如INNER JOIN、LEFT JOIN等)时,如果连接的列有索引,可以显著提高查询性能,因为索引可以减少数据的扫描和比较次数。:索引还可以用于加速范围查询,例如,当你需要在一个范围内检索数据时,可以使用索引来快速定位匹配的行。位图索引是基于位运算的索引,可以用于快速过滤具有有限取值范围的列。子句来查找某个特定的值时,如果有适当的索引,Hive可以快速地定位到匹配的行。:如果你在查询中使用子查询,索引可以提高子查询的性能,从而加速整个查询的执行。是用于存储索引数据的目录。
2023-09-11 21:56:38
409
原创 如何理解slot?slot使用场景有哪些?
最常见的用法是将父组件中的内容插入到子组件中的特定位置,从而实现灵活的组件复用。例如,创建一个通用的模态框组件,然后通过插槽在不同情况下插入不同的标题和内容。
2023-09-11 21:32:46
108
原创 接入OAuth2
OAuth 2.0是一种授权协议,核心是获取和使用访问令牌。授权码许可流程需要引入授权码,既保证安全又实现用户体验。OAuth 2.0也可视为一种委托协议,用户委托第三方软件代表操作。授权码许可流程是OAuth 2.0中最完备、安全的授权方式。使用不当会引发安全问题,需要遵守各项规范细节。需要使用HTTPS保证通信安全。JWT不是OAuth 2.0的组成部分,是对其的扩展。OAuth 2.0提供框架,OIDC在其上实现身份认证。第三方软件和平台方都需提高安全意识,保障OAuth 2.0安全。
2023-09-10 23:41:54
15
原创 OAuth2基础知识
OAuth 2.0是一种授权协议,它的核心是授权许可和令牌机制。它通过颁发访问令牌给第三方,允许第三方代表用户访问该用户的数据,而不是直接给第三方用户名和密码。它主要用来保护Web API接口,第三方只有得到授权和访问令牌后,才能访问API。它实现了第三方软件安全地代表用户访问数据,不会增加安全风险。典型的授权流程包括:用户登录、用户授权、颁发授权码、第三方用授权码换取访问令牌、第三方使用访问令牌获取数据。OAuth 2.0在许多场景中应用,如微信登录其他App、使用微信小程序等。
2023-09-10 22:30:27
133
原创 web3.0涉及的技术
NFTs 是基于区块链技术的数字资产,用于表示和证明数字或实物资产的唯一性、稀缺性和所有权。分布式存储技术还包括分布式数据库系统,如Cassandra、MongoDB、Arweave等,这些系统允许数据在多个节点上分布式存储和检索,提高了数据的可用性和冗余性。区块链是一种分布式账本技术,它可以实现信息的安全、透明、不可篡改的存储和传输。区块链是DAO的基础技术之一。它提供了去中心化的账本,记录了DAO的规则、资产、成员和交易。智能合约是在区块链上执行的自动化合同,它们包含了DAO的规则、操作和决策逻辑。
2023-09-10 15:55:56
797
原创 web3.0的特点、应用和安全问题
开放的技术标准使不同的开发者和组织能够在不同的应用程序和平台之间共享数据和功能,而不受到技术壁垒的限制。相反,数据和服务可以分布在网络的多个节点上,用户可以更自由地访问和共享信息,而不受单一控制点的限制。这可以通过使用开放的数据格式和API(应用程序接口)来实现,使不同的应用程序能够相互协作和共享数据,以提供更丰富的功能。:Web 3.0推崇采用开放的协议,这些协议可以跨越不同的应用程序和网络,以实现更多的互操作性。钓鱼攻击是一种常见的手法,攻击者伪装成信任的实体,诱使用户泄露信息或执行不安全的操作。
2023-09-10 15:14:52
424
原创 hive的语言元素
TIMESTAMP字面量允许使用’YYYY-MM-DD HH:MI:SS.FFF’或’YYYY-MM-DD-HH.MI.SS.FFF’格式的字符串来指定一个时间戳常量。%NOTFOUND 在从游标获取数据之前返回NULL,在最后一次获取时返回//false//,否则返回//true//。%FOUND 在从游标获取数据之前返回NULL,在最后一次获取时返回//true//,否则返回//false//。%ISOPEN 如果游标是打开状态,则返回//true//,否则返回//false//。
2023-09-09 11:50:41
180
原创 map-reduce中的组件
Combiner 是 MapReduce 中的一种优化机制,可以提高 Shuffle 的性能。Combiner 的使用需要注意 Combiner 的输出数据格式、Combiner 的计算逻辑以及 Combiner 的适用场景。ReducerReducer 负责对 Map 阶段输出的分组数据进行聚合。Reducer 是 MapReduce 作业中的用户自定义逻辑,负责将 Map 任务的输出数据聚合成最终结果。对 Map 任务的输出数据进行聚合。将聚合后的结果写入输出文件。
2023-09-09 11:11:17
163
原创 map-reduce执行过程
使用过滤器来过滤掉不必要的数据。使用压缩算法来压缩数据。使用合并分组来减少分组数。使用 Hadoop 的 DistributedCache 机制来缓存常用的数据。使用 Apache Spark 等更高效的计算框架来替代 MapReduce。总体而言,Shuffle 是 MapReduce 中的关键环节,它决定了 MapReduce 的性能。通过优化 Shuffle,可以提高 MapReduce 的性能。
2023-09-09 09:14:58
212
原创 hivesql执行过程
也就是说,hive sql在客户端被编写之后会发送到hive的服务端,服务端首先会对编写的sql进行词法解析和语法解析,检测语法的正确性,然后会对sql进行语义分析,如果语义分析没有问题,则进行下一步sql优化工作,优化工作完毕之后,会生成sql的执行计划,然后最终会生成一系列map reduce任务,从而得到结果。
2023-09-09 08:55:04
679
原创 hive解决了什么问题
也就是说,hive sql通过将sql转换成map reduce任务,使得开发人员可以通过编写sql来替代写map reduce代码,由于sql是通用的,很多数据分析人员都有此技术栈,相对写map reduce代码要容易上手很多。对于同样一个取数需求,hive sql编写方式的不同,会导致Map Reduce任务的创建量不同,所以尽可能编写少的Map Reduce的任务的SQL也是性能优化需要关注的点。
2023-09-09 08:24:40
772
原创 forEach中return会退出循环吗
如果你的代码有跳出循环的操作,最好不要选择foreach循环。在JavaScript中的forEach循环中使用return语句,并不会退出或终止循环,forEach循环会继续执行完剩余的所有迭代。📢 这是一个难得的机会,不要错过!在我们的官方微信公众号上留下你的联系方式,我们的热情HR团队将尽快与你取得联系,提供内推支持。forEach循环中的return语句只会从当前的迭代回调函数中返回,而不会中断整个循环。:在爱数,我们秉承着开放、包容、创新的文化,努力激发每个员工的创造力,让我们一起塑造未来。
2023-09-06 21:42:44
81
原创 你知道Vue 3.0中Treeshaking特性吗?
Vue 3.0引入了Tree-shaking特性,旨在优化构建过程并减小最终生成的代码大小。Tree-shaking是一种在构建时移除未使用代码的技术,通过分析模块的依赖关系,将没有被引用的部分从最终的打包文件中排除掉。这可以大大减少应用的体积,提高性能。举个通俗一点的例子:当我们开发一个应用程序时,会使用各种工具和库来帮助我们构建功能。有时候,这些工具和库可能比我们实际用到的东西要大很多,就像买了一个大箱子,但只用了里面一小部分。
2023-09-06 21:41:58
26
原创 React Portals
React Portals(React 门户)是 React 提供的一种机制,用于将组件渲染到 DOM 树中的不同位置,而不受组件层次结构的限制。它允许你将一个组件的渲染内容“传送”到 DOM 结构中的任何位置,通常用于处理一些特殊的 UI 布局需求,如弹出窗口、模态框、通知框等。React Portals 的主要优势是它可以在组件树中的某一级组件上渲染内容,而不受该组件的父组件或祖先组件的影响。这在处理全局或跨层级的 UI 元素时非常有用,因为它不会破坏组件的层次结构。
2023-09-06 21:41:04
43
原创 react中受控组件与非受控组件
不要在函数组件主体或 class 组件 render 方法中设置 ref,这可能导致 ref 不一致。输入的值通过状态state来控制,onChange 也会更新状态,所以组件受 React 的控制。函数组件没有实例,它的 ref 会在每次渲染时发生变化,可能导致奇怪的 bug。其值由 React 控制的组件,通常使用 state 来控制和修改组件的值。当ref挂载完成后,ref.current会指向对应的组件或DOM元素。当组件重新渲染时,ref 不会自动变化,需要在组件加载和卸载时手动更新。
2023-09-06 21:40:18
476
原创 理解React页面渲染原理,如何优化React性能?
当使用React编写应用程序时,可以使用JSX语法来描述用户界面的结构。JSX是一种类似于HTML的语法,但实际上它是一种JavaScript的扩展,用于定义React元素。React元素描述了我们想要在界面上看到的内容和结构。你使用JSX语法编写React组件的界面结构。JSX语法并不是浏览器原生支持的,所以需要使用工具将JSX代码转换为浏览器可识别的JavaScript代码。通常会使用Babel这样的工具来进行这种转换。是一个用于创建React元素的函数,它接受标签名、属性和子元素作为参数。
2023-09-06 21:39:48
588
1
原创 了解XSS攻击与CSRF攻击
XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络安全漏洞,它允许攻击者在受害者的浏览器上执行恶意脚本。这种攻击通常发生在 web 应用程序中,攻击者通过注入恶意脚本来利用用户对网站的信任,从而在用户的浏览器上执行恶意操作。XSS 攻击可以分为三种主要类型:Stored (持久型) XSS 攻击: 攻击者将恶意脚本存储在服务器上,然后这些脚本被返回给用户,被用户浏览器解释并执行。常见的场景是在用户评论、留言板等地方注入恶意脚本,一旦其他用户访问这些内容,就可能受到攻击。
2023-09-06 21:39:04
206
原创 你使用过websocket吗?
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它的出现是为了解决 Web 应用中实时通信的需求。传统的 HTTP 协议是基于请求-响应模式的,即客户端发送请求,服务器响应请求,然后连接关闭。然而,有些场景需要保持长时间的连接,以实现实时性较高的数据交换,这就是 WebSocket 出现的背景。全双工通信:WebSocket 允许客户端和服务器在连接建立后双向传输数据,不像传统的 HTTP 请求-响应模式那样需要等待服务器的响应。持久连接。
2023-08-31 17:00:08
446
原创 前端性能优化
性能优化这个问题,在面试的过程中问道的概率还挺大的,特别是对有前端开发经验的面试者来说,基本会被面试官问道关于性能优化的问题。但是在我们做项目的过程中,可能业务比较简单,并没有复杂到需要专门去优化的程度,复杂的业务呢,可能也优化不动。在被问到时可能会被问住(根本不需要优化…)。但是性能优化确实是值得关注的问题,并不是业务复杂到某种程度才去专门做优化。我觉得在平时的编码过程中有良好的习惯,时刻想着怎么写能更好一点,也能达到一种优化的作用。
2023-08-31 16:51:43
276
原创 浏览器环境与BOM
当用户在网页上进行各种操作(例如点击、输入、滚动等)时,浏览器会生成相应的事件,使开发者能够捕获这些事件并执行特定的操作。当事件触发时,浏览器会创建一个事件对象,其中包含关于事件的信息。事件首先在最外层的父元素上触发捕获阶段的事件,然后再在目标元素上触发事件,最后在父元素上触发冒泡阶段的事件。是浏览器对象模型(BOM)中常用的功能,用于在预定的时间间隔执行一段代码。虽然不是严格的 BOM 对象,但它们是 Web Storage API 的一部分,在浏览器端存储键值对数据,分别在本地会话中和持久性存储中。
2023-08-31 16:51:10
49
原创 函数式编程
函数式编程是一种编程范式,它强调将计算过程视为数学函数的组合和转换,而不是通过改变状态和数据的操作来实现程序的功能。函数用于对数组的每个元素进行映射,生成一个新的数组,新数组的元素是根据映射函数返回的值。高阶函数是函数式编程中的一个重要概念,它指的是能够接受一个或多个函数作为参数,并且/或返回一个函数的函数。函数组合可以通过将一个函数的输出作为另一个函数的输入来实现,创建一系列操作的管道。高阶函数是接受一个或多个函数作为参数,并/或返回一个函数的函数。它们违反了纯函数的特性,因为它们改变了函数外部的状态。
2023-08-31 16:50:24
68
原创 层叠上下文、层叠顺序
层叠上下文(Stacking Context)是指在 HTML 和 CSS 中,用于控制和管理元素层叠顺序以及呈现的一种机制。在一个网页中,许多元素(例如文本、图像、背景等)可能会重叠在一起,这时候就需要一种方法来决定哪个元素应该显示在前面,哪个元素应该显示在后面。层叠上下文的原则是通过一系列的规则来确定元素的层叠顺序,这些规则可以根据元素的属性、内容、位置等来决定。每个层叠上下文都是一个独立的层叠环境,元素在不同的层叠上下文中可以相互叠加,但不会影响到其他上下文中的元素。
2023-08-26 21:53:43
149
原创 浅谈Fetch API
Fetch API 是一种现代的 JavaScript API,用于进行网络请求和处理响应数据。它提供了一种更简单和更灵活的方式来执行网络请求,取代了传统的 XMLHttpRequest(XHR)。Fetch API 使用 Promise 对象进行异步操作的处理。这使得处理异步操作变得更加直观和易于管理。Fetch API 的语法更加清晰和简洁,可以通过链式调用来定义请求的各个参数。Fetch API 允许您创建请求对象并设置请求头、请求方法、请求体等参数。
2023-08-26 21:53:09
130
原创 JavaScript如何实现数据的深拷贝、浅拷贝?
说到深浅拷贝就得提起JavaScript中的数据类型之前的文章中有介绍过,这里就不再细说了。浅拷贝:对基本数据类型进行值复制,对引用数据类型复制引用地址。浅拷贝会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果拷贝的是像对象这样的引用对象,那么浅拷贝会复制引用指向堆内存地址,因此源对象和拷贝对象会共享属性。深拷贝:对基本数据类型进行值复制,对引用数据类型递归复制。深拷贝会另外创造一个一摸一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。// 原始对象a: 1,
2023-08-24 22:27:02
162
原创 垃圾回收机制
内存泄漏是指程序中已经不再使用的内存却没有被正确释放或回收的情况。在编程中,当对象或数据不再被程序使用,但其所占用的内存空间没有被垃圾回收机制回收,就会导致内存泄漏。内存泄漏可能会导致程序的内存消耗不断增加,最终导致程序的性能下降、崩溃或不稳定。在长时间运行的应用中,内存泄漏可能会导致严重的问题,因此及早识别和修复内存泄漏是非常重要的。当程序使用了一些系统资源(如文件句柄、网络连接等),但在使用完后没有显式地释放这些资源,就会导致内存泄漏。
2023-08-24 22:25:28
239
1
原创 124-二叉树中的最大路径和
问题描述:给定一个二叉树,每个节点包含一个整数值,路径被定义为节点序列,序列中每对相邻节点之间都存在一条边。求这棵二叉树中,路径和最大的路径的和。递归过程中,我们可以计算每个节点的最大路径和,并在递归的同时更新全局最大路径和。为了避免路径和为负的子路径对结果产生负影响,如果子路径和为负,我们选择不经过该子路径。解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6。表示左子树的最大路径和,
2023-08-21 09:54:14
35
原创 132-分割回文串 II
要求将字符串分割成一些子串,使每个子串都是回文。返回使得分割次数最少的情况下,能够将字符串。解释:只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。这个问题可以使用动态规划来解决。个字符到末尾的子串的最少分割次数。返回符合要求的 最少分割次数。分割成回文子串的最少分割次数。问题描述:给定一个字符串。输入:s = “aab”s 仅由小写英文字母组成。输入:s = “ab”输入:s = “a”
2023-08-21 09:53:27
31
原创 140-单词拆分 II
给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。输入:s = “catsanddog”, wordDict = [“cat”,“cats”,“and”,“sand”,“dog”]输入:s = “catsandog”, wordDict = [“cats”,“dog”,“sand”,“and”,“cat”]中增加空格来构建句子,使得句子中所有的单词都在词典。注意:词典中的同一个单词可能在分段中被重复使用多次。
2023-08-21 09:52:55
24
原创 174-地下城游戏
其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的值为正整数,则表示骑士将增加健康点数)。问题描述:地下城由一个m x n的网格组成,骑士从左上角出发,必须通过对抗恶魔来拯救公主,目标是找到骑士进入地下城所需的最低初始健康点数。注意:任何房间都可能对骑士的健康点数造成威胁,也可能增加骑士的健康点数,包括骑士进入的左上角房间以及公主被监禁的右下角房间。输入:dungeon = [[-2,-3,3],[-5,-10,1],[10,30,-5]]骑士的初始健康点数为一个正整数。
2023-08-21 09:49:22
941
Struts笔记
2019-03-21
java 实现的二叉树前序建树,中序建树,后序建树以及前序遍历,中序遍历和后序遍历的代码
2022-01-20
11_WEB2.0启发式爬虫实战_猪猪侠.pdf
2020-09-17
ubuntu 搭建 php7.*的生产环境的php.ini的demo
2019-07-17
numpy攻略 python科学计算与数据分析 高清 电子书 pdf 下载 sample.pdf
2019-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人