​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​

1. 请尽可能详细地说明,进程和线程的区别,分别有哪些应用场景?进程间如何通信?线程间如何通信?你的回答中不要写出示例代码。

进程和线程是操作系统中的两个基本概念,它们在计算机系统中扮演着不同的角色,并且在不同的应用场景中发挥作用。

进程和线程的区别

  1. 定义

    • 进程:进程是操作系统进行资源分配和调度的基本单位。每个进程都有独立的内存空间和系统资源。
    • 线程:线程是进程内的一个执行单元,是操作系统进行调度的最小单位。一个进程可以包含多个线程,这些线程共享进程的内存空间和系统资源。
  2. 资源占用

    • 进程:创建和销毁进程需要较多的系统资源,进程间的切换开销较大。
    • 线程:创建和销毁线程的开销较小,线程间的切换开销也较小。
  3. 内存空间

    • 进程:每个进程都有独立的内存空间,进程间的内存是隔离的。
    • 线程:同一进程内的所有线程共享同一内存空间,线程间可以方便地访问共享数据。
  4. 通信方式

    • 进程:进程间通信(IPC)通常需要操作系统提供的机制,如管道、消息队列、共享内存、信号量等。
    • 线程:线程间通信相对简单,可以直接访问共享内存,也可以使用一些同步机制,如互斥锁、条件变量等。
  5. 稳定性

    • 进程:一个进程崩溃不会影响其他进程,进程间的隔离性较好。
    • 线程:一个线程崩溃可能会导致整个进程崩溃,线程间的耦合性较高。

应用场景

进程的应用场景
  1. 独立任务:当需要执行独立的任务,且这些任务之间不需要频繁的通信和数据共享时,使用进程可以更好地隔离和管理资源。
  2. 安全性要求高:进程间的隔离性较好,适合处理对安全性要求较高的任务。
  3. 并发处理:当需要同时执行多个独立的任务,且这些任务的资源需求较大时,使用进程可以提高系统的并发处理能力。
线程的应用场景
  1. 并发任务:当需要在同一进程中执行多个并发任务,且这些任务之间需要频繁的通信和数据共享时,使用线程可以提高效率和性能。
  2. 实时性要求高:线程间的切换开销较小,适合处理对实时性要求较高的任务。
  3. 资源共享:当多个任务需要共享同一组资源时,使用线程可以方便地实现资源共享和同步。

进程间通信(IPC)

进程间通信的方式有很多种,常见的包括:

  1. 管道(Pipe):一种半双工的通信方式,适用于有亲缘关系的进程间通信。
  2. 消息队列(Message Queue):进程可以将消息发送到队列中,其他进程可以从队列中读取消息。
  3. 共享内存(Shared Memory):多个进程可以共享同一块内存区域,通过读写共享内存来传递信息。
  4. 信号量(Semaphore):用于进程间的同步,控制对共享资源的访问。
  5. 信号(Signal):一种简单的通信方式,用于通知进程某个事件的发生。
  6. 套接字(Socket):适用于不同主机间的进程通信,支持跨网络的通信。

线程间通信

线程间通信相对简单,常见的方法包括:

  1. 共享内存:同一进程内的线程共享同一内存空间,可以直接访问和修改共享数据。
  2. 互斥锁(Mutex):用于保护共享资源,防止多个线程同时访问导致的数据竞争问题。
  3. 条件变量(Condition Variable):用于线程间的同步,允许线程等待某个条件的发生。
  4. 信号量(Semaphore):同样适用于线程间的同步,控制对共享资源的访问。
  5. 原子操作:一些基本的操作可以保证原子性,避免多线程环境下的数据竞争问题。

通过理解进程和线程的区别及其应用场景,开发者可以更好地选择合适的并发模型,优化程序的性能和稳定性。

2. 请尽可能详细地说明,JS为什么是单线程,如何实现多线程,有什么作用?你的回答中不要写出示例代码。

