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

【技术】Ruby 生态概念速查表,通过对比nodejs生态(入门)

以下是 Ruby 生态 对应概念的速查表,并使用与 Node.js 生态 对比的方式来参照,涵盖名称、作用(或解释)、简单用法、可能的替代方案,以及 Node.js 中最相似或可类比的工具(如果有的话)。有些工具在两个生态中并没有完美对应,但可做近似类比。

名称解释/作用简单用法替代品/其他方案在 Node.js 里的对应品备注
Ruby一门面向对象的脚本语言,以灵活性和可读性著称。主要用于 Web 开发(Rails)、脚本工具等。直接安装后使用,常见版本管理工具有 RVM/rbenv。无(语言本身无替代)Node.js(同为运行时,不过语言不同:Node.js 是 JS,Ruby 是 Ruby)Ruby 与 Node.js 都是后端/脚本运行时,各自语言生态不同。
RubyGemsRuby 官方的包管理系统,负责发布/下载 gem(包)。gem install <gem_name> 安装某个 gem。Bundler 之上的基础层,非严格替代品。npm(Node.js 原生包管理器)只能安装单个 gem,不管理依赖冲突与版本锁定。
BundlerRuby 的依赖管理工具,通过 Gemfile/Gemfile.lock 管理多个 gem 间的版本依赖与安装。1. 在 Gemfile 声明依赖 \n2. bundle install 安装并锁定版本 \n3. bundle exec <command> 在当前环境执行命令历史上有 Isolate 等尝试,但几乎都被 Bundler 取代。npm + package-lock.json / yarn / pnpmRuby 生态默认/唯一主流 的依赖管理器。
gemRuby 社区对可复用代码包的称呼,类似“插件”或“库”。1. 编写 gemspec 文件描述元数据 \n2. 可发布到 RubyGems.org 或私有源 \n3. 在 Gemfile 中 gem 'xxx' 即可使用-package(npm 包)“gem” 是 Ruby 包的标准称呼,Node.js 那边则是 “package”。
GemfileBundler 的配置文件,用来声明项目所需 gem 以及 Ruby 版本等信息。在 Gemfile 里写: \nruby\nsource 'https://rubygems.org'\nruby '3.0.2'\ngem 'rails', '~> 6.1'\n...\n\n然后 bundle install-package.json两者都用于声明依赖,在 Node.js 里 package.json 也包含脚本命令、元信息等。
Gemfile.lockBundler 自动生成/更新的文件,锁定 gem 版本及依赖树,确保依赖可重现。通常不手动编辑,执行 bundle install / bundle update 后自动更新。-package-lock.json / yarn.lock / pnpm-lock.yamlNode.js 中也有 lock 文件用于锁定依赖版本并保证一致性。
RailsRuby on Rails,基于 Ruby 的 MVC Web 框架,约定优于配置,开发效率高,提供完善的脚手架与生态。1. gem install rails 安装 \n2. rails new myapp 创建新项目 \n3. rails server 运行开发服务器Sinatra、Hanami 等其他 Ruby Web 框架;不过 Rails 依旧是最流行。Express、Koa、NestJS 等 Node.js Web 框架Rails 也包含大量子模块(ActiveRecord 等),是一个非常完整的 Web 框架。
RVMRuby Version Manager,用于安装、切换多版本 Ruby,并支持 gemset 隔离依赖。1. rvm install 2.7.8 \n2. rvm use 2.7.8 \n3. 在 .rvmrcGemfile 中指定 Ruby 版本rbenv、chruby 等nvm(Node Version Manager)RVM 会改动 shell 环境较多,支持 gemset 功能。
rbenv同样用于管理 Ruby 版本的工具,相比 RVM 更“轻量”,对环境侵入小。1. rbenv install 2.7.8 \n2. rbenv local 2.7.8 \n3. rbenv global 3.0.2RVM、chrubynvm不内置 gemset 机制,多用 Bundler 来做依赖管理。
gemsetRVM 提供的功能,可将一组 gem 隔离在独立空间中,防止不同项目间依赖冲突。rvm gemset create <name> 然后 rvm use 2.7.8@<name>Bundler(主要依赖管理方案)(Node.js 通常通过 package.json + node_modules 隔离)gemset 不锁定依赖版本,需要配合 Bundler 才能完整管理依赖冲突。
rakeRuby 提供的类似 Make 的构建工具,用于编写各种自动化任务(如数据库迁移、生成文档等)。在 Rakefile 或 Rails 的 Rake 任务中写 task :demo do ... end;然后 rake demo 执行。Thor、rake + bash 等npm scripts / gulp / GruntRails 也有大量内置 Rake 任务,比如 rake db:migrate,Node.js 里常见的是 npm scripts、gulp 等自动化工具。
IRBInteractive Ruby,Ruby 自带的交互式解释器,可在终端即时执行 Ruby 代码。终端输入 irb 即可进入,输入 Ruby 代码并回车查看结果。Pry(更高级的交互式调试工具)Node.js REPLNode.js 也有类似的 REPL,用 node 命令即可进入。
PryRuby 的高级交互式调试工具,功能比 IRB 强大,包括代码内联调试、查看源代码等。gem install pry 安装后,代码中 require 'pry'; binding.pry 可进入调试,查看变量、执行命令等。IRB调试器如 node --inspect / Chrome DevTools 等Node.js 调试主要依赖内置调试器或第三方工具(如 VSCode Debug、Chrome DevTools)。
Active RecordRails 的 ORM(对象关系映射)模块,可以使用 Ruby 类定义数据库表结构,提供简洁的数据库操作接口。在 Rails 模型中: \nruby\nclass User < ApplicationRecord\nend\n\n可用 User.create(...)User.find(...) 等方法操作数据库。Sequel、ROM.rb 等其他 Ruby ORMSequelize、TypeORM、PrismaNode.js 里常见 ORM/ODM,功能类似。
RackRuby 的 Web 服务器接口规范,大多数 Ruby Web 框架都基于 Rack(包括 Rails、Sinatra、Padrino 等)。不直接“用”,而是通过使用 Rails/Sinatra 等框架间接使用 Rack。-Connect / Koa(早期 Koa 也有类似中间件机制)Node.js 里的 Connect 中间件机制和 Rack 有点类似,都是 HTTP 中间件堆栈思想。

