当前位置: 首页 > news >正文

React学习路线图-Gemini版

前端开发学习路线图 (针对编程新手,主攻 React 框架)

总原则:先打好地基,再盖楼。 无论学习哪个框架,扎实的 HTML、CSS 和 JavaScript 基础是成功的关键。React 是基于 JavaScript 构建的,所以深入理解 JS 至关重要。

阶段一:前端基石 (HTML, CSS, JavaScript)

这是所有前端开发者必须掌握的核心技能。没有这些,你无法理解 React 的工作原理。

  1. HTML (超文本标记语言): 学习网页的结构和内容。
    • 基本语法、常用标签 (div, p, h1-h6, img, a, ul, li, table, form 等)
    • HTML5 语义化标签 (<article>, <section>, <nav>, <aside>, <header>, <footer> 等)
    • 表单元素和属性
    • 了解一些基础的可访问性 (Accessibility - A11y) 概念
  2. CSS (层叠样式表): 学习如何美化网页和布局。
    • 基本语法、选择器 (类选择器、ID 选择器、标签选择器、属性选择器、伪类、伪元素)
    • 盒模型 (Box Model): content, padding, border, margin
    • 常用属性: width, height, color, background, font, text 等
    • 布局:
      • 传统布局 (display: block/inline/inline-block, position, float) - 了解即可。
      • Flexbox (弹性盒子): 现代一维布局,非常重要。
      • CSS Grid (网格): 现代二维布局,适合复杂布局。
    • 响应式设计 (Responsive Design): 媒体查询 (@media)
    • CSS 单位: px, em, rem, vw, vh, %
    • 了解 CSS 预处理器 (Sass, Less) 或后处理器 (PostCSS) - 可以在学完基础 CSS 后接触。
  3. JavaScript (JS): 这是 React 的基础语言!花足够多的时间深入学习 JS。
    • 基础语法: 变量 (let, const), 数据类型 (primitive types, objects), 运算符, 控制流 (if/else, switch, loops), 函数 (声明、表达式、箭头函数)
    • 数组和对象: 常用方法 (map, filter, reduce, forEach, Object.keys, Object.values 等)
    • DOM (文档对象模型) 操作: 了解如何用 JS 获取、修改、创建、删除 DOM 元素,处理事件。(虽然 React 会帮你处理大部分 DOM 操作,但理解原生 JS DOM 操作对于理解 React 的虚拟 DOM 很有帮助)
    • 事件 (Events): 事件监听、事件流 (冒泡、捕获)、事件委托
    • 原型和原型链 (Prototypal Inheritance) / Class: 理解 JS 中的面向对象概念。
    • ES6+ (ECMAScript 2015 及更新版本) 新特性: 这是学习现代 React 的必备知识!
      • letconst
      • 箭头函数 (Arrow Functions)
      • 模板字符串 (Template Literals)
      • 解构赋值 (Destructuring)
      • 展开运算符 (Spread Syntax) 和 剩余参数 (Rest Parameters)
      • 模块化 (import/export)
      • Promise 和 async/await: 处理异步操作的现代方式,非常重要!
      • Classes
    • 异步编程: 理解什么是异步,以及 Promise, async/await 如何解决回调地狱等问题。
    • HTTP 请求: 了解如何使用 Workspace APIXMLHttpRequest 发送网络请求获取数据 (AJAX)。

阶段二:迈向现代前端 (工具链和基础工程化)

现代前端开发离不开这些工具。

  1. 命令行基础: 学习一些基本的终端命令。
  2. 包管理器:
    • 学习使用 npm 或 yarn 或 pnpm (pnpm 是目前较流行的选择)。
    • 了解 package.json 文件,如何安装、更新、管理项目依赖。
  3. 版本控制:
    • Git: 学习 Git 的基本概念和常用命令 (clone, add, commit, push, pull, branch, merge)。
    • GitHub/GitLab/Gitee: 学习如何使用远程仓库进行代码托管和协作。这是开发者必备技能!
  4. 构建工具概念: 了解为什么需要构建工具 (打包、压缩、转译 JS/CSS、模块化)。现代 React 项目常用 Vite 或集成在框架中的构建工具 (如 Next.js)。了解它们的作用。

阶段三:拥抱 React 框架