JavaScript 之所以被设计为单线程,主要是为了避免多线程编程中常见的并发问题,如竞态条件(race conditions)和死锁(deadlocks)。单线程模型简化了代码的执行和调试,使得开发者可以更容易地理解和预测程序的行为。

为什么 JavaScript 是单线程

  1. 简化编程模型:单线程模型避免了多线程编程中的复杂性,如线程同步、锁机制和竞态条件等问题。这使得 JavaScript 代码更易于编写、理解和维护。
  2. 避免并发问题:多线程编程中,多个线程同时访问和修改共享资源时,可能会导致数据不一致和竞态条件。单线程模型消除了这些问题,确保了代码的执行顺序和结果的可预测性。
  3. 浏览器环境:JavaScript 最初是为浏览器设计的,浏览器的渲染引擎也是单线程的。为了保证渲染的一致性和避免并发问题,JavaScript 也被设计为单线程。

如何实现多线程

尽管 JavaScript 是单线程的,但现代 JavaScript 环境提供了一些机制来实现类似多线程的效果:

  1. Web Workers

    • Web Workers 允许在后台线程中运行 JavaScript 代码,不会阻塞主线程的执行。Web Workers 之间以及与主线程之间可以通过消息传递进行通信。
    • Web Workers 适用于执行计算密集型任务,如数据处理、图像处理等,从而避免阻塞主线程,提高页面的响应性能。
  2. Service Workers

    • Service Workers 主要用于实现离线缓存、推送通知和背景数据同步等功能。它们运行在独立的线程中,不会影响主线程的执行。
    • Service Workers 可以提高应用的性能和可靠性,特别是在网络不稳定或离线情况下。
  3. SharedArrayBuffer 和 Atomics

    • SharedArrayBuffer 允许在多个 Web Workers 和主线程之间共享内存。Atomics 提供了一组原子操作,用于在共享内存上进行安全的并发访问。
    • 结合使用 SharedArrayBuffer 和 Atomics,可以实现更复杂的多线程编程模型,但需要开发者手动管理线程同步和数据一致性。

多线程的作用

  1. 提高性能

    • 通过将计算密集型任务移到后台线程,可以避免阻塞主线程,提高页面的响应性能和用户体验。
    • 多线程可以充分利用多核处理器的计算能力,提高程序的执行效率。
  2. 实现并发操作

    • 多线程允许同时执行多个任务,从而实现并发操作。这对于需要同时处理多个请求的应用(如服务器端应用)尤为重要。
    • 并发操作可以提高系统的吞吐量和资源利用率。
  3. 改善用户体验

    • 在浏览器环境中,多线程可以确保主线程的流畅运行,避免因长时间计算任务导致的页面卡顿。
    • 通过将耗时任务移到后台线程,可以保持用户界面的响应性,提高用户体验。

总的来说,尽管 JavaScript 是单线程的,但通过 Web Workers、Service Workers 和 SharedArrayBuffer 等机制,可以实现类似多线程的效果,从而提高程序的性能和用户体验。

3. 请尽可能详细地说明,TCP与UDP的区别,分别有哪些应用场景?为什么音视频通常使用UDP?如果TCP连接后,客户端突然消失,服务端的TCP会怎么样,还会有四次挥手吗?你的回答中不要写出示例代码。

TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常用的传输层协议,它们在数据传输的可靠性、速度和连接方式等方面有很大的区别。

