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

【CSS】Tailwind CSS 与传统 CSS:设计理念与使用场景对比

1. 开发方式

1.1 传统 CSS

  • 手写 CSS:你需要手动编写 CSS 规则,定义类名、ID 或元素选择器,并为每个元素编写样式。

  • 分离式开发HTMLCSS 通常是分离的,HTML 中通过类名或 ID 引用 CSS 文件中的样式。

  • 示例

    • <div class="card">Hello World</div>
      
    • .card {padding: 1rem;background-color: white;border-radius: 0.5rem;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      }
      

1.2 Tailwind CSS

  • 实用类优先Tailwind 提供了大量的实用类(utility classes),你直接在 HTML 中使用这些类来构建样式,而不需要手写 CSS

  • 原子化 CSS:每个实用类只负责一个小的样式功能(如 p-4 表示 padding: 1rem),通过组合这些类来实现复杂的设计。

  • 示例

    • <div class="p-4 bg-white rounded-lg shadow-sm">Hello World</div>
      

2. 设计理念

2.1 传统 CSS
  • 语义化:传统 CSS 强调语义化的类名(如 .card.button),类名通常与组件的功能或内容相关。
  • 可复用性:通过定义通用的类名,可以在多个地方复用样式。
  • 灵活性:你可以完全控制样式的细节,但需要手动管理样式的组织和维护。
2.2 Tailwind CSS
  • 功能优先Tailwind 的类名直接描述样式功能(如 text-centerbg-blue-500),而不是语义。
  • 原子化设计:通过组合多个实用类来实现样式,避免了重复定义样式规则。
  • 约束性设计Tailwind 提供了一套设计系统(如颜色、间距、字体大小等),帮助你保持设计的一致性。

3. 代码量

3.1 传统 CSS
  • CSS 文件较大:你需要为每个组件或页面编写独立的 CSS 规则,可能会导致 CSS 文件体积较大。
  • 重复代码:如果多个组件有相似的样式,可能会导致代码重复。
3.2 Tailwind CSS
  • HTML 文件较大:由于直接在 HTML 中使用实用类,HTML 文件可能会显得臃肿。
  • CSS 文件较小Tailwind 通过 PurgeCSS 移除未使用的样式,最终生成的 CSS 文件通常较小。

4. 维护性

4.1 传统 CSS

  • 维护成本较高:随着项目规模的增长,CSS 文件可能会变得难以维护,尤其是当多个开发者共同维护时。
  • 命名冲突:需要小心管理类名,避免全局样式冲突。

4.2 Tailwind CSS

  • 维护成本较低:由于样式是通过实用类直接应用的,减少了全局样式的冲突问题。
  • 一致性:Tailwind 的设计系统确保了样式的一致性,减少了样式不一致的问题。

5. 学习曲线

5.1 传统 CSS

  • 学习曲线较低:传统 CSS 是 Web 开发的基础,几乎所有开发者都熟悉。
  • 灵活性高:你可以完全控制样式的细节,但需要掌握 CSS 的各种特性(如 Flexbox、Grid、动画等)。

5.2 Tailwind CSS

  • 学习曲线较高:需要熟悉 Tailwind 的实用类命名规则和设计系统。
  • 快速开发:一旦熟悉 Tailwind,可以快速构建复杂的界面,减少上下文切换(不需要在 HTMLCSS 文件之间来回切换)。

6. 适用场景

6.1 传统 CSS

  • 适合小型项目:对于小型项目或简单的页面,传统 CSS 可能更直接。
  • 高度定制化:如果你需要完全自定义样式,传统 CSS 提供了更大的灵活性。

6.2 Tailwind CSS

  • 适合中大型项目:Tailwind 的设计系统和实用类非常适合需要快速迭代和保持一致性的项目。
  • 组件化开发:与 React、Vue 等框架结合使用时,Tailwind 可以很好地支持组件化开发。

7. 性能