当你具备了扎实的 HTML, CSS, 和 ES6+ JavaScript 基础后,就可以开始学习 React 了。

  1. React 核心概念:
    • 理解组件化思想: 学习如何将 UI 拆分成独立、可复用的组件。
    • JSX: 学习 React 的语法扩展,如何在 JS 中编写类似 HTML 的结构。
    • 函数式组件 (Functional Components): 学习使用函数来创建组件 (这是现代 React 的主流)。
    • Props (属性): 学习如何通过 props 将数据从父组件传递给子组件。理解 props 的单向数据流。
    • State (状态): 学习使用 useState Hook 在函数组件中管理组件自身的内部状态。理解 State 的概念和它与 Props 的区别。
    • 事件处理: 学习如何在 React 中绑定和处理用户事件。
    • 条件渲染 (Conditional Rendering): 根据条件显示或隐藏组件/元素。
    • 列表渲染 (List Rendering): 使用 map 方法渲染列表,理解 key 属性的重要性。
    • Hooks (钩子): 这是现代 React 的核心! 深入学习常用的 Hooks:
      • useState: 管理状态。
      • useEffect: 处理副作用 (如数据请求、DOM 操作、订阅等),理解它的依赖项数组。
      • useContext: 跨组件共享数据 (代替繁琐的 props 逐层传递)。
      • useReducer: 用于复杂状态逻辑的管理 (useState 的替代方案)。
      • useRef: 获取 DOM 元素引用或在重新渲染之间存储可变值。
      • 了解自定义 Hook。
    • 组件生命周期: 理解函数式组件的生命周期思维,以及 useEffect 如何对应以前类组件的生命周期方法 (componentDidMount, componentDidUpdate, componentWillUnmount)。
    • Context API: 用于在组件树中共享数据,避免 “prop drilling”。
    • Fragment: 处理组件返回多个元素的问题。
  2. React 生态系统:
    • 路由: 学习使用 React Router 实现单页面应用的导航和路由管理。
    • 状态管理 (State Management): 对于大型应用,需要更强大的状态管理方案。学习:
      • Redux Toolkit (RTK): 官方推荐的 Redux 使用方式,简化了 Redux 开发。理解 Store, Reducers, Actions, Selectors 等概念。
      • 了解其他状态管理库:如 Zustand, Jotai, Recoil (通常比 Redux 更简洁,适合不同场景)。一开始可以先用 Context API 或 useState 组合,等项目复杂了再引入。
    • 数据获取和状态管理库: 学习使用 React Query (TanStack Query)SWR。这些库专门用于管理服务器数据状态,处理缓存、加载状态、错误处理等,能极大提升开发效率和用户体验。
    • 样式方案: 了解如何在 React 项目中应用 CSS。常见的有:CSS Modules, Styled Components, Emotion, Tailwind CSS 等。
    • 表单管理: 学习使用 FormikReact Hook Form 来简化复杂的表单处理逻辑。
    • 组件库 (UI Library): 学习使用流行的 React UI 组件库,如 Ant Design (AntD), Material UI (MUI), Chakra UI。
  3. 项目实践:
    • 跟着教程构建几个小项目: (待办事项列表 TODO List, 计算器, 天气应用, 简单的博客或画廊)
    • 尝试独立构建一个中等复杂度的应用: (例如一个简单的电商网站前台,包含商品列表、购物车、详情页,涉及到路由、数据请求、状态管理)

阶段四:进阶与扩展

当你能熟练使用 React 构建应用后,可以进一步深入。

  1. TypeScript: 强烈推荐在 React 项目中使用 TypeScript,提高代码质量、可维护性和开发效率。
  2. 测试: 学习如何测试 React 组件和应用。使用 Jest (测试运行器), React Testing Library (RTL) (推荐用于测试用户交互和组件行为), Cypress (端到端测试)。
  3. 框架学习 (Next.js 或 Remix): 这是现代 React 开发的重要方向。 学习 Next.js (Vercel 推荐) 或 Remix。它们是基于 React 的全栈框架,提供了文件系统路由、SSR (服务器端渲染), SSG (静态站点生成), API 路由等功能,非常适合构建真实世界的应用,特别是需要 SEO 或高性能的应用。
  4. 性能优化: 学习如何优化 React 应用的性能 (React.memo, useCallback, useMemo, 代码分割 React.lazy, 性能分析)。
  5. 理解 Concurrent Mode (并发模式) 和 Suspense: 了解 React 的新特性如何改进用户体验和数据加载。
  6. 部署: 学习如何将你的 React 应用部署到静态托管服务 (如 Netlify, Vercel, GitHub Pages) 或 Node.js 服务器。使用 Next.js 等框架会提供更丰富的部署选项。
  7. 前端安全: 了解一些常见的 Web 安全漏洞和防范措施。