TCP与UDP的区别

  1. 连接方式

    • TCP:面向连接的协议,传输数据之前必须先建立连接。TCP 连接是双向的、可靠的。
    • UDP:无连接的协议,传输数据之前不需要建立连接。UDP 数据包是独立发送的,不保证数据包的顺序和可靠性。
  2. 可靠性

    • TCP:提供可靠的数据传输服务,确保数据包按顺序到达,并且没有丢失或重复。TCP 使用确认机制、重传机制和流量控制来保证数据的可靠性。
    • UDP:不保证数据包的可靠传输,数据包可能会丢失、重复或乱序到达。UDP 不提供确认机制和重传机制。
  3. 传输速度

    • TCP:由于需要进行连接建立、数据确认和流量控制等操作,TCP 的传输速度相对较慢。
    • UDP:由于没有连接建立和数据确认的开销,UDP 的传输速度较快。
  4. 数据包大小

    • TCP:TCP 数据包的大小没有限制,但实际传输的数据大小受限于最大传输单元(MTU)和网络条件。
    • UDP:UDP 数据包的大小有限制,通常最大为 64KB。
  5. 流量控制和拥塞控制

    • TCP:提供流量控制和拥滞控制机制,确保网络不会因为数据传输过快而拥塞。
    • UDP:不提供流量控制和拥塞控制机制,数据包的发送速率不受限制。

应用场景

TCP 的应用场景
  1. 网页浏览:HTTP/HTTPS 协议基于 TCP,确保网页内容的可靠传输。
  2. 电子邮件:SMTP、POP3 和 IMAP 协议基于 TCP,确保邮件的可靠传输。
  3. 文件传输:FTP 协议基于 TCP,确保文件的可靠传输。
  4. 数据库连接:数据库连接通常使用 TCP,确保数据查询和更新的可靠传输。
UDP 的应用场景
  1. 音视频传输:音视频数据通常对实时性要求较高,可以容忍一定的数据丢失,但不允许较大的延迟。UDP 的快速传输特性使其适合音视频传输。
  2. 在线游戏:在线游戏需要实时交互,对延迟敏感,UDP 的低延迟特性使其适合在线游戏。
  3. 实时通信:如 VoIP(Voice over IP)和视频会议,这些应用需要实时传输数据,UDP 的快速传输特性使其适合实时通信。
  4. 广播和多播:UDP 支持广播和多播,适合需要向多个接收者发送相同数据的场景。

音视频通常使用 UDP 的原因

音视频传输对实时性要求较高,UDP 的快速传输特性使其适合这种应用场景。具体原因如下:

  1. 低延迟:UDP 不需要建立连接和进行数据确认,传输速度快,适合实时音视频传输。
  2. 容忍数据丢失:音视频数据可以通过压缩和错误恢复技术来容忍一定的数据丢失,而不影响用户体验。
  3. 减少网络拥塞:UDP 不提供流量控制和拥塞控制机制,可以减少网络拥塞的可能性,提高传输效率。

TCP 连接后客户端突然消失的情况

如果 TCP 连接建立后,客户端突然消失(如客户端断电或网络中断),服务端的 TCP 会发生以下情况:

  1. 服务端会等待客户端的确认:服务端会继续发送数据,并等待客户端的确认(ACK)。
  2. 超时重传:如果在一定时间内没有收到客户端的确认,服务端会进行超时重传。
  3. 四次挥手:如果服务端在一定时间内多次重传数据仍未收到确认,服务端会认为客户端已经断开连接,并开始进行四次挥手过程,关闭连接。

四次挥手的过程如下:

  1. 服务端发送 FIN 包:服务端发送一个 FIN 包,表示自己没有数据要发送了。
  2. 客户端回复 ACK 包:客户端收到 FIN 包后,回复一个 ACK 包,表示已经收到服务端的关闭请求。
  3. 客户端发送 FIN 包:客户端发送一个 FIN 匞性,表示自己也没有数据要发送了。
  4. 服务端回复 ACK 包:服务端收到客户端的 FIN 包后,回复一个 ACK 包,表示已经收到客户端的关闭请求,连接关闭。

总的来说,TCP 的可靠性和连接机制确保了数据传输的完整性和顺序性,但在客户端突然消失的情况下,服务端会通过超时重传和四次挥手机制来处理连接的关闭。

4. 请尽可能详细地说明,Websocket是什么,与http的关系是什么?为什么http采用TCP?你的回答中不要写出示例代码。

Websocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许服务器主动向客户端推送信息,客户端也可以随时向服务器发送信息,实现了真正的双向实时通信。而 HTTP 是一种基于请求/响应模式的协议,它通常用于在 Web 上传输文件和数据,但在需要实时交互的场景中,HTTP 的单向性限制了其应用。

Websocket 与 HTTP 的关系

  • 相同点:Websocket 和 HTTP 都是基于 TCP 的应用层协议,确保了数据的可靠传输。
  • 不同点:HTTP 是单向的,客户端发起请求,服务器响应。而 Websocket 是双向的,允许服务器和客户端之间实时双向通信。
  • 联系:Websocket 在建立连接时使用了 HTTP 的握手过程,但一旦连接建立,通信就转向了 WebSocket 协议。

HTTP 采用 TCP 的原因

  • 可靠性:TCP 提供面向连接的服务,确保数据包按顺序到达且无丢失。这对于 HTTP 传输网页、图片、视频等数据至关重要。
  • 连接管理:TCP 提供了连接建立、数据传输和断开连接的管理机制,适合 HTTP 协议的需求。
  • 错误恢复:TCP 的错误检测和重传机制保证了数据传输的可靠性,适用于 HTTP 协议对数据完整性的要求。

总的来说,Websocket 和 HTTP 之间的关系以及 HTTP 采用 TCP 的原因,都是基于对网络通信可靠性、连接管理和实时性的需求。Websocket 作为 HTTP 的补充,提供了实时双向通信的能力,而 HTTP 采用 TCP 作为其底层协议,确保了数据传输的可靠性和稳定性。

5. 请尽可能详细地说明,前端如何实现长列表懒加载,有哪些方法?你的回答中不要写出示例代码。

前端实现长列表懒加载主要通过延迟加载非可视区域的数据,以优化页面加载速度和提升用户体验。以下是几种常见的方法及其简要说明:

懒加载

  • 原理:懒加载的基本原理是通过监测用户滚动行为,当数据进入可视区域时再加载。这种方法适用于图片、视频等媒体内容的加载。
  • 实现方式:使用Intersection Observer API来监测元素是否进入可视区域,从而决定何时加载数据。

虚拟滚动

  • 原理:虚拟滚动通过只渲染可视区域内的数据项来减少DOM节点数量,从而提高性能。它通过模拟滚动效果,使得用户可以在不加载整个列表的情况下浏览内容。
  • 实现方式:维护一个虚拟列表,其中只渲染当前可视区域的数据项。当用户滚动时,动态更新可视区域的内容,并相应地调整DOM节点。

分页加载

  • 原理:分页加载将长列表分成多个小部分,每次只加载用户当前需要查看的部分。这种方法通过将数据分块加载,避免了一次性加载所有数据导致的性能问题。
  • 实现方式:在用户滚动到列表底部时,触发加载下一页数据的操作。

无限滚动

  • 原理:无限滚动与分页加载类似,但在用户滚动到列表底部时,无限滚动会不断加载更多数据,从而实现无限浏览的效果。
  • 实现方式:监听滚动事件,当用户滚动到列表底部时,动态加载并显示更多数据。

通过这些方法,前端可以有效地实现长列表的懒加载,从而提高页面加载速度和用户体验。

6. 请尽可能详细地说明,Vue中怎么实现一个类似文本输入框v-model的双向绑定的自定义组件?React呢?你的回答中不要写出示例代码。

在Vue和React中实现类似文本输入框v-model的双向绑定自定义组件,需要理解这两个框架中状态管理和组件通信的机制。

Vue中实现自定义组件的双向绑定

在Vue中,v-model是一个语法糖,用于在表单控件或组件上创建双向数据绑定。要在自定义组件上实现类似的功能,你需要做以下几步:

  1. 定义Props:在自定义组件中定义一个prop,用于接收外部传入的值。
  2. 监听Input事件:在组件内部,监听input事件,并在事件触发时,通过$emit方法向外发送一个事件,同时携带新的值。
  3. 使用v-model:在使用自定义组件的父组件中,使用v-model指令绑定数据到自定义组件的prop上。