使用建议

  • Ruby 项目如果是 Web 开发,最常见的选择就是 Rails + Bundler;如果想轻量一些可以用 SinatraHanami
  • Node.js 那边你通常就会接触到 npm / pnpm / yarn 等依赖管理工具,以及类似 ExpressKoaNestJS 的框架。
  • 对于 Ruby 版本管理,常用 RVMrbenv;Node.js 则常见 nvm
  • 不管是 Ruby 还是 Node.js,lock 文件(Gemfile.lock / package-lock.json 等)都至关重要,建议始终纳入版本控制(如 Git)中,确保可重现的部署环境。

希望这张对照表能够帮助你快速了解 Ruby 世界与 Node.js 世界的常见工具及对应关系。

相关文章:

【技术】Ruby 生态概念速查表,通过对比nodejs生态(入门)

以下是 Ruby 生态 对应概念的速查表&#xff0c;并使用与 Node.js 生态 对比的方式来参照&#xff0c;涵盖名称、作用&#xff08;或解释&#xff09;、简单用法、可能的替代方案&#xff0c;以及 Node.js 中最相似或可类比的工具&#xff08;如果有的话&#xff09;。有些工具…...

入门级宏基因组数据分析教程,从实验到分析与应用

宏基因组学彻底改变了研究人员对微生物群落的认识&#xff0c;微生物组不仅是环境组分&#xff0c;更作为共生体深刻影响着宿主的健康与功能。 鉴于微生物群落固有的复杂性及其所处环境的多样性&#xff0c;研究者进行一些宏基因组学研究时必须精心设计以获取能真实反映目标群体…...