开放的学习资源

以下是一些非常有价值的学习资源,大部分是免费或提供免费内容的:

官方文档 (首推!):

  • React 官方文档 (Beta): React 团队正在重写的新版文档,非常现代化且注重概念理解和 Hooks。强烈推荐从这里开始。
    • https://beta.reactjs.org/ (中文: https://www.google.com/search?q=https://beta.reactjs.org/zh-Hans/)
  • MDN Web Docs (Mozilla Developer Network): HTML, CSS, JavaScript 最权威、最全面的文档。
    • https://developer.mozilla.org/
  • React Router 官方文档:
    • https://reactrouter.com/
  • Redux Toolkit 官方文档:
    • https://redux-toolkit.js.org/
  • React Query (TanStack Query) 官方文档:
    • https://tanstack.com/query/latest
  • Next.js 官方文档:
    • https://nextjs.org/ (中文: https://nextjs.cn/)

互动学习平台 (适合新手入门和巩固基础):

  • freeCodeCamp: 提供大量免费的 HTML, CSS, JavaScript, 数据结构与算法,以及 React 相关的互动课程和项目。
    • https://www.freecodecamp.org/ (有中文社区和部分翻译)
  • The Odin Project: 免费的全栈学习路径,前端基础非常扎实,通过大量阅读和实践来学习。
    • https://www.theodinproject.com/
  • Codecademy: 提供一些免费的编程基础和 React 课程。
    • https://www.codecademy.com/
  • Scrimba: 以互动式代码教程为特色,有很多高质量的免费和付费 React 课程。
    • https://scrimba.com/

教学视频平台 (体系化学习):

  • YouTube: 海量的免费编程教学视频。搜索 “React tutorial”, “React Hooks tutorial”, “Next.js tutorial”, “前端入门” 等关键词。
    • 推荐频道 (搜索): freeCodeCamp (官方), 茂硕 (中文), 达达前端 (中文), Traversy Media (英文), The Net Ninja (英文), Web Dev Simplified (英文), Academind (英文)。
  • Udemy, Coursera, edX: 提供大量高质量的付费课程,通常包含完整的项目实战。选择评价高、内容新的 React (especially with Hooks) 或 Next.js 课程。
  • Bilibili (B站): 国内有很多优秀的免费教学视频,搜索 “React 教程”, “React hooks”, “Nextjs 教程”。需要甄别。

技术博客和网站 (深入学习和了解行业动态):

  • React 官方博客: 发布最新的 React 特性、更新和思想。
    • https://www.google.com/search?q=https://reactjs.org/blog/
  • CSS-Tricks: 虽然叫 CSS-Tricks,但有很多高质量的 JS 和 React 文章。
    • https://css-tricks.com/
  • Smashing Magazine: 高质量的前端、设计、用户体验文章。
    • https://www.smashingmagazine.com/
  • 掘金、思否 (SegmentFault)、知乎专栏: 国内优秀技术社区,关注 React 相关的专栏和文章。
  • 关注一些 React 核心开发者和社区成员的博客或 Twitter。

书籍 (体系化和深度学习):

  • 《你不知道的 JavaScript》系列: 深入理解 JavaScript 引擎和工作原理的经典。
  • 《JavaScript 高级程序设计》(红宝书): 全面的 JavaScript 参考书。
  • 专注于现代 JavaScript (ES6+) 和 React Hooks 的书籍。注意选择出版日期较近的,框架更新快。

社区和问答:

  • Stack Overflow: 遇到编程问题时,这里通常能找到答案。
    • https://stackoverflow.com/
  • GitHub: 发现开源项目,阅读代码,参与讨论。
    • https://github.com/
  • Reactiflux Discord: React 官方社区 Discord 服务器,可以在这里提问、交流。
    • https://www.reactiflux.com/
  • 国内各种前端技术交流群、React 交流群。