7.1 传统 CSS

  • 性能依赖优化:如果 CSS 文件未经优化,可能会导致性能问题(如未使用的样式)。
  • 全局样式:全局样式可能会导致不必要的样式覆盖和冲突。

7.2 Tailwind CSS

  • 性能优化:通过 PurgeCSS 移除未使用的样式,生成的 CSS 文件通常较小。
  • 局部样式:样式直接应用于 HTML 元素,减少了全局样式的影响。

8. 生态系统

8.1传统 CSS
  • 生态系统丰富:有许多 CSS 预处理器(如 Sass、Less)和框架(如 Bootstrap、Foundation)可供选择。
  • 工具链复杂:可能需要配置 PostCSSAutoprefixer 等工具。
8.2 Tailwind CSS
  • 生态系统完善:Tailwind 有丰富的插件(如 @tailwindcss/forms@tailwindcss/typography)和社区支持。
  • 工具链简单:Tailwind 提供了开箱即用的工具链(如 CLI、PostCSS 插件)。

9. 总结对比表

特性传统 CSSTailwind CSS
开发方式手写 CSS,分离式开发实用类优先,原子化 CSS
设计理念语义化,强调可复用性功能优先,强调一致性
代码量CSS 文件较大,HTML 文件较小HTML 文件较大,CSS 文件较小
维护性维护成本较高,容易冲突维护成本较低,减少冲突
学习曲线较低较高
适用场景小型项目,高度定制化中大型项目,快速迭代
性能依赖优化通过 PurgeCSS 优化
生态系统丰富,但工具链复杂完善,工具链简单

10. 选择建议

  • 如果你需要快速构建一致性的界面,并且喜欢在 HTML 中直接编写样式,Tailwind CSS 是一个很好的选择。
  • 如果你需要完全控制样式细节,或者项目规模较小,传统 CSS 可能更适合。
  • 两者并不是互斥的,你可以在同一个项目中结合使用 Tailwind CSS 和传统 CSS,根据具体需求选择最合适的工具。

11. 扩展

  1. 如果你要在项目中使用 Tailwind CSS, 可以结合 (shadcn/uiHeadless UI ) 这些无头用户界面,无 UI 组件, 来定制 构建你的业务组件。
  2. 换句话说,无头组件库,就是提供了一种方式来构建只包含逻辑和功能的组件,而内部不实现具体的 UI。它们包含了一些交互逻辑状态管理,但没有任何与视觉样式相关的代码。
  3. 传统的 UI 组件、通常被拆分为两大部分: 外观样式逻辑部分, 当你要为业务,修改某个组件的样式就要通过 CSS 破坏的方式来实现, 而这些无头组件库的出现,恰恰解决了这一痛点。 可以让你更快,更好解决:样式难以定制、耦合性高、创意受限、依赖过多等问题 。

Headless UI 初探

  • 完全自定义:开发者需要从头开始设计组件的外观。
  • 灵活性高:适合需要独特设计风格的项目。

shadcn/ui 初探

  • 基于 Tailwind CSS:可以通过修改 Tailwind 配置文件或直接覆盖类名来自定义样式。

  • 开箱即用:默认样式已经足够美观,适合快速开发。

  • 它不是 一个组件库,它是可重用组件的集合,您可以将其复制并粘贴到应用中。

  • 不是组件库意味着什么 ?

    • 无需将其安装为依赖项。它无法通过 npm 分发。
    • 选择您需要的组件,将代码复制并粘贴到项目中,并根据需要进行自定义。
    • 以此作为构建自己的组件库的参考。
  • FAQ : 为什么要复制/粘贴而不是打包成依赖项?

    • 这背后的想法是赋予您对代码的所有权和控制权,允许你决定如何构建组件和设置样式。

    • 从一些合理的默认值开始,然后根据你的需要自定义组件。

    • 将组件打包到 npm 包中的缺点之一是样式与实现耦合。组件的设计应与其实现分开。