解决 Vue 中 input 输入框被赋值后,无法再修改和编辑的问题

目录 需求&#xff1a; 出现 BUG&#xff1a; Bug 代码复现 解决问题&#xff1a; 解决方法1&#xff1a; 解决方法2 关于 $set() 的补充&#xff1a; 需求&#xff1a; 前段时间&#xff0c;接到了一个需求&#xff1a;在选择框中选中某个下拉菜单时&#xff0c;对应的…...

聚划算!CNN-GRU、CNN、GRU三模型多变量回归预测

聚划算&#xff01;CNN-GRU、CNN、GRU三模型多变量回归预测 目录 聚划算&#xff01;CNN-GRU、CNN、GRU三模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 聚划算&#xff01;CNN-GRU、CNN、GRU三模型多变量回归预测 (Matlab2023b 多输入单输出) 1.程…...

list的常见接口使用

今天&#xff0c;我们来讲解一下C关于STL标准库中的一个容器list的常见接口。 在我们之前c语言数据结构中&#xff0c;我们已经了解过了关于链表的知识点了&#xff0c;那么对于现在理解它也是相对来说比较容易的了。 数据结构--双向循环链表-CSDN博客 1. 定义与包含头文件 …...

5. 蓝桥公园

题目描述 小明喜欢观景&#xff0c;于是今天他来到了蓝桥公园。 已知公园有 N 个景点&#xff0c;景点和景点之间一共有 M 条道路。小明有 Q 个观景计划&#xff0c;每个计划包含一个起点 stst 和一个终点 eded&#xff0c;表示他想从 stst 去到 eded。但是小明的体力有限&am…...

零基础开始学习鸿蒙开发-智能家居APP离线版介绍

目录 1.我的小屋 2.查找设备 3.个人主页 前言 好久不发博文了&#xff0c;最近都忙于面试&#xff0c;忙于找工作&#xff0c;这段时间终于找到工作了。我对鸿蒙开发的激情依然没有减退&#xff0c;前几天做了一个鸿蒙的APP&#xff0c;现在给大家分享一下&#xff01; 具体…...

你的 Linux 服务器连不上网?10 分钟入门网络故障排查

问题现象&#xff1a;服务器突然失去网络连接 当你兴冲冲地打开终端&#xff0c;准备开始一天的开发工作时&#xff0c;却发现服务器无法连接网络&#xff0c;ifconfig命令只能看到本地环回接口(lo)。这种突如其来的网络中断可能会让很多Linux新手感到手足无措。 别担心&…...

《Vue Router实战教程》20.路由懒加载

欢迎观看《Vue Router 实战&#xff08;第4版&#xff09;》视频课程 路由懒加载 当打包构建应用时&#xff0c;JavaScript 包会变得非常大&#xff0c;影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块&#xff0c;然后当路由被访问的时候才加载对应组件&am…...

JVM 之 String 引用机制解析:常量池、堆内存与 intern 方法

案例一&#xff1a; String s1 new String("1"); String s2 "1"; System.out.println(s1 s2);s1: 执行 new String("1")&#xff0c;JVM 首先在字符串常量池中查找或添加字面量 "1"&#xff0c;然后在堆内存中新建一个内容为 &quo…...

如何在 Mac 上安装 Python

所有最新的 MacOS&#xff08;从 macOS 12.3 开始&#xff09;都预装了 Python 版本&#xff08;通常是 Python 2.x&#xff09;&#xff0c;但它已经过时并且不再受支持。要充分利用 Python 的功能&#xff0c;您需要安装最新版本的 Python。 本文提供了分步教程&#xff0c;展…...

无锡东亭无人机培训机构电话