学习建议 (高级前端的肺腑之言)

  1. 先慢后快: 花足够的时间在 HTML, CSS, JavaScript 基础,特别是现代 JS (ES6+ 和异步编程)。这会让你学 React 事半功倍。
  2. 理解 Hooks: Hooks 是现代 React 的基石。刚开始可能会觉得抽象,多写代码,多看示例,理解 useStateuseEffect 的工作原理和使用场景。
  3. 不要只看,动手写: 边看教程边敲代码,暂停视频,自己实现一遍。看完教程后,尝试不看教程,独立实现一个类似的小功能或项目。
  4. 项目驱动学习: 学习一个新知识点后,立刻思考如何在项目中应用它。从简单的组件开始,逐步构建更复杂的应用。
  5. 学会提问和搜索: 遇到问题是正常的,学会在 Stack Overflow、Google、百度、MDN、官方文档中搜索答案。如果搜索不到,学会清晰地描述你的问题去社区提问。
  6. 阅读代码: 在 GitHub 上找到一些优秀的 React 开源项目,尝试阅读它们的源代码,学习社区的最佳实践和高级技巧。
  7. 拥抱错误: 错误是最好的老师。学会阅读错误信息,利用浏览器开发者工具进行调试。
  8. 保持好奇心和持续学习: 前端领域发展迅速,新技术层出不穷。保持学习的热情,关注行业动态。
  9. 健康第一: 编程久坐容易疲劳,注意休息、活动、保护眼睛。

相关文章:

React学习路线图-Gemini版