通过这种方式,Vue会自动处理父子组件之间的数据同步,实现双向绑定。

React中实现自定义组件的双向绑定

在React中,没有直接的v-model概念,但可以通过以下步骤实现类似的双向绑定:

  1. 定义State:在自定义组件中定义state,用于存储组件的当前值。
  2. 处理onChange事件:在组件内部,定义一个onChange事件处理器,用于更新state中的值。
  3. 提供Value属性:通过props将父组件的值传递给自定义组件,并作为value属性。
  4. 暴露onChange回调:提供一个onChange回调函数,当组件内部状态改变时,调用此回调函数,通知父组件更新其状态。

在父组件中,你需要同时管理状态,并通过props将状态和状态更新函数传递给自定义组件。这样,当自定义组组件内部状态改变时,它会调用父组件传递的onChange函数,从而更新父组件的状态,实现双向绑定。

通过上述方法,Vue和React都可以实现自定义组件的双向数据绑定,尽管它们的实现机制和语法有所不同。

7. 请尽可能详细地说明,Vue组件的通信方式有哪些?你的回答中不要写出示例代码。

Vue组件的通信方式多种多样,主要包括以下几种:

1. 父子组件通信

通过Props传递数据
  • 父组件通过props向子组件传递数据。子组件通过定义props接收父组件传递的数据。
通过事件传递数据
  • 子组件通过自定义事件向父组件传递数据。子组件使用$emit方法触发事件,并传递数据。父组件通过监听该事件来接收数据。

2. 兄弟组件通信

通过共同的父组件传递数据
  • 兄弟组件可以通过它们共同的父组件进行通信。父组件作为中介,接收一个子组件的数据并通过props传递给另一个子组件。
使用Event Bus
  • 创建一个全局的Event Bus(事件总线),兄弟组件通过这个Event Bus进行通信。一个组件通过Event Bus触发事件并传递数据,另一个组件通过监听该事件来接收数据。

3. 跨层级组件通信

使用Provide / Inject
  • 祖先组件通过provide选项提供数据,后代组件通过inject选项注入这些数据。这种方式可以实现跨多层级的组件通信。
使用Vuex
  • Vuex是Vue的状态管理库,适用于管理应用中的全局状态。任何组件都可以通过Vuex的store来读取和修改状态,从而实现跨层级组件的通信。

4. 非父子组件通信

使用Event Bus
  • 如前所述,Event Bus可以用于非父子组件之间的通信。通过创建一个全局的Event Bus,任何组件都可以通过它来触发和监听事件。
使用Vuex
  • Vuex同样适用于非父子组件之间的通信。通过集中管理应用的状态,任何组件都可以通过Vuex来共享和同步状态。

5. 组件内部通信

使用Ref
  • 父组件可以通过ref属性获取子组件的实例,从而直接调用子组件的方法或访问其数据。
使用 a t t r s 和 attrs和 attrslisteners
  • $attrs包含了父作用域中不作为prop被识别(且获取)的属性绑定(class和style除外)。$listeners包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器。它们可以用于组件内部的通信和事件传递。

通过这些通信方式,Vue提供了灵活多样的组件间通信机制,开发者可以根据具体的场景选择最合适的方式进行组件间的数据传递和交互。

8. 请尽可能详细地说明,前后端交互的token有哪些种类,比如JWT?你的回答中不要写出示例代码。

在前后端交互中,Token作为一种身份验证和授权机制,有多种不同的实现方式。其中,JWT(JSON Web Token)是一种广泛使用的Token类型。以下是Token的种类及其相关介绍:

Token的种类

  • Session Token:服务器端生成,与用户会话相关联,通常存储在服务器端或客户端的Cookie中。
  • JSON Web Token (JWT):一种自包含的Token,包含用户信息和签名,用于身份验证和授权。
  • OAuth 2.0 Access Token:用于访问受保护的资源,通常通过OAuth 2.0协议发放。
  • Refresh Token:用于在Access Token过期后重新获取新的Access Token。