无锡东亭无人机培训机构电话&#xff0c;随着科技的迅猛发展&#xff0c;无人机逐渐走入我们的生活和工作领域&#xff0c;成为多种行业中不可或缺的工具。而在其广泛的应用中&#xff0c;如何正确、熟练地操控无人机成为了关键。因此&#xff0c;找到一家专业的无人机培训机构…...

WPS复制粘贴错误 ,文件未找到 mathpage.wll

文章目录 1.错误提示图片2.解决方案1.找到MathType.wll文件和MathType Commands 2016.dotm文件并复制2.找到wps安装地址并拷贝上述两个文件到指定目录 3.重启WPS 1.错误提示图片 2.解决方案 1.找到MathType.wll文件和MathType Commands 2016.dotm文件并复制 MathType.wll地址如…...

蓝桥杯单片机刷题——按键设置当前采集距离为距离参数

设计要求 驱动超声波传感器&#xff0c;启动距离测量功能,并将其结果显示到数码管上。 按键“S5”定义为参数按键&#xff0c;按下S5按键&#xff0c;设备自动将当前采集的距离数据作为距离参数&#xff1b; 若测量的距离数据超过距离参数&#xff0c;指示灯L1点亮&#xff…...

mybaties plus 更新null值进入数据库

&#xff08;数据库一定要支持字段为null值&#xff09; 问题&#xff1a; 假设我现在数据库里有一个值是1&#xff0c;这个字段允许为null。 目前我使用的是的mybaties plus&#xff0c;我希望将这个值更新weinull&#xff0c;如何操作&#xff1f; 提示&#xff1a;如果直接…...

VSCode优雅的使用debug

原始用法&#xff1a;(这里不使用) 配置launch.json&#xff0c;里面传入参数然后debug&#xff0c;这里我们通常需要传入的参数比较多&#xff0c;而且经常修改参数&#xff0c;直接去修改launch.json会比较麻烦&#xff0c;所以使用sh脚本比较方便。 {// Use IntelliSense to…...

优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言

REST Assured 是一个功能强大的 Java 库&#xff0c;用于测试 RESTful Web 服务。它简化了 API 测试流程&#xff0c;提供了一整套用于高效验证响应的工具。在本篇博客中&#xff0c;我们将深入探讨几个核心概念&#xff0c;包括如何设置默认主机和端口、如何发起 GET 请求以及…...

JVM之String创建、拼接

一、字符串创建的两种方式 1. 字面量直接赋值 String s1 "a"; 过程&#xff1a; JVM 检查字符串常量池中是否存在 "a"。若存在&#xff0c;直接返回常量池中的引用。若不存在&#xff0c;在常量池中创建 "a"&#xff0c;返回其引用。 特点&a…...

UE5 模仿生存建造类游戏创建的过程

一、大概流程如下 点击界面按钮生成Actor->移动鼠标Actor的位置随着鼠标移动移动->点击鼠标左键确定Actor的位置 使用了盒体检测GetWorld()->SweepSingleByChannel()函数检测是否发生碰撞通过 FCollisionQueryParams CollisionParams;CollisionParams.AddIgnoredAc…...

大模型在慢性髓细胞白血病(CML)初治成人患者诊疗中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与内容 二、大模型技术与 CML 相关知识 2.1 大模型技术原理与特点 2.2 CML 的病理生理与诊疗现状 三、术前风险预测与手术方案制定 3.1 术前数据收集与预处理 3.2 大模型预测术前风险 3.3 根据预测…...

汽车性能的幕后保障:慧通测控电动尾翼综合力学测试浅析

在汽车性能不断追求极致的当下&#xff0c;电动尾翼已成为众多高性能车型以及部分新能源汽车提升空气动力学表现与操控稳定性的关键配置。从炫酷的超跑到注重续航与驾驶体验的新能源车&#xff0c;电动尾翼正逐渐崭露头角。它绝非仅仅是外观上的装饰&#xff0c;而是能在车辆行…...

