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

六十天前端强化训练之第三十二天之Babel 转译配置大师级深度讲解

=====欢迎来到编程星辰海的博客讲解======

看完可以给一个免费的三连吗,谢谢大佬!

 

目录

一、核心概念与知识体系详解

1. Babel 工作原理全景解析

二、完整配置方案(带详细注释)

1. 进阶版 .babelrc 配置

2. Webpack 集成配置(带优化参数)

三、详细配置参数对照表

1. @babel/preset-env 核心参数表

2. @babel/plugin-transform-runtime 参数表

四、完整代码示例(带详细注释)

1. 原始代码 src/main.js

五、进阶配置技巧

1. 浏览器兼容性策略对比

2. Polyfill 注入方式对比

六、构建效果分析

1. 转译前后代码对比

2. Polyfill 自动注入示例

七、调试与优化指南

1. 调试配置建议

2. 构建优化方案

八、扩展阅读推荐

1. 官方资源

2. 精选教程

3. 工具资源

九、最终效果验证(需实际运行)

1. 现代浏览器控制台输出

2. IE11 兼容性验证

3. 构建产物分析报告


一、核心概念与知识体系详解

1. Babel 工作原理全景解析

MARKDOWN

       ┌─────────────┐       ┌──────────────┐       ┌──────────────┐│  ES6+ 代码  │─────▶ │   解析器      │─────▶ │ 抽象语法树   │└─────────────┘       │ (Babylon)    │       │   (AST)      │└──────────────┘       └──────────────┘│                     │▼                     ▼┌──────────────┐       ┌──────────────┐│  转换器      │─────▶ │  生成器      ││ (Plugins)    │       │ (Generator)  │└──────────────┘       └──────────────┘│                     │▼                     ▼┌──────────────┐       ┌──────────────┐│ 转换后AST    │─────▶ │  ES5 代码     │└──────────────┘       └──────────────┘

执行流程说明:

  1. 解析阶段:将源代码转换为抽象语法树(AST)
  2. 转换阶段:通过插件对AST进行增删改操作
  3. 生成阶段:将修改后的AST转换为目标代码

二、完整配置方案(带详细注释)

1. 进阶版 .babelrc 配置

JSON