JWT的工作原理

  • 组成部分:JWT由三部分组成,分别是Header(头部)、Payload(载荷)和Signature(签名)。
  • 生成过程:用户登录成功后,服务器生成JWT,包含用户的身份信息和一个签名,以确保Token的完整性和安全性。
  • 传输和验证:客户端在每次请求时将JWT放在Authorization头中,服务器验证Token的签名和有效期。

JWT的安全性

  • 数字签名:JWT使用数字签名确保Token在传输过程中不被篡改。
  • 无状态性:服务器不需要存储会话信息,提高了系统的可扩展性。

JWT的优缺点

  • 优点:简洁和自包含,安全性高,性能好,可扩展性强,支持无状态和跨域认证。
  • 缺点:如果密钥泄露,Token容易被伪造;需要小心处理Token的存储和传输,以防止安全漏洞。

通过上述分析,我们可以看到JWT作为一种前后端交互的Token类型,提供了强大的身份验证和授权功能,同时也存在一些需要注意的安全问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/424620.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GIS在线监测SF6密度微水传感器免焊接格兰头航插插头

概述 GIS(气体绝缘金属封闭开关设备)中的SF6(六氟化硫)气体密度微水传感器航插技术是指在GIS设备中安装SF6气体密度和微水传感器,以实现对SF6气体状态的在线监测。这些传感器能够实时监测SF6气体的密度、微水含量以及其…

Acrobat 9 安装教程

软件介绍 Adobe Acrobat 是由Adobe公司开发的一款PDF(Portable Document Format,便携式文档格式)编辑软件。借助它,可以以PDF格式制作和保存文档,以便于浏览和打印,同时还可以使用一些高级工具来创建、编辑…

CSS—4

1.定位 1.相对定位 2.绝对定位 3.固定定位 4.粘性定位 5.定位的特殊应用 2.布局-版心 3.布局-常用布局名词 4.布局-重置默认样式

PCIe进阶之TL:Memory, I/O, and Configuration Request Rules TPH Rules

1 Memory, I/O, and Configuration Request Rules 下述规则适用于 Memory 请求、IO 请求和配置请求。 除了公共的 header 字段外,所有 Memory 请求、IO 请求和配置请求还包括以下字段: (1)Requester ID[15:0] 和 Tag[9:0],组成了 Transaction ID 。 (2)Last DW BE[3:0]…

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想&#xff…

基于AutoDL部署langchain-chatchat-0.3.1实战

一、租用AutoDL云服务器,配置环境 1.1 配置AutoDL环境 注册好autodl账户之后,开始在上面租服务器,GPU我选择的是RTX4090*2,西北B区,基础镜像选择的是Pytorch-2.3.0-python-3.12(ubuntu22.04)-…

SAP Fiori UI5-环境搭建-2022-2024界面对比

文章目录 一、Fiori项目初始化实际操作第一步:新建文件夹(项目文件)第二步:打开我们项目第三步:打开终端 部署环境第四步: XML中新增文本 二、 2023年Vscode中Fiori界面三 、2024年Vscode中Fiori界面 一、Fiori项目初始…

PHP仓库物资出入库管理系统小程序源码

仓库物资出入库管理系统:让库存管理变得井井有条 **📦 开篇:告别混乱,拥抱智能库存时代 还在为仓库里堆积如山的物资和繁琐的出入库记录而头疼吗?是时候告别那些混乱的日子了!“仓库物资出入库管理系统”应…

Android平台RTMP|RTSP播放器如何回调YUV或RGB数据?

技术选型 我们知道,Android平台一般RTMP|RTSP播放器通常不直接提供回调YUV或RGB数据的功能。如果播放端有视觉分析或类似的需求,需要播放端,能支持YUV或ARG的数据回调,一般来说,可参考的方法如下: 1. 使用…

MacOS Catalina 从源码构建Qt6.2开发库之01: 编译Qt6.2源代码