动力电池自动点焊机:新能源汽车制造的智能焊接利器

在新能源汽车产业蓬勃发展的今天&#xff0c;动力电池作为其核心部件&#xff0c;其性能与安全性直接关系到整车的续航里程和使用寿命。而动力电池的制造过程中&#xff0c;焊接工艺是至关重要的一环。这时&#xff0c;动力电池自动点焊机便以其高效、精准、智能的特点&#xf…...

arm64架构的copy_from_user分析

文章目录 前言代码实现内核c代码copy_from_user_copy_from_userraw_copy_from_user 内核汇编代码copy_from_user.Scopy_template.S 汇编代码分析汇编简介标签.req伪指令.macro伪指令tbz指令neg指令str指令 copy_template.S分析 小结 前言 一谈到内核-用户空间的数据拷贝&#…...

【远程工具】1.1 时间处理设计与实现(datetime库lib.rs)

一、设计原理与决策 时间单位选择 采用**秒&#xff08;s&#xff09;**作为基准单位&#xff0c;基于以下考虑&#xff1a; 国际单位制&#xff08;SI&#xff09;基本时间单位 整数秒&#xff08;i64&#xff09;方案优势&#xff1a; 精确无误差&#xff08;相比浮点数&am…...

【STM32】解读启动文件startup_stm32f10x_md.s

栈空间 栈&#xff08;Stack&#xff09;&#xff1a;栈是一种后进先出&#xff08;LIFO&#xff09;的数据结构&#xff0c;用于存储函数调用时的局部变量、返回地址和寄存器的值。启动文件会定义栈的大小&#xff0c;并将栈指针初始化为栈顶地址。在函数调用时&#xff0c;…...

Redis下载稳定版本5.0.4

https://www.redis.net.cn/download/ Redis下载 Redis 版本号采用标准惯例:主版本号.副版本号.补丁级别,一个副版本号就标记为一个标准发行版本,例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的副版本号用来表示非标准版本,例如2.9.x发行版本是Redis 3.0标准版本的非标准发行版本…...

阿里云服务迁移实战: 02-服务器迁移

ECS 迁移 最简单的方式是 ECS 过户&#xff0c;不过这里有一些限制&#xff0c;如果原账号是个人账号&#xff0c;那么目标账号无限制。如果原账号是企业账号&#xff0c;则指定过户给相同实名认证的企业账号。 具体操作步骤可以参考官方文档 ECS过户 进行操作。 本文重点介绍…...

怎么解决CentOS上Zookeeper启动失败的问题

在 CentOS 上启动 Zookeeper 失败通常是由于配置错误、端口冲突、权限问题或 Java 环境配置问题导致的。我们可以逐步排查&#xff1a; 一、查看错误日志 Zookeeper 的日志目录一般在&#xff1a; /your-zookeeper-path/logs/zookeeper.out 或者&#xff1a; /your-zookeeper-p…...

《Vue3学习手记》

下面进入Vue3的学习&#xff0c;以下代码中都有很详细的注释&#xff0c;代码也比较清晰易懂&#xff1a; Vue3 index.html是入口文件 Vue3通过createApp函数创建一个应用实例 main.ts: // Vue3中通过createApp函数创建应用实例 // 引入createApp用于创建应用 import { crea…...

【Ubutun】 在Linux Yocto的基础上去适配4G模块

1&#xff09;、完整解决流程总结 一. 固定4G模块的网络接口名 usb0&#xff08;基于物理路径&#xff09; # 创建UDEV规则文件 sudo vi /etc/udev/rules.d/10-4g-rename.rules添加内容&#xff1a; SUBSYSTEM"net", ACTION"add", ATTRS{busnum}"2&…...

达梦数据库-学习-15-大内存SQL相关视图介绍

目录 一、环境信息 二、介绍 三、数据字典表 1、V$MEM_POOL 2、V$SQL_STAT 3、V$SQL_STAT_HISTORY 4、V$LARGE_MEM_SQLS 5、V$SYSTEM_LARGE_MEM_SQLS 四、总结 一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Co…...