使用 shadcn/uiHeadless UI 的注意点:

  • 对开发者能力要求高,需要较强的组件抽象设计能力。

  • 对使用者:UI 层完全自定义,存在一定开发成本。

  • 对使用者:新的编码风格需要一定的学习成本。

相关文章:

【CSS】Tailwind CSS 与传统 CSS:设计理念与使用场景对比

1. 开发方式 1.1 传统 CSS 手写 CSS&#xff1a;你需要手动编写 CSS 规则&#xff0c;定义类名、ID 或元素选择器&#xff0c;并为每个元素编写样式。 分离式开发&#xff1a;HTML 和 CSS 通常是分离的&#xff0c;HTML 中通过类名或 ID 引用 CSS 文件中的样式。 示例&#…...

Server-Sent Events

Server-Sent Events (SSE) 是一种允许服务器向客户端推送实时更新的技术。 1. 创建 SSE 连接 export default {data() {return {eventSource: null,};},onLoad() {this.initSSE();},methods: {initSSE() {// 创建 SSE 连接this.eventSource new EventSource(https://api/xxxx…...

(十 九)趣学设计模式 之 中介者模式!

目录 一、 啥是中介者模式&#xff1f;二、 为什么要用中介者模式&#xff1f;三、 中介者模式的实现方式四、 中介者模式的优缺点五、 中介者模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…...

k8s概念及k8s集群部署(Centos7)

Centos7部署k8s集群 部署之前&#xff0c;先简单说下k8s是个啥&#xff1a; 一、k8s简介&#xff1a; k8s&#xff0c;全称&#xff1a;kubernetes&#xff0c;它可以看作是一个分布式系统支撑平台。k8s的作用&#xff1a; 1、故障自愈&#xff1a; k8s这个玩意可以监控容器…...

山东省网络安全技能大赛历年真题 山东网络安全创意大赛

刚参加完比赛&#xff0c;总结一波。 第一题:签到题 下载完成之后发现是个.exe文件 杂项万年套路步骤,用winhex打开&#xff0c;搜索flag&#xff0c;找到&#xff0c;提交。。。 第二题&#xff1a;qiu咪 发现是一张flag.png。。万年套路 用winhex打开。啥也没发现&#xf…...

数字后端培训实战项目六大典型后端实现案例

Q1:请教一个问题&#xff0c;cts.sdc和func.sdc在innovus用如何切换&#xff1f;在flow哪一步切换输入cts.sdc&#xff1f;哪一步切换到func.sdc&#xff0c;具体如何操作&#xff1f; 这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的&#xff1f;针对时…...

Redis网络模型

redis为什么快 1.主要原因是因为redis是基于内存操作的&#xff0c;比起直接操作磁盘速度快好几倍 2.基于内存的数据库瓶颈主要是在网络io这一块&#xff0c;redis网络模型采用io多路复用技术能够高效的处理并发连接。 3.redis使用单线程执行命令&#xff0c;可以避免上下文…...

RangeError: Radix must be an integer between 2 and 36

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

题海拾贝:P9241 [蓝桥杯 2023 省 B] 飞机降落

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…...

机器学习数学基础:38.统计学模型变量

统计学模型变量类型详解教程 一、外生变量&#xff08;Exogenous Variable&#xff09; &#xff08;一&#xff09;定义与别名 外生变量是模型中不受其他变量影响的独立变量&#xff0c;通常充当自变量。其常见的别名有&#xff1a; 外部变量&#xff08;External Variabl…...

FPGA标准库-Open Logic

在现代技术发展的浪潮中&#xff0c;开源项目已经成为了推动技术创新和发展的核心力量。无论是人工智能、区块链、云计算&#xff0c;还是传统的嵌入式开发、操作系统&#xff0c;开源项目都在其中扮演着至关重要的角色。它们不仅促进了技术的快速迭代&#xff0c;也为全球开发…...

Git 批量合并 Commit 并且保留之前的 Commit 快速实现的思路

文章目录 需求Rebase / Pick / squashVim 的快速全局字符串替换 需求 我想把如下的提交 commit&#xff0c;变成一个 Commit&#xff0c;并且合并这些 Commit 的消息到一个节点 Rebase / Pick / squash 我合并到 5e59217 这个hash 上&#xff0c;这样合并后会保留两个 Commit…...

Jackson 详解

目录 前言 Jackson 是 Java 生态中最流行的 JSON 处理库之一&#xff0c;广泛应用于 RESTful API、数据存储和传输等场景。它提供了高效、灵活的 JSON 序列化和反序列化功能&#xff0c;支持注解、模块化设计和多种数据格式&#xff08;如 XML、YAML&#xff09;。本文将详细介…...

03 HarmonyOS Next仪表盘案例详解(二):进阶篇

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; 文章目录 前言1. 响应式设计1.1 屏幕适配1.2 弹性布局 2. 数据展示与交互2.1 数据卡片渲染2.2 图表区域 3. 事件处理机制3.1 点击事件处理3.2 手势…...

【QT】-易错点笔记-2025-2-7

1,QList<phy_simulator*> pList;为空不能append()追加,要先new,再用 QList<phy_simulator> pList为空时,确实不能调用 append() 方法。原因很简单,QList 是一个类对象,在 C++ 中,指针本身并不代表它指向的对象。因此,当你有一个指向 QList<phy_simulato…...

嵌入式 ARM Linux 系统构成(3):根文件系统(Root File System)

目录 一、根文件系统的原理与重要性 二、根文件系统的构成 2.1. 基本目录结构 2.2. 核心组件 2.3. 设备驱动 2.4. 网络工具和协议 2.5. 调试工具 三、根文件系统的制作方法 四、根文件系统的测试 五、构建根文件系统的关键技术 5.1. 最小化构建工具 5.2. 关键配置文…...

electron + vue3 + vite 主进程到渲染进程的单向通信

用示例讲解下主进程到渲染进程的单向通信 初始版本项目结构可参考项目&#xff1a;https://github.com/ylpxzx/electron-forge-project/tree/init_project 主进程到渲染进程&#xff08;单向&#xff09; 以Electron官方文档给出的”主进程主动触发动作&#xff0c;发送内容给渲…...

基于Python实现的智能旅游推荐系统(Django)

基于Python实现的智能旅游推荐系统(Django) 开发语言:Python 数据库&#xff1a;MySQL所用到的知识&#xff1a;Django框架工具&#xff1a;pycharm、Navicat 系统功能实现 总体设计 系统实现 系统首页模块 统首页页面主要包括首页&#xff0c;旅游资讯&#xff0c;景点信息…...

分布式存储—— HBase数据模型 详解

目录 1.3 HBase数据模型 1.3.1 两类数据模型 1.3.2 数据模型的重要概念 1.3.3 数据模型的操作 1.3.4 数据模型的特殊属性 1.3.5 CAP原理与最终一致性 1.3.6 小结 本文章参考、总结于学校教材课本《HBase开发与应用》 1.3 HBase数据模型 在开始学习HBase之前非常…...

使用AI整理知识点--WPF动画核心知识

一、WPF动画基础 1、动画本质 通过随时间改变依赖属性值实现视觉效果&#xff08;如位置、透明度、颜色等&#xff09;。 依赖属性必须支持 DependencyProperty&#xff0c;且需是可动画的&#xff08;如 Double, Color, Point 等&#xff09;。 2、动画三要素 起始值 (Fr…...

计算光学成像与光学计算概论

计算光学成像所涉及研究的内容非常广泛&#xff0c;虽然计算光学成像的研究内容是发散的&#xff0c;但目的都是一致的&#xff1a;如何让相机记录到客观实物更丰富的信息&#xff0c;延伸并扩展人眼的视觉感知。总的来说&#xff0c;计算光学成像现阶段已经取得了很多令人振奋…...

100天精通Python(爬虫篇)——第115天:爬虫在线小工具_Curl转python爬虫代码工具(快速构建初始爬虫代码)

文章目录 一、curl是什么&#xff1f;二、爬虫在线小工具&#xff08;牛逼puls&#xff09;三、实战操作 一、curl是什么&#xff1f; 基本概念&#xff1a;curl 支持多种协议&#xff0c;如 HTTP、HTTPS、FTP、SFTP 等&#xff0c;可用于从服务器获取数据或向服务器发送数据&a…...

点云软件VeloView开发环境搭建与编译

官方编译说明 LidarView / LidarView-Superbuild GitLab 我的编译过程&#xff1a; 安装vs2019&#xff0c;windows sdk&#xff0c;qt5.14.2&#xff08;没安装到5.15.7&#xff09;&#xff0c;git&#xff0c;cmake3.31&#xff0c;python3.7.9&#xff0c;ninja下载放到…...

PHP配置虚拟主机

虚拟主机: 不是真实存在的主机, 因为一台电脑理论上讲只能作为一个网站: 事实上,一个网站是一个文件夹. 在本地开发中&#xff0c;通过虚拟主机配置可以实现多域名独立访问不同项目目录&#xff08;如 www.project1.test 和 www.project2.test&#xff09;&#xff0c;以 ”XAM…...

笔记四:C语言中的文件和文件操作

Faye&#xff1a;只要有正确的伴奏&#xff0c;什么都能变成好旋律。 ---------《寻找天堂》 目录 一、文件介绍 1.1程序文件 1.2 数据文件 1.3 文件名 二、文件的打开和关闭 2.1 文件指针 2.2.文件的打开和关闭 2.3 文件读取结束的判定 三、 文件的顺序读写 3.1 顺序读写…...

PyTorch中的线性变换:nn.Parameter VS nn.Linear

self.weight nn.Parameter(torch.randn(in_channels, out_channels)) 和 self.linear nn.Linear(in_channels, out_channels) 并不完全一致&#xff0c;尽管它们都可以用于实现线性变换&#xff08;即全连接层&#xff09;&#xff0c;但它们的使用方式和内部实现有所不同。 …...

计算机网络(1) 网络通信基础,协议介绍,通信框架

网络结构模式 C/S-----客户端和服务器 B/S -----浏览器服务器 MAC地址 每一个网卡都拥有独一无二的48位串行号&#xff0c;也即MAC地址&#xff0c;也叫做物理地址、硬件地址或者是局域网地址 MAC地址表示为12个16进制数 如00-16-EA-AE-3C-40 &#xff08;每一个数可以用四个…...

PHP之常量

在你有别的编程语言的基础下&#xff0c;你想学习PHP&#xff0c;可能要了解的一些关于常量的信息。 PHP中的常量不用指定数据类型&#xff0c;可以使用两次方法定义。 使用const //定义常量 const B 2; echo B . PHP_EOL;使用define define("A", 1); echo A . P…...

苦瓜书盘官网,免费pdf/mobi电子书下载网站

苦瓜书盘&#xff08;kgbook&#xff09;是一个专注于提供6英寸PDF和MOBI格式电子书的免费下载平台&#xff0c;专为电子阅读器用户设计。该平台为用户提供了丰富的电子书资源&#xff0c;涵盖文学、历史、科学、技术等多个领域&#xff0c;旨在打造一个全面的电子书资源库。用…...

通过 Docker openssl 容器生成生成Nginx证书文件

使用 alpine/openssl 镜像生成证书 1. 拉取容器 [rootlocalhost ~]# docker run --rm alpine/openssl version OpenSSL 3.3.3 11 Feb 2025 (Library: OpenSSL 3.3.3 11 Feb 2025)2. 运行 alpine/openssl 生成证书&#xff08;Nginx&#xff09; # 生成1个.key私钥文件&#…...

第四十一:Axios 模型的 get ,post请求

Axios 的 get 请求方式 9.双向数据绑定 v-model - 邓瑞编程 Axios 的 post 请求方式&#xff1a;...

从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(十) 收发消息

1.聊天框 首先我们完善前端的消息输入框 components下面新建MessageInput组件 import { useState,useRef } from "react" import {X,Image,Send} from "lucide-react"import { useChatStore } from "../store/useChatStore" import toast from…...

Spring Boot面试问答

1. Spring Boot 基础知识 问题 1:什么是Spring Boot?它与Spring框架有何不同? 回答: Spring Boot是基于Spring框架的一个开源框架,旨在简化新Spring应用的初始化和开发过程。与传统的Spring框架相比,Spring Boot提供了以下优势: 自动配置:根据项目依赖自动配置Spring…...

win11编译llama_cpp_python cuda128 RTX30/40/50版本

Geforce 50xx系显卡最低支持cuda128&#xff0c;llama_cpp_python官方源只有cpu版本&#xff0c;没有cuda版本&#xff0c;所以自己基于0.3.5版本源码编译一个RTX 30xx/40xx/50xx版本。 1. 前置条件 1. 访问https://developer.download.nvidia.cn/compute/cuda/12.8.0/local_…...

2025-03-07 学习记录--C/C++-C语言 截取字符串的三种方法

C语言 截取字符串 ⭐️ 方法 1&#xff1a;使用 strncpy 函数 &#x1f36d; strncpy 是C标准库中的一个函数&#xff0c;用于从源字符串中复制指定长度的字符到目标字符串中。【详情请查看我的另一篇文章】 示例代码&#xff1a;&#x1f330; #include <stdio.h> #in…...

doris: Oracle

Apache Doris JDBC Catalog 支持通过标准 JDBC 接口连接 Oracle 数据库。本文档介绍如何配置 Oracle 数据库连接。 使用须知​ 要连接到 Oracle 数据库&#xff0c;您需要 Oracle 19c, 18c, 12c, 11g 或 10g。 Oracle 数据库的 JDBC 驱动程序&#xff0c;您可以从 Maven 仓库…...

【神经网络】python实现神经网络(一)——数据集获取

一.概述 在文章【机器学习】一个例子带你了解神经网络是什么中&#xff0c;我们大致了解神经网络的正向信息传导、反向传导以及学习过程的大致流程&#xff0c;现在我们正式开始进行代码的实现&#xff0c;首先我们来实现第一步的运算过程模拟讲解&#xff1a;正向传导。本次代…...

自学嵌入式第27天------TCP和UDP,URL爬虫

1. TCP和UDP区别 **TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;**是两种主要的传输层协议&#xff0c;它们在数据传输方式上有显著区别&#xff1a; 连接性&#xff1a; TCP是面向连接的协议&#xff0c;通信前需通过三次握手建立连…...

【虚拟化】Docker Desktop 架构简介

在阅读前您需要了解 docker 架构&#xff1a;Docker architecture WSL 技术&#xff1a;什么是 WSL 2 1.Hyper-V backend 我们知道&#xff0c;Docker Desktop 最开始的架构的后端是采用的 Hyper-V。 Docker daemon (dockerd) 运行在一个 Linux distro (LinuxKit build) 中&…...

C#程序加密与解密Demo程序示例

目录 一、加密程序功能介绍 1、加密用途 2、功能 3、程序说明 4、加密过程 5、授权的注册文件保存方式 二、加密程序使用步骤 1、步骤一 ​编辑2、步骤二 3、步骤三 4、步骤四 三、核心代码说明 1、获取电脑CPU 信息 2、获取硬盘卷标号 3、机器码生成 3、 生成…...

200W数据需要去重,如何优化?

优化去重逻辑的时间取决于多个因素&#xff0c;包括数据量、数据结构、硬件性能&#xff08;CPU、内存&#xff09;、去重算法的实现方式等。以下是对优化去重逻辑的详细分析和预期优化效果&#xff1a; 1. 去重逻辑的性能瓶颈 时间复杂度&#xff1a;使用HashSet去重的时间复…...

理解 UDP 协议与实战:Android 使用 UDP 发送和接收消息

一、UDP 协议概述 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一个无连接的网络通信协议。与 TCP 不同&#xff0c;UDP 不建立连接&#xff0c;不保证数据的顺序和完整性。它的特点是简单、高效&#xff0c;适用于实时性要求较高、对数据…...

7V 至 30V 的超宽 VIN 输入范围,转换效率高达 96%的WD5030

WD5030 具备 7V 至 30V 的超宽 VIN 输入范围&#xff0c;这一特性使其能够适应多种不同电压等级的供电环境&#xff0c;无论是在工业设备中常见的较高电压输入&#xff0c;还是在一些便携式设备经过初步升压后的电压&#xff0c;WD5030 都能轻松应对&#xff0c;极大地拓展了应…...

基于 LeNet 网络的 MNIST 数据集图像分类

1.LeNet的原始实验数据集MNIST 名称&#xff1a;MNIST手写数字数据集 数据类型&#xff1a;灰度图 &#xff08;一通道&#xff09; 图像大小&#xff1a;28*28 类别数&#xff1a;10类&#xff08;数字0-9&#xff09; 1.通过torchvision.datasets.MNIST下载并保存到本地…...

智能体开发:推理-行动(ReAct)思维链提示

人类在处理一个需要多个步骤才能完成任务时&#xff0c;显著特点是能够将言语推理&#xff08;内心独白&#xff09;和实际行动融合在一起&#xff0c;在面对陌生或不确定的情况时通过这种方法学习新知识&#xff0c;做出决策&#xff0c;并执行&#xff0c;从而应对复杂的任务…...

Android Native 之 文件系统挂载

一、文件系统挂载流程概述 二、文件系统挂载流程细节 1、Init启动阶段 众所周知&#xff0c;init进程为android系统的第一个进程&#xff0c;也是native世界的开端&#xff0c;要想让整个android世界能够稳定的运行&#xff0c;文件系统的创建和初始化是必不可少的&#xff…...

DirectX12(D3D12)基础教程四 入门指南

本章主要讲了些D3D12概念和理论&#xff0c;对第一、二章相关概念的补充和纠正&#xff0c;要的理解D3D12概念和理论基础&#xff0c;结合代码加深理解。 命令队列和命令列表 为了实现渲染工作的重用和多线程缩放&#xff0c; 在 D3D12 中&#xff0c;做了三个重要方面不同于 …...

android13打基础: timepicker控件

public class Ch4_TimePickerActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {private TextView tv_time; // 声明一个文本视图对象private TimePicker tp_time; // 声明一个时间选择器对象Overrideprotected void onCreate(Nullable Bund…...

国产化板卡设计原理图:2330-基于FMC接口的JFM7K325T PCIeX4 3U PXIe接口卡

基于FMC接口的JFM7K325T PCIeX4 3U PXIe接口卡 一、板卡概述 本板卡基于 FPGAJFM7K325T 芯片&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900 &#xff0c;支持PCIeX8、64bit DDR3容量2GByte&#xff0c;HPC的FMC连接器&#xff0c;板卡支持PXIE标准协议&#xff0c;其中XJ3…...

Oracle SQL优化①——查看SQL执行计划的几种方法

前言 在日常的运维工作中&#xff0c;SQL优化是DBA的进阶技能&#xff0c;SQL优化的前提是要看SQL的执行计划是否正确&#xff0c;下面分享几种查看执行计划的方法&#xff0c;每一种方法都各有各的好处&#xff0c;可以根据特定场景选择某种方法。 一.使用AUTOTRACE查看执行…...