安装xcode, cmake, ninja brew install node mac下安装OpenGL库并使之对各项目可见 在macOS上安装OpenGL通常涉及到安装一些依赖库,如MGL、GLUT或者是GLEW等,同时确保LLVM的OpenGL框架和相关工具链的兼容性。以下是一个基本的安装…

linux 定时将固态硬盘数据备份至机械硬盘

需求背景 为了加强公司数据的安全性和可靠性,我们将实施一项数据备份策略。该策略涉及将服务器上的固态硬盘(SSD)中的关键数据定期备份到机械硬盘(HDD)上。这一过程旨在保护数据免受意外删除、硬件故障或其他潜在风险…

数组及使用方法

1. 数组 数组是由相同类型的数据元素构成的有限集合。数组是顺序存储方式,存储在连续内存空间中,可以通过下标直接存取元素。 数组的下标从0开始,第3个元素的下标为2,第3个元素为vec[2],如图所示。 在第3个元素之前插入一个元素9,需要从最后一个元素开始,后移一位,……

Element UI:初步探索 Vue.js 的高效 UI 框架

Element UI:初步探索 Vue.js 的高效 UI 框架 一 . ElementUI 基本使用1.1 Element 介绍1.2 Element 快速入门1.3 基础布局1.4 容器布局1.5 表单组件1.6 表格组件1.6.1 基础表格1.6.2 带斑马纹表格1.6.3 带边框表格1.6.4 带状态的表格 1.7 导航栏组件讲解 二 . 学生列…

【CSS in Depth 2 精译_031】5.3 Grid 网格布局的两种替代语法

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…

Vue生命周期;Vue路由配置;vue网络请求;vue跨域处理

一&#xff0c;Vue生命周期 <template><div > <h1 click"changeText">{{ info }}</h1></div> </template><script> export default {name: HelloWorld,data(){return{info:"介绍组件生命周期"}},methods:{chang…

[000-002-01].第03节:Linux系统下Oracle的安装与使用

2.1.Docker安装Oracle 在CentOS7中使用Docker安装Oracle&#xff1a; 1.安装Docker,详细请参考&#xff1a;https://blog.csdn.net/weixin_43783284/article/details/1211403682.拉取镜像&#xff1a; docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g3.下载…

《OpenCV计算机视觉》—— 图像轮廓检测与绘制

文章目录 一、轮廓的检测二、轮廓的绘制图像轮廓检测与绘制的代码实现 三、轮廓的近似 一、轮廓的检测 轮廓检测是指在包含目标和背景的数字图像中&#xff0c;忽略背景和目标内部的纹理以及噪声干扰的影响&#xff0c;采用一定的技术和方法来实现目标轮廓提取的过程注意:做轮…

linux驱动开发-磁盘管理

目录 一、mount基本语法 二、常见选项 三、常用命令 二 fdisk --磁盘分区工具 fdisk作用 命令格式&#xff1a; 选项 分区示例 查看分区情况 -p 删除分区 -d 新增分区 -n 修改分区类型 —— t 保存之前所有的操作 —— w 在Linux系统中&#xff0c;mount命令是一种…

redis-shake v4全量增量同步redis数据

1 概述 RedisShake是一个用于处理和迁移 Redis 数据的工具&#xff0c;github地址是https://github.com/tair-opensource/RedisShake。它提供以下特性&#xff1a; 1&#xff09;Redis 兼容性&#xff1a; RedisShake 兼容从 2.8 到 7.2 的 Redis 版本&#xff0c;并支持各种部…

Parallels Desktop 20 for Mac中文版发布了?会哪些新功能

Parallels Desktop 20 for Mac 正式发布&#xff0c;完全支持 macOS Sequoia 和 Windows 11 24H2&#xff0c;并且在企业版中引入了全新的管理门户。 据介绍&#xff0c;新版本针对 Windows、macOS 和 Linux 虚拟机进行了大量更新&#xff0c;最大的亮点是全新推出的 Parallels…