分治-归并系列一>翻转对

目录 题目&#xff1a;解析&#xff1a;策略一&#xff1a; 代码&#xff1a;策略二&#xff1a; 代码&#xff1a; 题目&#xff1a; 链接: link 这题和逆序对区别点就是&#xff0c;要找到前一个元素是后一个元素的2倍 先找到目标值再&#xff0c;继续堆排序 解析&#xff1…...

微服务面试题

五大组件 注册中心/配置中心 nacos 服务注册 服务启动时 将自己的id等信息发送给nacos 完成注册 服务发现 服务需要调用其他服务时 从nacos获取服务列表 交给负载均衡选择 服务监控 临时实例 由服务每隔一段时间注册中心发送信息 表示自己存活 若注册中心超过一定时间没有…...

高级java每日一道面试题-2025年3月31日-微服务篇[Nacos篇]-Nacos集群模式下的部署方案有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: Nacos集群模式下的部署方案有哪些&#xff1f; 我回答: Nacos 集群模式下的部署方案详解 在 Java 高级面试中&#xff0c;Nacos 集群部署是考察候选人对分布式系统高可用性和扩展性理解的重要议题。以下是几种常见的 Nacos 集群部…...

3dmax的python通过普通的摄像头动捕表情

1、安装python 进入cdm&#xff0c;打python要能显示版本号 >>>&#xff08;进入python提示符模式&#xff09; import sys sys.path显示python的安装路径&#xff0c; 进入到python.exe的路径 在python目录中安装(ctrlz退出python交互模式) 2、pip install mediapipe…...

vue3+vite Cannot find module ‘@/XXXXXX‘ or its corresponding type declarations

在使用vue3vite 创建新的工程时会出现Connot find module /xxx错误&#xff0c;根本原因是vite 中没有配置跟目录别名导致的&#xff0c;可以在vite.config.ts 中增加如下配置 如果在tsconfig.json中增加 "compilerOptions": {"paths": {"/*": …...

vmware-exporter容器

vmware-exporter干嘛的&#xff0c;需要的都知道&#xff0c;不再赘述&#xff0c;如果你不了解&#xff0c;说明你也用不到&#xff0c;此文可略过。 如果你嫌自行部署比较麻烦&#xff0c;可移步https://download.csdn.net/download/qq_28608175/90595900下载容器打包文件&a…...

异形遮罩之QML中的 `OpacityMask` 实战

文章目录 &#x1f327;️ 传统实现的问题&#x1f449; 效果图 &#x1f308; 使用 OpacityMask 的理想方案&#x1f449;代码如下&#x1f3af; 最终效果&#xff1a; ✨ 延伸应用&#x1f9e0; 总结 在 UI 设计中&#xff0c;经常希望实现一些“异形区域”拥有统一透明度或颜…...

代码随想录算法训练营Day27 | Leetcode 56. 合并区间、738.单调递增的数字、968.监控二叉树

代码随想录算法训练营Day27 | Leetcode 56.合并区间、738.单调递增的数字、968.监控二叉树 一、合并区间 相关题目&#xff1a;Leetcode56 文档讲解&#xff1a;Leetcode56 视频讲解&#xff1a;Leetcode56 1. Leetcode56. 合并区间 以数组 intervals 表示若干个区间的集合&am…...

【SQL】常见SQL 行列转换的方法汇总 - 精华版

【SQL】常见SQL 行列转换的方法汇总 - 精华版 一、引言二、SQL常见的行列转换对比1. 行转列 Pivoting1.1 ​​CASE WHEN 聚合函数​​1.2 ​​IF 聚合函数​​1.3 ​​PIVOT操作符​​ 2.列转行 Unpivoting2.1 UNION ALL​​2.2 ​​EXPLODE函数&#xff08;Hive/Spark&#…...

