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

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

相关文章

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F