前端开发学习路线图 (针对编程新手&#xff0c;主攻 React 框架) 总原则&#xff1a;先打好地基&#xff0c;再盖楼。 无论学习哪个框架&#xff0c;扎实的 HTML、CSS 和 JavaScript 基础是成功的关键。React 是基于 JavaScript 构建的&#xff0c;所以深入理解 JS 至关重要。…...

注意力(Attention)机制详解(附代码)

Attention机制是深度学习中的一种技术&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;和计算机视觉领域中得到了广泛的应用。它的核心思想是模仿人类的注意力机制&#xff0c;即人类在处理信息时会集中注意力在某些关键部分上&#xff0c;而忽略其他不那么重要的…...

国内外Agent产品进展汇总

MCP&#xff08;Model Context Protocol&#xff09;是一个开放标准协议&#xff0c;旨在标准化应用程序向大型语言模型提供上下文信息的方式。通过集成MCP扩展&#xff0c;Agent可以访问和利用各种外部工具和服务&#xff0c;丰富了Agent的功能范围&#xff0c;使其能够执行更…...

AI Workflow

AI Workflow&#xff08;人工智能工作流&#xff09;指的是在构建、部署和管理AI模型与应用时所涉及的一系列步骤和流程。它将数据处理、模型训练、评估、部署及监控等环节有机结合起来&#xff0c;以实现高效、可重复的AI解决方案开发过程。以下是对AI Workflow核心组成部分及…...

MySQL OCP 认证限时免费活动​ 7 月 31 日 前截止!!!

为庆祝 MySQL 数据库发布 30 周年&#xff0c;Oracle 官方推出限时福利&#xff1a;2025 年 4 月 20 日至 7 月 31 日期间&#xff0c;所有人均可免费报考 MySQL OCP&#xff08;Oracle Certified Professional&#xff09;认证考试。该认证验证持证者在 MySQL 数据库管理、优化…...

【无标题】MPC软件

MPC软件是一款先进的多变量预测控制解决方案 专为复杂工业过程优化设计 **核心功能** 实时动态建模 多变量协调控制 滚动时域优化 自适应调整策略 干扰抑制 鲁棒性强 适用于时变系统 **技术优势** 基于模型预测算法 提前计算最优控制序列 处理输入输出约束 保障系…...

【EasyPan】loadDataList方法及checkRootFilePid方法解析

【EasyPan】项目常见问题解答&#xff08;自用&持续更新中…&#xff09;汇总版 一、loadDataList方法概览 /*** 文件列表加载接口* param session HTTP会话对象* param shareId 必须参数&#xff0c;分享ID&#xff08;使用VerifyParam进行非空校验&#xff09;* param …...

Java程序题案例分析

目录 一、基础语法 1. 类与对象 2. 接口与抽象类 二、面向对象语法 1. 继承与多态 2. 四种访问修饰符 三、设计模式相关语法 一、策略模式&#xff08;接口回调实现&#xff09; 1. 完整实现与解析 二、工厂模式&#xff08;静态工厂方法实现&#xff09; 1. 完整实…...

【Lanqiao】数位翻转

题目&#xff1a; 思路&#xff1a; 写蓝桥不能不写dp&#xff0c;就像.... 题目数据给的不大&#xff0c;所以我们可以考虑一种 n*m 的做法&#xff0c;那么对于这种题目可以想到的是用dp来写&#xff0c;但是如何构造转移方程与状态是个难事 由于这题对于任意一个数我们有两…...

基于QT(C++)实现(图形界面)校园导览系统

校园导览系统 一、任务描述 大学校园充满着忙忙碌碌的学生和老师们&#xff0c;但是有时候用户宝贵的时间会被复杂的道路和愈来愈多的建筑物的阻碍而浪费&#xff0c;为了不让同学们在自己的目的地的寻路过程中花费更多的时间&#xff0c;我们着手开发这样一款校园导览系统。…...

【C/C++】虚函数

&#x1f4d8; C 虚函数详解&#xff08;Virtual Function&#xff09; &#x1f4cc; 什么是虚函数&#xff1f; 虚函数&#xff08;Virtual Function&#xff09; 是 C 中实现运行时多态&#xff08;Runtime Polymorphism&#xff09; 的核心机制。 它允许派生类 重写&…...

no main manifest attribute, in xxx.jar

1、问题&#xff1a; Spring Boot项目在idea中可以正常运行&#xff0c;但是运行Spring Boot生成的jar包&#xff0c;报错&#xff1a; 1、no main manifest attribute, in xxx.jar 2、xxx.jar中没有主清单属性 2、解决办法&#xff1a; 删除pom.xml中<configuration&g…...

使用 AI 如何高效解析视频内容?生成思维导图或分时段概括总结

一、前言 AI 发展的如此迅速&#xff0c;有人想通过 AI 提效对视频的解析&#xff0c;怎么做呢&#xff1f; 豆包里面有 AI 视频总结的功能&#xff0c;可以解析bilibili网站上部分视频&#xff0c;如下图所示&#xff1a; 但有的视频解析时提示&#xff1a; 所以呢&#x…...

比较入站和出站防火墙规则

组织需要仔细配置防火墙规则&#xff0c;监控网络的传入和传出流量&#xff0c;从而最大限度降低遭受攻击的风险。在有效管理入站和出站防火墙规则前&#xff0c;了解入站与出站流量的区别至关重要。 一、什么是入站流量&#xff1f; 入站流量指的是并非源自网络内部&#xf…...

开放式耳机什么品牌的好用?性价比高的开放式耳机品牌推荐一下

这几年蓝牙耳机发展得很快&#xff0c;从最早的入耳式&#xff0c;到现在流行的开放式&#xff0c;选择越来越多。我自己是比较偏向佩戴舒适的类型&#xff0c;用过开放式之后就回不去了。它不堵耳、不压迫&#xff0c;戴着轻松不累&#xff0c;对我这种耳朵容易不适的人来说太…...

WPF之高级绑定技术

文章目录 引言多重绑定&#xff08;MultiBinding&#xff09;基本概念实现自定义IMultiValueConverterMultiBinding在XAML中的应用示例使用StringFormat简化MultiBinding 优先级绑定&#xff08;PriorityBinding&#xff09;基本概念PriorityBinding示例实现PriorityBinding的后…...

k8s高可用集群,自动化更新证书脚本

#!/bin/bash # 切换到证书目录 cd /etc/kubernetes/pki || exit # 备份原有证书&#xff08;重要&#xff01;&#xff09; sudo cp -r apiserver.crt apiserver.key \ apiserver-etcd-client.crt apiserver-etcd-client.key \ apiserver-kubelet-client…...

【Python 函数】

Python 中的函数&#xff08;Function&#xff09;是可重复使用的代码块&#xff0c;用于封装特定功能并提高代码复用性。以下是函数的核心知识点&#xff1a; 一、基础语法 1. 定义函数 def greet(name):"""打印问候语""" # 文档字符串&…...

Filecoin矿工资金管理指南:使用lotus-shed actor withdraw工具

Filecoin矿工资金管理指南&#xff1a;使用lotus-shed actor withdraw工具 引言lotus-shed actor withdraw命令概述命令语法参数选项详解常见使用场景1. 提取全部可用余额2. 提取指定数量的FIL3. 通过受益人地址发送交易 最佳实践资金安全管理操作流程优化 常见问题与解决方案提…...

AI辅助DevOps与自动化测试:重构软件工程效率边界

随着AI技术渗透至软件开发生命周期&#xff0c;DevOps与自动化测试领域正经历颠覆性变革。本文系统性解析AI在需求分析、测试用例生成、部署决策、异常检测等环节的技术实现路径&#xff0c;结合微软Azure DevOps、Tesla自动驾驶测试等典型场景&#xff0c;探讨AI如何突破传统效…...

css内容省略——text-overflow: ellipsis

title: css内容省略 date: 2025-05-07 19:41:17 tags: css text-overflow: ellipsis text-overflow: ellipsis用于在文本溢出容器时显示省略号(…) 1.单行省略 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"&g…...

nginx性能优化与深度监控

一、性能调优方向 1. 系统层面优化 内核参数调整 TCP队列与连接管理&#xff1a; net.core.somaxconn&#xff08;最大连接队列长度&#xff0c;建议设为65535&#xff09;net.ipv4.tcp_max_syn_backlog&#xff08;SYN队列长度&#xff0c;建议65535&#xff09;net.ipv4.tc…...

leetcode 70.爬楼梯(c++详细最全解法+补充知识)

目录 题目 解答过程 补充哈希表知识 哈希表基本特性 常用成员函数 基本用法 实现代码 1.递归 2.循环遍历 3.哈希表 题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#…...

护照阅读器简介

护照阅读器简介 护照阅读器&#xff08;Passport Reader&#xff09;是一种专用设备&#xff0c;用于快速、准确地读取护照、身份证、签证等旅行证件的机读区&#xff08;MRZ&#xff09;和芯片&#xff08;ePassport&#xff09;信息&#xff0c;广泛应用于出入境管理、机场安…...

切片和边缘计算技术分析报告

切片和边缘计算技术分析报告 一、引言 随着 5G 通信技术的快速发展&#xff0c;网络切片和边缘计算技术逐渐成为通信领域的热点研究方向。网络切片技术通过将物理网络划分为多个逻辑上的虚拟网络&#xff0c;以满足不同业务场景对网络性能的差异化需求。边缘计算则将计算、存…...

vue3笔记(自存)

1. Vue3简介 2020年9月18日&#xff0c;Vue.js发布版3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;n 经历了&#xff1a;4800次提交、40个RFC、600次PR、300贡献者 官方发版地址&#xff1a;Release v3.0.0 One Piece vuejs/core 截止2023年10月&#xff0c;最…...

多线服务器具有什么优势

在当今数字化飞速发展的时代&#xff0c;多线服务器宛如一位低调的幕后英雄&#xff0c;默默为我们的网络世界提供着强大的支持。那么&#xff0c;多线服务器到底具有哪些令人瞩目的优势呢 首先&#xff0c;多线服务器的最大优势之一就是网络访问的高速与稳定。想象一下&#x…...

Azure OpenAI 聊天功能全解析:Java 开发者指南

Azure OpenAI 聊天功能全解析&#xff1a;Java 开发者指南 前言 在当今人工智能飞速发展的时代&#xff0c;AI 驱动的文本生成技术正深刻改变着众多应用场景。Azure OpenAI 作为这一领域的重要参与者&#xff0c;由 ChatGPT 提供支持&#xff0c;不仅具备传统 OpenAI 的功能&…...

【情感关系】健全自我

一些看到后深有感触的文字 请大家无论如何也不要相信这种&#xff1a;“童年/原生家庭经历决定人生走向”的论调。 过去可以影响我们但是无法主宰我们&#xff0c;人是有主观能动意识的&#xff0c;认识自己的问题就是改变人生轨迹的第一步。 后来我们会发现&#xff0c;对于…...

SLAM:单应矩阵,本质矩阵,基本矩阵详解和对应的c++实现

单应矩阵(Homography Matrix) 单应矩阵(Homography Matrix)是计算机视觉中描述同一平面在不同视角下投影变换的核心工具,广泛应用于图像校正、拼接、虚拟广告牌替换等场景。以下从原理、求解方法和C++实现三方面展开详解: 一、单应矩阵的数学原理 定义与作用 单应矩阵是…...

数据报(Datagram)与虚电路(Virtual Circuit)的区别

数据报&#xff08;Datagram&#xff09;与虚电路&#xff08;Virtual Circuit&#xff09;的区别 数据报和虚电路是计算机网络中两种不同的通信方式&#xff0c;主要区别体现在 连接方式、路由选择、可靠性、延迟和适用场景 等方面。以下是它们的详细对比&#xff1a; 1. 基本…...

工业现场ModbusTCP转EtherNETIP网关引领生物现场领新浪潮

生物质发生器是一种能够产生、培养生物的设备。客户现场需要将生物发生器连接到罗克韦尔系统&#xff0c;但是二者协议无法直接通讯&#xff0c;需要通过ModbusTCP转Ethernet/IP网关将两者进行通讯连接&#xff0c;生物质发生器以其独特的工作原理和优势&#xff0c;使得生物的…...

DeepSeek的100个应用场景

在春节前夕&#xff0c;浙江杭州的AI企业DeepSeek推出了其开源模型DeepSeek-R1&#xff0c;以仅相当于Open AI最新模型1/30的训练成本&#xff0c;在数学、编程等关键领域展现出媲美GPT-o1的出色性能。发布仅数日&#xff0c;DeepSeek-R1便迅速攀升至中美两国苹果应用商店免费榜…...

【Linux 系统调试】Linux 调试工具strip使用方法

‌ 目录 ‌ 一. strip 工具的定义与核心作用‌ ‌1. strip 是什么&#xff1f;‌ 2. strip 工具调试符号的作用‌ 3. strip 工具调试符号的重要性‌ 二. 如何确认文件是否被 strip 处理&#xff1f;‌ 1. 通过 file 命令检查文件状态 2. strip 的典型用法‌ ‌基础命…...

Solana批量转账教程:提高代币持有地址和生态用户空投代币

前言 Solana区块链因其高吞吐量和低交易费用成为批量操作&#xff08;如空投&#xff09;的理想选择。本教程将介绍几种在Solana上进行批量转账的方法&#xff0c;帮助您高效地向多个地址空投代币。 solana 账户模型 在Solana中有三类账户&#xff1a; 数据账户&#xff0c;…...

leetcode hot100 技巧

如有缺漏谬误&#xff0c;还请批评指正。 1.只出现一次的数字 利用异或运算相同得0的特点。所有出现过两次的数字都会在异或运算累加过程中被抵消。、 class Solution { public:int singleNumber(vector<int>& nums) {int res0;for(int i0;i<nums.size();i) re…...

搭建spark伪分布集群

1.先查看虚拟机的默认名称&#xff0c;将其修改为vm01 2.更改了主机名&#xff0c;还需要修改/etc/hosts文件&#xff0c;在这个文件设定了IP地址与主机名的对应关系&#xff0c;类似DNS域名服务器的功能 3.修改spark相关配置文件&#xff0c;包括spark-env.sh和slave两个文件 …...

vue3自定义audio音频播放【进度条,快进,后退,音量加减,播放速度】

本文将介绍如何使用Vue3构建一个功能完备的自定义音频播放器&#xff0c;包含进度条控制、快进/后退、音量调节和播放速度控制等功能。相比使用浏览器默认的audio控件&#xff0c;自定义播放器可以提供更一致的用户体验和更灵活的设计空间&#xff0c;复制粘贴即可使用&#xf…...

学习基本开锁知识

本文主要内容 目前市面上锁的种类有哪些 机械锁 钥匙开锁 &#xff1a;这是最常见的传统开锁方式&#xff0c;通过插入匹配的钥匙转动来开锁&#xff0c;如常见的家用门锁、汽车门锁等&#xff0c;钥匙形状和齿纹各异&#xff0c;有单排齿的一字锁、双排齿的双面锁&#xff0c;…...

泛微ECOLOGY9 流程表单中添加按钮的方法

使用场景介绍 有时需要在流程表单中添加一个按钮来实现弹窗、打开指定的页面等需求。 实现方式一:通过ID 在流程表单中想要生成按钮的地方指定一个ID,然后再到ecode中创建按钮及方法。 具体步骤如下: 一、表单中指定ID为 exceldc 二、在ecode中实现按钮及功能。 1.建立…...

小刚说C语言刷题—1331 做彩纸花边

1.题目描述 李晓芳用一条长为 n 米的彩纸制作花边&#xff0c;每朵花李晓芳用一条长为 n 米的彩纸制作花边&#xff0c;每朵花的宽度为 x 厘米&#xff0c;花与花之间的间隔为 y 厘米。请问 n 米的彩纸最多能做多少朵花的花边。 如&#xff0c;图中的案例花的宽度为 4.5cm &a…...

【Python】读取excel文件的时候,遇到“Excel file format cannot be determined”的问题

使用os.path 读取路径下的文件&#xff0c;并拼接文件名&#xff0c;可能会遇到这个问题&#xff1a; ValueError: Excel file format cannot be determined, you must specify an engine manually. 因为我用的是相对路径的拼接的方法&#xff0c;读取出来会有这样的问题&#…...

天气预报、天气查询API接口文档 | 实时天气 | 七日天气 | 15日天气查询

天气预报、天气查询API接口文档 | 实时天气 | 七日天气 | 15日天气查询 这篇文章详细介绍了一种天气查询服务&#xff0c;提供了实时天气(1天)、7天预报和15天预报三个RESTful接口&#xff0c;支持通过地区名称、编码、IP或经纬度等多种方式查询&#xff0c;返回数据包含温度、…...

Linux中的线程安全与线程同步详解

在Linux系统中&#xff0c;线程安全性是指在多个线程同时访问共享资源时&#xff0c;能够确保这些共享资源不被破坏或者产生数据错误。线程同步是一种机制&#xff0c;用于保证多个线程之间的操作次序和协调&#xff0c;以避免竞态条件、死锁等问题。 以下是线程安全和线程同步…...

qwen2.5vl

多模态大模型通用架构&#xff1a; 在通用的MM-LLM&#xff08;Multi-Modality LLM&#xff09;框架里&#xff0c;共有五个模块&#xff0c;整体以LLM为核心主干&#xff0c;分别在前后有一个输入、输出的投影模块&#xff08;Projector&#xff09;&#xff0c;投影模块主要…...

国产Word处理控件Spire.Doc教程:在Java中为Word文本和段落设置边框

在 Word 文档中添加边框是一种突显重点信息的有效方式&#xff0c;尤其适用于包含大量文本的内容场景。相比普通格式&#xff0c;给字符或段落添加边框不仅能强化视觉层次&#xff0c;还能提升文档的专业感与可读性。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品&a…...

【CUDA C实战演练】CUDA介绍、安装、C代码示例

文章目录 0. 前言1. 并行计算与异构计算1.1 并行计算&#xff08;Parallel Computing&#xff09;1.2 异构计算&#xff08;Heterogeneous Computing&#xff09; 2. CUDA 的核心概念2.1 主机&#xff08;Host&#xff09;与设备&#xff08;Device&#xff09;2.2 线程层次结构…...

滑动窗口——无重复字符最长的字串

题目&#xff1a; 子字符串&#xff0c;我们也可以看成子数组。 题意不难理解&#xff0c;这个题我们暴力枚举的思路是把每一个字符遍历存到hash桶中&#xff0c;如果放两次就进行结果更新。 但这个题我们有更优化的方法&#xff0c;利用数组代替hash&#xff08;重点不在这&…...

QT中connect高级链接——指针、lambda、宏

1、connect使用指针 connect(button,&QPushButton::released,this,&MainWidget::mySlot); //【抬起】按钮button时&#xff0c;修改按钮b2的标题 2、使用lambda表达式 引入lambda表达式&#xff0c;类似内联函数&#xff0c;可以用于不会被重用的短代码片段&#x…...

说说es配置项的动态静态之分和集群配置更新API

这天因为某件工作来到了es官网某个参数配置相关的页面&#xff0c;注意到了下图圆圈里的“Dynamic”&#xff1a; 链接&#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/8.1/modules-cluster.html#misc-cluster-settings 显然这是对配置项的一个描述&am…...