前端需要知道的知识点,附有链接

2024-04-22 17:12

本文主要是介绍前端需要知道的知识点,附有链接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关系型数据库和非关系型数据库的区别有哪些?

区别:关系型数据天然就是表格式的,因此存储在数据表的行和列中;数据表可以彼此关联协作存储,也很容易提取数据。而非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起;非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织

优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。

优点:

1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。

缺点:

1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。

shadow-root

https://www.cnblogs.com/yf2196717/p/14732459.html

微前端系列 - js隔离、样式隔离、元素隔离问题

https://juejin.cn/post/7134178779349385247

webComponent,shadowDom,js沙箱隔离,iframe简介

https://blog.csdn.net/zhangsuren1/article/details/135462566

  • 总之,shadow-root是Chrome浏览器中的一种新的DOM节点,它可以被用来创建一个独立的DOM树,这个独立的DOM树可以被用来构建一个独立的组件,而不会影响到其他的DOM节点。它可以被用来控制组件的样式、行为、交互和数据,从而使组件可以更加灵活和可扩展。

  • 总结:iframe隔离是独立的文档环境,shadowDom是封装在shadowRoot内部,scoped是加了一层变量作用域,而qiankun则是通过shadowDom配合像那种proxy去代理window对象来达到让沙盒内部代码优先原则,同时在子组件里配置的bootStrap,mount,unmount钩子函数,来恢复快照的方式去实现样式隔离的,状态快照会在bootStrap阶段去保存,一份是原来的一份是内部改变之后的,当再次进入沙盒或者退出沙盒都可以减少性能消耗了,非常的方便。

微前端wujie、qiankun、micro-app、EMP 方案比较

  • 无界微前端采用 webcomponent + iframe 的来加载子应用,具有成本低、速度快、原生隔离、功能强大等一系列优点,在满足用户核心诉求的同时让使用微前端的体验就像使用普通组件一样简单,极大的降低了使用门槛。
  • micro-app 是基于 webcomponent + qiankun sandbox 的微前端方案。
  • qiankun 方案是基于 single-spa 的微前端方案。
  • https://blog.csdn.net/weixin_43832782/article/details/128929191

react跟vue的diff算法有什么区别

https://www.php.cn/faq/491018.html

react跟vue的区别(纯是作者想的哈)

本人使用下来觉的,在使用层面其实以及大差不差了,要说原理上,底层还是有点小小的区别的(我这里就不多描述了,react原理理解不透彻)。
vue2, html script data method style (视图,逻辑,数据,方法,样式,声明周期等)都是分开的,逻辑不集中;但其实如果组件逻辑重了的话都会拆组件的,每个组件不会超过300行代码。其实写代码规范一下的话都好说
vue3,增加了hook的写法,就是数据和逻辑声明周期都可以一起写了(直接声明直接用,而不是像vue2中在return内的data内写),集中了一下。 现在就是 html 逻辑 样式,三大块(但是哈 html内要是直接想使用script内的数据,还是还是要return出来才可以使用)
vue3.2 setup 增加了语法糖,已经不需要写return。使用下来的感觉就是 script声明的变量 在html可以直接用;像不像是在一个作用域中,没有那种割裂的感觉了,是不是感觉除了有html和script标签的(有标签看起来还节俭一些)其他的都像在一起写的感觉。目前就是两大块 (逻辑,样式)

react 用的jsx的语法,一种都是(逻辑,样式)两大块,其中html内的循环啊,判断啊都是通过js来直接写的map,if等,vue是通过指令来写的(这方面比较好);样式其实也可在script内写,但是没必要,因为style 样式有点多哈,还多了一些多余的代码,完全没有style好用

vite和vuecli区别

Vite和Vue CLI的主要区别在于它们的实现原理、开发环境启动速度、构建速度、依赖关系分析、插件系统和配置灵活性。以下是详细介绍:12

实现原理。Vite是一个基于ESModule的构建工具,利用原生ESModule的特性,将每个文件作为一个模块,通过浏览器去解析和执行,无需提前打包。Vue CLI是一个基于Webpack的工具,使用Webpack对代码进行打包,并提供静态资源服务。
开发环境启动速度。Vite利用浏览器的原生ESModule支持,实现快速的冷启动和热模块替换(HMR),开发环境启动速度较快。Vue CLI在开发环境下基于对源码文件进行打包,启动速度相对较慢。
构建速度。Vite的构建速度通常较快,因为它避免了传统的打包过程。Vue CLI的构建速度较慢,因为它需要使用Webpack对代码进行打包。
依赖关系分析。Vite可以更细粒度地分析依赖关系,实现按需加载,减小构建体积。Vue CLI通过Webpack的解析器分析依赖关系。
插件系统。Vite使用了Rollup作为其构建引擎,与Vue CLI使用的Webpack不同,导致在插件系统上有所差异。Vue CLI的插件系统更加丰富和成熟。
配置灵活性。Vite的配置相对简单,适用于快速原型开发和小型项目。Vue CLI支持通过配置文件进行灵活的定制,适用于中大型的Vue.js应用程序。

webpack热更新原理

1.Webpack监听文件变化
  Webpack使用文件系统通知(如Node.js的fs.watch或fs.watchFile)来监视项目文件的更改。

2.重新编译模块
  当Webpack检测到文件发生变化时,它会重新编译受影响的模块。

3.构建新模块版本
  重新编译的模块与先前的版本进行比较,并构建新的模块版本。

4.通知更新
  Webpack通过WebSocket或轮询机制将新的模块版本通知给运行时环境。

5.应用更新
  运行时环境接收到新的模块版本后,将其应用于当前运行的应用程序,保持应用程序状态,并更新显示。

什么是线程、进程?

线程是程序执行的最小单位,是进程的一个执行流,一个进程由多个线程组成的。

这篇关于前端需要知道的知识点,附有链接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926372

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