docx文档转为pdf文件响应前端

1、转换文件&#xff08;docx~pdf&#xff09; 1.引入pom依赖 <dependency><groupId>com.aspose</groupId><artifactId>aspose-words</artifactId><version>20.12.0</version> </dependency>2.读取docx文档数据-转换 // 初…...

python办公自动化------word转换pdf

需要安装包&#xff1a;docx2pdf 例1&#xff1a;将docx文件转换为pdf文件 from docx2pdf import convertconvert("./dataFile/test_doc.docx", "./dataFile/测试文件转换.pdf") 运行结果&#xff1a;...

cs224w课程学习笔记-第10课

cs224w课程学习笔记-第10课 异构图 前言一、异构图1、异构图定义2、异构图与同构图 二、异构图下的GNN1、GCN扩展至RGCN1.1 RGCN原理1.2 异构图的任务预测特点1.3 异构图任务预测基础案例 2、完整的异构图GCN三、异构图下的Transformer 前言 异构图的定义是节点内部存在类型不…...

leetcode每日一题:查询数组异或美丽值

引言 今天的每日一题原题是2843. 统计对称整数的数目&#xff0c;由于数据量很小&#xff0c;最大只是到10000&#xff0c;所以直接模拟即可&#xff0c;不需要复杂的数位DP&#xff0c;反而执行的更慢。更换成前几天遇到的更有意思的一题来写这个每日一题。 题目 2527. 查询…...

【C#】一种优雅的基于winform的串口通信管理

serialPort.DataReceived、串口优雅管理 完整《C#串口通信系统》功能清单 Part 1 — SerialPortManager.cs —— 串口核心管理类 using System; using System.IO.Ports; using System.Text; using System.Threading; using System.Windows.Forms;/// <summary> /// 专业…...

【Linux】ubuntu环境变量配置以及shell配置文件编写

一、确定配置文件类型 输入命令确定配置文件类型 echo $SHELL输出如果是 /bin/zsh&#xff0c;那就改 .zshrc&#xff1b;如果是 /bin/bash&#xff0c;那就改 .bashrc。 下面以 .bashrc 为例。 二、编辑 ./bashrc 文件 输入命令编辑配置文件。 vim ~/.bashrc在文件末尾添…...

.NET MAUI教程2-利用.NET CommunityToolkit.Maui框架弹Toast

在上一篇博文的基础上继续操作&#xff1a; .NET MAUI教程1-入门并发布apk包安装到真机-CSDN博客 本文内容参考&#xff1a; Toast - .NET MAUI Community Toolkit - Community Toolkits for .NET | Microsoft Learn 1 在NuGet包管理器中安装 MAUI Community Toolkit&…...

Android 16应用适配指南

Android 16版本特性介绍 https://developer.android.com/about/versions/16?hlzh-cn Android 16 所有功能和 API 概览 https://developer.android.com/about/versions/16/features?hlzh-cn#language-switching Android 16 发布时间 Android 16 适配指南 Google开发平台&…...

<C#>在 C# .NET 6 中,使用IWebHostEnvironment获取Web应用程序的运行信息。

在 C# .NET 6 中&#xff0c;IWebHostEnvironment 接口提供了有关应用程序运行环境的信息&#xff0c;例如应用程序的根目录、环境名称等。它在处理文件路径、加载配置文件以及根据不同环境提供不同服务等场景中非常有用。以下是关于 IWebHostEnvironment 的详细用法介绍&#…...

在 STM32 中实现电机测速的方法介绍

在 STM32 中实现电机测速的方法介绍 关键字&#xff1a;M 法测速&#xff0c; T 法测速&#xff0c;编码器 1. 电机测速方法介绍 在电机控制类应用中&#xff0c;经常会需要对电机转速进行检测&#xff0c;测速常用的方式有 M 法测速和 T法测速。 M 法测速是利用在规定时间 …...