{"presets": [["@babel/preset-env", {// 目标环境配置(建议使用 browserslist 配置文件统一管理)"targets": {"browsers": ["> 1% in CN",    // 中国使用率大于1%的浏览器"last 2 versions", // 每个浏览器的最后两个版本"not ie <= 10"   // 排除 IE10 及以下版本]},// Polyfill 加载策略(推荐使用 usage 模式)"useBuiltIns": "usage", // core-js 配置"corejs": {"version": 3,      // 使用 core-js@3 版本"proposals": true  // 包含 stage 3 阶段的提案特性},// 模块转换策略"modules": false     // 保留ES模块语法(由打包工具处理)}]],"plugins": [["@babel/plugin-transform-runtime",{"corejs": 3,        // 启用 core-js 3 的 runtime 版本"helpers": true,    // 复用工具函数"regenerator": true // 启用 generator 函数转换}]]
}
2. Webpack 集成配置(带优化参数)

JAVASCRIPT

const path = require('path');module.exports = {entry: './src/main.js',  // 主入口文件output: {filename: 'bundle.[contenthash:8].js', // 带哈希的文件名path: path.resolve(__dirname, 'dist')  // 输出目录},module: {rules: [{test: /\.m?js$/,  // 匹配所有JS文件exclude: /node_modules/, // 排除 node_modulesuse: {loader: 'babel-loader',options: {cacheDirectory: true, // 启用缓存(提升构建速度)cacheCompression: false // 禁用缓存压缩(提升读取速度)}}}]},resolve: {extensions: ['.js'] // 自动解析的文件扩展名}
};


三、详细配置参数对照表

1. @babel/preset-env 核心参数表
参数名称类型默认值功能说明推荐配置
targetsObject{}指定目标环境,支持 browserslist 格式根据项目需求定义
useBuiltInsString"false""usage"按需加载/"entry"入口引入/"false"不自动加载"usage"
corejsObject2指定 core-js 版本和提案特性{version:3,proposals:true}
modulesString"auto"转换模块语法("amd"|"umd"|"systemjs"|"commonjs"|"cjs"|"auto"|false)false(由webpack处理)
debugBooleanfalse输出调试信息开发环境启用
2. @babel/plugin-transform-runtime 参数表
参数名称类型默认值功能说明推荐配置
corejsBooleanfalse是否启用 core-js 的 runtime 版本3
helpersBooleantrue是否复用工具函数true
regeneratorBooleantrue是否转换 generator 函数true
versionString7.0.0指定运行时版本号自动检测

四、完整代码示例(带详细注释)

1. 原始代码 src/main.js

JAVASCRIPT

// 使用 ES6 箭头函数与模板字符串
const greeting = name => console.log(`Hello, ${name}!`);// 使用 ES6 Promise 与 async/await
const fetchData = async () => {try {const response = await fetch('/api/data');const data = await response.json();return data;} catch (error) {console.error('Fetch failed:', error);}
};// 使用 ES6 类语法与装饰器(需要额外插件)
class Person {constructor(name) {this.name = name;}@logMethod // 实验性装饰器语法greet() {console.log(`My name is ${this.name}`);}
}// 使用 Array.includes (ES7)
const numbers = [1, 2, 3];
console.log(numbers.includes(2));// 使用可选链操作符 (ES2020)
const user = { profile: { name: 'Alice' } };
console.log(user?.profile?.age ?? 'unknown');


五、进阶配置技巧

1. 浏览器兼容性策略对比
策略类型配置示例优点缺点
版本范围指定"chrome > 60", "ie >= 11"精确控制目标版本需手动维护浏览器列表
市场占有率策略"> 5%", "not dead"自动跟踪主流浏览器无法应对特殊兼容需求
最新版本策略"last 2 Chrome versions"保持技术前沿可能忽略旧版本用户
定制条件组合"> 1% in CN", "not ie <= 11"灵活应对地域需求配置复杂度较高
2. Polyfill 注入方式对比

JAVASCRIPT

// 方式1:全量引入(不推荐)
import "core-js/stable";
import "regenerator-runtime/runtime";// 方式2:按需引入(推荐配置)
// 在 .babelrc 中设置 useBuiltIns: 'usage'
// Babel 会自动检测并注入所需 Polyfill// 方式3:runtime 轻量引入(特殊场景)
// 需配合 @babel/plugin-transform-runtime
// 生成不污染全局环境的 Polyfill


六、构建效果分析

1. 转译前后代码对比

原始箭头函数:

JAVASCRIPT

const sum = (a, b) => a + b;

转译后代码:

JAVASCRIPT

"use strict";var sum = function sum(a, b) {return a + b;
};
2. Polyfill 自动注入示例

JAVASCRIPT

// 原始代码
const array = [1, 2, 3];
console.log(array.includes(2));// 转译+Polyfill 后
require("core-js/modules/es.array.includes.js");var array = [1, 2, 3];
console.log(array.includes(2));


七、调试与优化指南

1. 调试配置建议

BASH

# 1. 生成 sourcemap
// webpack.config.js
module.exports = {devtool: 'source-map'
}# 2. 启用 Babel 调试模式
// .babelrc
{"env": {"development": {"sourceMaps": "inline"}}
}
2. 构建优化方案

JAVASCRIPT

// webpack.config.js 优化配置示例
module.exports = {// ...optimization: {splitChunks: {chunks: 'all', // 代码分割cacheGroups: {vendor: {test: /[\\/]node_modules[\\/]/,name: 'vendors'}}}}
}


八、扩展阅读推荐

1. 官方资源
  • Babel 官方文档
  • core-js 特性支持表
  • Browserslist 配置规范
2. 精选教程
  • 《现代 JavaScript 工程化体系》- 前端架构师指南
  • 《从零配置企业级 Babel》- 前端工程化实践手册
  • 《Babel 插件开发全攻略》- GitHub 开源文档
3. 工具资源
  • Babel REPL 在线沙箱
  • CanIUse 兼容性查询
  • Bundle Analyzer 分析工具

九、最终效果验证(需实际运行)

1. 现代浏览器控制台输出

2. IE11 兼容性验证
3. 构建产物分析报告

通过本配置方案,开发者可以:

  1. 实现现代 JavaScript 到 ES5 的精确转换
  2. 智能按需加载 Polyfill(减少 60%+ 体积)
  3. 支持 IE11 等历史浏览器的平滑运行
  4. 保持代码可维护性与构建性能的平衡

建议在项目中结合 ESLint 的 eslint-plugin-compat 插件,实时检测代码的浏览器兼容性情况。

相关文章:

六十天前端强化训练之第三十二天之Babel 转译配置大师级深度讲解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、核心概念与知识体系详解 1. Babel 工作原理全景解析 二、完整配置方案&#xff08;带详细注释&#xff09; 1. 进阶版 .babelrc 配置 2. Webpack 集成配置&#xff08…...

nginx部署前端项目(linux、docker)

引言 在CentOS 7系统上使用docker安装nginx&#xff0c;使用nginx部署一个由Vue开发、打包的项目 docker安装nginx 这里不多赘述&#xff0c;直接上docker-compose.yml代码 nginx:container_name: nginximage: nginx:1.27.2ports:- "80:80"volumes:- /docker/ngin…...

支付页面安全与E-Skimming防护----浅谈PCI DSS v4.0.1要求6.4.3与11.6.1的实施

关键词&#xff1a;支付页面安全、E-Skimming、PCI DSS v4.0.1、第三方脚本、风险管理、持卡人数据、数据安全、第三方服务提供商、TPSP、内容安全、网页监控、恶意脚本攻击 本文为atsec和作者技术共享类文章&#xff0c;旨在共同探讨信息安全的相关话题。转载请注明&#xff…...

配置完nfs后vmware虚拟机下ubuntu/无法联网问题

背景&#xff1a;我在用imx6ull配置完nfs和tftp后&#xff0c;哪怕还原了设置也连不上网&#xff0c;网上的教程都没用&#xff0c;什么配置路由&#xff0c;配置ip&#xff0c;配置什么用户文件&#xff0c;都没用&#xff0c;最后试出来了一个方法&#xff0c;解决问题。 方法…...

【含文档+PPT+源码】基于大数据的交通流量预测系统

项目介绍 本课程演示的是一款基于大数据的交通流量预测系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该项目附带的源码…...

关于Qt的各类问题

目录 1、问题&#xff1a;Qt中文乱码 2、问题&#xff1a;启动时避免ComBox控件出现默认值 博客会不定期的更新各种Qt开发的Bug与解决方法,敬请关注! 1、问题&#xff1a;Qt中文乱码 问题描述&#xff1a;我在设置标题时出现了中文乱码 this->setWindowTitle("算法…...

Oracle19C的启动及停止

在 Oracle 19c 中&#xff0c;停止和启动数据库实例是常见的操作。以下是详细的步骤&#xff0c;涵盖单实例和 RAC 环境。 1. 停止 Oracle 19c 数据库实例 1.1 使用 SQL*Plus 停止数据库 连接到数据库实例&#xff1a; sqlplus / as sysdba 停止数据库&#xff1a; 正常关闭…...

端侧设备(如路由器、家庭网关、边缘计算盒子、工业网关等)的典型系统、硬件配置和内存大小

🏠 家用/工业级边缘设备硬件概览 类型常见设备示例CPU 架构内存范围操作系统类型家用路由器TP-Link、小米、华硕、OpenWrtARM Cortex-A7/A964MB~256MBOpenWrt / DD-WRT / Embedded Linux智能家庭网关华为、绿米、天猫精灵、Aqara HubARM Cortex-M/R128MB~512MBEmbedded Lin…...

tcp接发json字符串

因工作需要对接硬件设备,需要通过tcp协议接收发送字符串,而字符串里面全是json字符串,登陆用json对象发送,心跳也用json发送,设备检测到信号后自动推送的也是json字符串,只要登陆后心跳就要每过10秒发送一次,而信号的推送则是在登陆后的任意时间发生.每个json与json之间没有换行…...

string模拟实现-C++

一、目标 string函数是C中常用的库函数&#xff0c;在string中有许多操作函数&#xff0c;对于一些常用的操作函数&#xff0c;我们可以自己模拟实现一下。 实现的操作有&#xff1a; 迭代器 构造函数 拷贝构造函数 析构函数 赋值运算符重载 c_str() size() [ ]运算符重…...

uni-app AES 加密

uni-app 官网没有 加密 API 我们 可以 安装 crypto-js npm install crypto-js他会保存到项目中 node_modules import CryptoJS from ../node_modules/crypto-js //引用AES源码js const keyCode 012345678 //密钥 const ivCode 012345678 //偏移量const key CryptoJS.enc.Ut…...

【STM32】GPIO输入(按键)

目录 一、如何分辨GPIO输入使用什么电频二、输入抖动问题如何消抖三、示例代码 一、如何分辨GPIO输入使用什么电频 先看原理图 即可知道他的初始输入状态需要高电平 判断可知使用上拉输入 二、输入抖动问题如何消抖 电路图中, 按键输入有额外的电容电阻, 是为了消抖 消抖方…...

Manus AI 与多语言手写识别技术解析

Manus AI 与多语言手写识别技术解析 Manus AI 是一家专注于人工智能技术的公司&#xff0c;其多语言手写识别技术在多个领域展现了强大的应用潜力。本文将从技术原理、应用场景、优势与挑战等方面&#xff0c;深入解析 Manus AI 的多语言手写识别技术。 1. 技术原理 (1) 手写…...

每日总结3.28

蓝桥刷题 3227 找到最多的数 方法一&#xff1a;摩尔投票法 #include <bits/stdc.h> using namespace std; #define int long long signed main() { int n,m; cin>>n>>m; int a[m*n]; for(int i0;i<n*m;i) { cin>>a[i]; } int cand…...

NX二次开发刻字功能——预览功能

这个预览功能其实在NX软件中很常见,有利于建模者确定刻字的位置,这个功能早在唐康林老师的超级长方体教程中出现过。我只是学以致用。把该功能集成刻字中。 在勾选预览的同时,如果点击放大镜也就是显示预览结果,要刻字的对象透明度数值为70,同时预览结果文字会变成撤销,如…...

算法 | 2024最新算法:鳑鲏鱼优化算法原理,公式,应用,算法改进研究综述,matlab代码

2024最新鳑鲏鱼优化算法(BFO)研究综述 鳑鲏鱼优化算法(Bitterling Fish Optimization, BFO)是2024年提出的一种新型群智能优化算法,受鳑鲏鱼独特的繁殖行为启发,通过模拟其交配、产卵和竞争机制进行全局优化。该算法在多个领域展现出优越性能,尤其在解决复杂非线性问题中…...

WPF基础知识(续)

六、WPF 中的样式和模板 样式定义&#xff1a; 可以在 XAML 中定义样式来统一 UI 元素的外观和风格。样式可以定义在资源字典中&#xff0c;也可以直接在窗口或控件的Resources属性中定义。例如&#xff0c;定义一个按钮的样式&#xff1a; <Window.Resources><Sty…...

Go 语言 sync 包使用教程

Go 语言 sync 包使用教程 Go 语言的 sync 包提供了基本的同步原语&#xff0c;用于在并发编程中协调 goroutine 之间的操作。 1. 互斥锁 (Mutex) 互斥锁用于保护共享资源&#xff0c;确保同一时间只有一个 goroutine 可以访问。 特点&#xff1a; 最基本的同步原语&#x…...

MybatisPlus(SpringBoot版)学习第四讲:常用注解

目录 1.TableName 1.1 问题 1.2 通过TableName解决问题 1.3 通过全局配置解决问题 2.TableId 2.1 问题 2.2 通过TableId解决问题 2.3 TableId的value属性 2.4 TableId的type属性 2.5 雪花算法 1.背景 2.数据库分表 ①垂直分表 ②水平分表 1>主键自增 2>取…...

集成开发环境革新:IntelliJ IDEA与Cursor AI的智能演进

集成开发环境革新&#xff1a;IntelliJ IDEA 与 Cursor AI 的智能演进 集成开发环境&#xff08;IDE&#xff09; 是软件开发者必不可少的工具。一个优秀的 IDE 不仅能够帮助编写和调试代码&#xff0c;还能集成版本控制和代码优化等多种功能。如今&#xff0c;随着人工智能&a…...

Qt弹出新窗口并关闭(一个按钮)

参考&#xff1a;Qt基础 练习&#xff1a;弹出新窗口并关闭的两种实现方式&#xff08;两个按钮、一个按钮&#xff09;_qt打开一个窗口另一个关闭-CSDN博客 实现&#xff1a; 一个按钮&#xff0c;点击一次&#xff0c;按钮的名字从open window变为close window&#xff0c;…...

暴力搜索算法详解与TypeScript实战

# 暴力搜索算法详解与TypeScript实战## 什么是暴力搜索&#xff1f;暴力搜索&#xff08;Brute Force Search&#xff09;是算法领域最基础的解题方法之一&#xff0c;其核心思想是**系统性地枚举所有可能的候选解**&#xff0c;并验证每个候选解是否满足问题条件。这种方法不依…...

[识记]Mysql8 远程授权

今天在测试docker时&#xff0c;因更换为Mysql8&#xff0c;使用SQL方式实现远程授权&#xff0c;其方式方法同于Mysql&#xff0c;但语句稍有不同&#xff0c;仅供参考。 登录mysql mysql -u root -p 输入密码: [请依据交互输入你的mysql密码]切换数据库 use mysql;选择需要…...

5.1 WPF路由事件以及文本样式

一、路由事件 WPF中存在一种路由事件&#xff08;routed event&#xff09;&#xff0c;该事件将发送到包含该控件所在层次的所有控件&#xff0c;如果不希望继续向更高的方向传递&#xff0c;只要设置e.Handled true即可。 这种从本控件-->父控件->父的父控件的事件&am…...

做规控算法时用到的一些简单函数和功能(c++)(持续更新中)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、将偏航角转换为四元数二、RCLCPP_INFO_STREAM(rclcpp::get_logger("mission_planner"),"&#xff08;打印标志位&#xff09;"<<…...

android studio 运行flutter项目

在Android Studio中运行Flutter项目 简介 Flutter是一个流行的跨平台移动应用开发框架&#xff0c;而Android Studio是一种强大的集成开发环境&#xff0c;支持Flutter开发。本文将介绍如何在Android Studio中运行Flutter项目&#xff0c;让开发者能够更加方便地进行Flutter应…...

如何用 Postman 进行高效的 Mock 测试?

Postman 是一个强大的 API 开发和测试工具&#xff0c;它可以让你轻松地创建和发送各种 HTTP 请求&#xff0c;查看响应结果&#xff0c;并进行调试和优化。但是有时候&#xff0c;你可能还没有开发好后端服务&#xff0c;或者想要模拟不同的响应场景&#xff0c;这时候就可以使…...

1718_js事件

目录 事件基础 一 DOM0级事件 1.1添加事件 1.2删除事件 二 DOM2级事件 2.1 添加事件 2.2 移除事件 三 常见的鼠标事件 四 其他事件 五 事件对象 5.1 获取事件对象 5.2 兼容写法 六 七、键盘事件 7.2键盘码 7.3 组合键 八、事件对象的属性 九、 事件冒泡 十…...

OpenCV图像输入输出模块imgcodecs

《OpenCV计算机视觉开发实践&#xff1a;基于Python&#xff08;人工智能技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 要处理图像&#xff0c;第一步就是把图像文件从磁盘上读取到内存&#xff0c;处理完毕后再保存到内存&#xff0c;所以…...

OAS光学分析软件 | 高光束反射器设计案例

简介 在光学设计领域&#xff0c;满足特定的光束要求并符合相关标准规范是设计的关键目标。本次设计旨在借助 OAS 光学分析软件&#xff0c;打造一个符合欧洲经委会&#xff08;ECE&#xff09;规定的高光束反射器。欧洲经委会对狭窄宽度&#xff08;高&#xff09;波束图案有…...

检查指定的IP地址和端口号是否可以连接

是的&#xff0c;Socket 类可以直接用来检查指定的IP地址和端口号是否可以连接。以下是一个简单的Java代码示例&#xff0c;展示如何使用 Socket 类来检查连接是否可用&#xff1a; import java.net.Socket; import java.net.UnknownHostException; public class NetworkCheck…...

【商城实战(93)】商城高并发实战:分布式锁与事务处理深度剖析

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…...

【C++】模拟实现一颗二叉搜索树

❤️欢迎来到我的博客❤️ 前言 搜索二叉树是在二叉树的基础上加了一个特征&#xff1a;左子树的所有节点都小于根&#xff0c;右子树的所有节点都大于根&#xff08;每一颗子树都要满足&#xff09; 因为这个特性的存在&#xff0c;使得他特别擅长搜索数据 比如我要寻找10&a…...

vue 点击放大,图片预览效果

背景&#xff1a; 在vue框架element组件的背景下&#xff0c;我们对图片点击放大(单张)&#xff1b;如果是多张图片&#xff0c;要支持左右滑动查看多张图片(多张)。 图片单张放大&#xff0c;el-image图片组件&#xff0c;或者原生的img标签。previewSrcList string[单个] 图片…...

AI知识补全(七):AI Agent 智能代理是什么?

名人说&#xff1a;人生如逆旅&#xff0c;我亦是行人。 ——苏轼《临江仙送钱穆父》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知识补全&#xff08;六&#xff09;&#xff1a;RLHF 人类反馈…...

Java 中各种锁的使用详解

Java 锁的使用详解 Java 提供了多种锁机制来处理并发编程中的同步问题。下面我将通过代码示例来展示各种锁的使用方法和特点。 锁的选择指南 以下是选择合适锁的指南&#xff1a; 基本锁类型演示 // 由于这是在 Node.js 环境中模拟 Java 锁的概念&#xff0c;我们将使用注释…...

【GreenHills】GHS解决客户端在连接的时候提示在黑名单

1、 文档目标 解决GHS网络版客户在客户端连接的时候出现黑名单的问题 2、 问题场景 用于解决GHS的网络版客户在搭建完服务端后&#xff0c;客户端去连接服务的时候出现提示“在黑名单中”等情况&#xff08;如图2-1和图2-2&#xff09;。但是在服务器上面并没有设置黑名单。 …...

智能运维时代的网络拓扑管理:乐维监控的架构可视化实践

在数字化转型的浪潮中&#xff0c;企业IT基础设施正经历着前所未有的复杂化进程。当数以千计的网络设备、服务器、存储系统构成庞大网络体系时&#xff0c;如何实现全局可视化管理已成为企业数字化转型的关键命题。乐维监控网络拓扑系统作为新一代智能运维平台的核心组件&#…...

GitHub美化个人主页3D图表显示配置操作

这个功能主要是用的这个开源仓库&#xff1a;https://github.com/yoshi389111/github-profile-3d-contrib 想看效果的话&#xff0c;我的个人主页&#xff1a;https://github.com/Sjj1024 开始操作 1.创建自己的github主页属性项目——跟你github用户名一致即可&#xff0c;…...

Arduino示例代码讲解:Serial Event example 连续事件例子

Arduino示例代码讲解:Serial Event example 连续事件例子 Serial Event example 连续事件例子功能概述硬件部分:软件部分:代码逐行解释定义变量`setup()` 函数`loop()` 函数`serialEvent()` 函数工作原理Serial Event example 连续事件例子 这段代码是一个Arduino示例程序,…...

Java基础关键_031_反射(一)

目 录 一、概述 二、获取 Class 的三种方式 1.Class.forName("完整全限定类名") 2.getClass() 3.class 属性 三、通过反射机制实例化对象 1.newInstance()&#xff08;已过时&#xff09; 2.配置文件利用反射机制实例化对象 四、反射 Class 的 Field 1.获取 P…...

verilog/systemverilog中的位序问题

verilog或者systemverilog中在使用位选择时&#xff0c;必须按照定义的大小端顺序进行位选操作&#xff0c;比如定义了reg [11:0] data&#xff0c;在使用data的中间4位时&#xff0c;必须使用data[7:4]&#xff0c;不能使用data[4:7]。 如下示例&#xff1a; module tb;reg […...

JVM考古现场(十三):混沌重启——从量子永生到宇宙热寂的终极编译

开篇&#xff1a;鸿蒙初判熵火燎原"诸君可曾窥见《诛仙剑阵》终章里那冻结的量子递归&#xff1f;当Project Omega的热寂算法冰封时空熵增&#xff0c;当意识编译器的玻尔兹曼大脑撕裂熵障&#xff0c;此刻我们将踏碎归墟晶壁&#xff0c;在第十三维度叩问&#xff1a;从代…...

CARLA常见技术问题集锦(一)地图与场景构建篇

编者荐语&#xff1a; 在自动驾驶技术加速落地的今天&#xff0c;CARLA 仿真引擎凭借其开源生态与高保真仿真能力&#xff0c;已成为全球开发者构建智能驾驶算法的核心工具之一。随着虚幻引擎 5.5 的全面升级&#xff0c;CARLA 0.10.0 版本实现了视觉革命&#xff1a;Lumen 全…...

视图、MySQL、触发器、存储过程、流程控制语句

DAY19.1 Java核心基础 MySQL 视图 数据库中的一张虚拟的表&#xff0c;允许不同用户和不同程序以不同的方式查询同一张表的数据 基于数据表&#xff0c;创建一个虚拟的表&#xff0c;然后可以选择需要展示的字段 为不同的用户创建不同的视图&#xff0c;一个视图包含薪资&…...

多层感知机(MLP)全面指南

多层感知机(MLP) 是一种人工神经网络,由多个神经元层组成。MLP中的神经元通常使用非线性激活函数,使得网络能够学习数据中的复杂模式。MLP 在机器学习中非常重要,因为它能够学习数据中的非线性关系,使其成为分类、回归和模式识别等任务中的强大模型。 神经网络基础 神经…...

【第13届蓝桥杯C/C++B组省赛】顺子日期

答案&#xff1a;14 1.数组办法解决 思路&#xff1a;前四个元素已经确定&#xff0c;分别枚举其他元素的合法性 #include <stdio.h> int main() {int a[8] {2,0,2,0,0,0,0,0};int month[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};int i,j;int count 0;for(i 1;…...

智慧医疗胃癌检测数据集VOC+YOLO格式487张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;487 标注数量(xml文件个数)&#xff1a;487 标注数量(txt文件个数)&#xff1a;487 标注…...

每日一题-力扣-2716: 最小化字符串长度 0328

LeetCode 2716: 最小化字符串长度问题剖析 题目解读 LeetCode 2716 是一道关于字符串操作的算法题。这道题乍看复杂&#xff0c;实则蕴含着优雅的数学规律。题目要求通过一系列特定的删除操作来最小化字符串的长度&#xff1a; 给定一个下标从 0 开始的字符串 s每次操作可以选…...

量子计算:开启未来计算的新纪元

一、引言 在当今数字化时代&#xff0c;计算技术的飞速发展深刻地改变了我们的生活和工作方式。从传统的电子计算机到如今的高性能超级计算机&#xff0c;人类在计算能力上取得了巨大的进步。然而&#xff0c;随着科技的不断推进&#xff0c;我们面临着越来越多的复杂问题&…...