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

第1课:React开发环境搭建与第一个组件

第1课:React开发环境搭建与第一个组件

学习目标

  • 搭建React开发环境
  • 创建第一个React项目
  • 了解项目基本结构
  • 编写并运行第一个React组件

一、环境准备

1. 安装Node.js

React开发需要Node.js环境,它包含了npm(Node Package Manager)工具。

安装步骤:
在这里插入图片描述

  1. 访问 Node.js官网
  2. 下载LTS版本(推荐大多数用户使用)
  3. 运行安装程序,全部使用默认选项
  4. 安装完成后,验证是否成功:

打开终端(Windows: cmd/PowerShell, Mac: Terminal)输入:

node -v
npm -v

应该能看到版本号(如v18.x.x),说明安装成功。
在这里插入图片描述

二、创建React项目

我们将使用官方推荐的create-react-app工具来快速搭建项目。

# 1. 升级 npm
npm install -g npm@latest# 2. 使用 npx 创建 React 项目(推荐)
npx create-react-app my-app
cd my-app
npm start# 3. 若需全局安装,清理缓存后重试
npm cache clean --force
npm install -g create-react-app# 4. 查看资金详情或关闭提示
npm fund          # 查看需要支持的包
npm config set fund false --location=global  # 全局关闭提示注意:React 团队已明确表示不再推荐使用 create-react-app(CRA),而是推荐使用 Vite 或其他现代工具(如 react-create-app)。官方提示链接:https://react.dev/link/cra
# 清理当前目录
del package.json
rmdir /s /q node_modules# 创建 Vite React 项目
npm create vite@latest task-manager -- --template react# 进入项目目录并启动
cd task-manager
npm install
npm run dev

操作步骤:

  1. 在终端运行以下命令:请参考命名规则,别出了问题
npm create vite@latest task-manager -- --template react
  • npm 命名规则
G:\20250405>npm create vite@latest task-manager -- --template react
Need to install the following packages:
create-vite@6.3.1
Ok to proceed? (y) y> npx
> cva task-manager --template react|
o  Scaffolding project in G:\20250405\task-manager...
|
—  Done. Now run:cd task-managernpm installnpm run devG:\20250405>
  1. 等待安装完成(可能需要几分钟)
    如果卡了。请参考:
  • npm国内镜像源
  1. 进入项目目录:
cd task-manager
npm install
  1. 启动开发服务器:
npm run dev

在这里插入图片描述

项目会自动在浏览器中打开(通常是http://localhost:5173),你会看到React的欢迎页面。
在这里插入图片描述

三、项目结构介绍

让我们看看create-react-app生成的文件结构:

task-manager/
├── node_modules/      # 所有依赖的库
├── public/           # 静态文件
│   ├── index.html    # 主HTML文件
│   └── ...          
├── src/              # 主要工作目录
│   ├── App.css       # 主样式文件
│   ├── App.js        # 主组件文件
│   ├── App.test.js   # 测试文件
│   ├── index.css     # 全局样式
│   ├── index.js      # 应用入口文件
│   └── logo.svg      # React图标
├── package.json      # 项目配置文件
└── ...               # 其他配置文件

四、编写第一个组件

用vscode打开文件夹 然后进行以下的操作。

1. 修改App组件

打开src/App.jsx,将其内容替换为:

function App() {return (<div className="App"><h1>我的第一个React应用</h1><p>欢迎来到任务管理系统!</p></div>);
}export default App;

在这里插入图片描述

保存后,浏览器会自动刷新,你会看到更新后的内容。

2. 创建HelloWorld组件

src文件夹中新建HelloWorld.jsx文件:

function HelloWorld() {return (<div><h2>Hello, World!</h2><p>这是我的第一个自定义组件</p></div>);
}export default HelloWorld;

3. 在App中使用HelloWorld组件

修改App.jsx

import HelloWorld from './HelloWorld';function App() {return (<div className="App"><h1>我的第一个React应用</h1><p>欢迎来到任务管理系统!</p><HelloWorld /></div>);
}export default App;

在这里插入图片描述

五、练习任务

现在轮到你自己动手了:

  1. 创建一个名为Introduction的新组件
    参考:
function Introduction() {return (<div><h1>Welcome to the Introduction Page</h1><p>This is a simple introduction page.</p></div>);
}
export default Introduction;
// import React from 'react'
  1. 这个组件应该显示:
    • 你的名字
    • 简短的个人介绍
    • 为什么想学习React
  2. App组件中使用这个新组件

提示:

  • 组件文件命名使用大写字母开头(如Introduction.jsx
  • 记得导出组件(export default)
  • 记得在App.js中导入组件(import)

六、常见问题解答

Q: 安装时出现错误怎么办?
A: 尝试以下步骤:

  1. 确保网络连接正常
  2. 运行npm cache clean --force清理缓存
  3. 重新运行上面的操作

Q: 修改代码后页面没有自动刷新?
A: 检查终端是否正常运行着npm run dev,如果没有,重新运行它。

Q: 如何停止开发服务器?
A: 在终端按Ctrl+C,然后输入y确认。

七、课程总结

今天我们学习了:

  • 如何搭建React开发环境
  • 使用create-react-app创建项目
  • React项目的基本结构
  • 如何创建和使用组件

课后作业

  1. 完成练习任务中的Introduction组件
  2. 尝试修改样式(可以编辑App.css
  3. 探索public/index.html文件,了解React应用的HTML基础

下一节课我们将深入学习JSX语法和组件props的使用!

附加资源

  • create-react-app文档
  • React官方快速入门
  • Node.js下载指南

记得保存你的工作!你可以使用Git来管理代码版本(可选):

  • 本项目地址
  • Git 换行符警告(LF replaced by CRLF)的解决方案
git init
git add .
git commit -m "完成第一课的学习"
git remote -v

在这里插入图片描述

相关文章:

第1课:React开发环境搭建与第一个组件

第1课&#xff1a;React开发环境搭建与第一个组件 学习目标 搭建React开发环境创建第一个React项目了解项目基本结构编写并运行第一个React组件 一、环境准备 1. 安装Node.js React开发需要Node.js环境&#xff0c;它包含了npm&#xff08;Node Package Manager&#xff0…...

go垃圾回收机制

Go语言的垃圾回收&#xff08;GC&#xff09;机制旨在高效管理内存&#xff0c;同时最小化对程序性能的影响。其核心设计结合了并发标记清除、三色标记法和写屏障技术&#xff0c;显著减少了停顿时间&#xff08;Stop-The-World, STW&#xff09;。以下是Go垃圾回收机制的关键特…...

【GPT入门】第 34 课:深度剖析 ReAct Agent 工作原理及代码实现

【GPT入门】第 34 课&#xff1a;深度剖析 ReAct Agent 工作原理及代码实现 1. React Agent概述2. React Agent工作原理、关键特点、应用场景3. langchain的ReAct Agent代码实现3.1 Openai1.x 代码实现3.2 Openai 0.x的实现3.3 新旧版API异同比较 1. React Agent概述 定义与基…...

MySQL介绍及使用

1. 安装、启动、配置 MySQL 1. 安装 MySQL 更新软件包索引 sudo apt update 安装 MySQL 服务器 sudo apt install mysql-server 安装过程中可能会提示你设置 root 用户密码。如果没有提示&#xff0c;可以跳过&#xff0c;后续可以手动设置。 2. 配置 MySQL 运行安全脚本…...

九、重学C++—类和函数

上一章节&#xff1a; 八、重学C—动态多态&#xff08;运行期&#xff09;-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/147004745?spm1001.2014.3001.5502 本章节代码&#xff1a; cpp/cppClassAndFunc.cpp CuiQingCheng/cppstudy - 码云 - 开源中国…...

C++·包装器

目录 function 包装各种可调用对象 包装类成员函数 应用举例 bind 一般形式 arg_list 调整参数顺序 调整参数个数&#xff08;绑死&#xff09; 应用举例 小知识 function 包含在<functional>头文件中&#xff0c;是一个类模版&#xff0c;但本质还是仿函数。…...

Linux动态监控进程利器:top命令详解

动态监控进程利器&#xff1a;top命令详解 在Linux系统的日常管理中&#xff0c;实时监控进程状态和资源使用情况是一项至关重要的任务。top命令作为Linux系统自带的强大工具&#xff0c;以其动态更新的特性&#xff0c;成为了系统管理员和开发者的得力助手。本文将全面解析to…...

家庭路由器wifi设置LAN2LAN和LAN2WAN

一、LAN2LAN 方式&#xff1a;桥接模式&#xff0c;主路由器的LAN口接入子路由器的LAN口 子路由器先重置登录密码&#xff08;知道密码可以不重置&#xff09;&#xff0c;登录后台 1、设置为动态IP模式 2、找到LAN口设置 1&#xff09;ip设置和主路由器在一个网段上&#…...

Python实现NOA星雀优化算法优化LightGBM分类模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 在机器学习领域&#xff0c;分类问题是许多实际应用场景的核心任务之一&#xff0c;例如信用评估、…...

面试顺序优化:基于Matlab的高效决策方案

内容摘要 本文围绕面试顺序问题&#xff0c;通过建立数学模型并利用Matlab编程求解&#xff0c;寻找使面试总时长最短的面试顺序安排。详细介绍问题分析、模型构建及Matlab代码实现过程&#xff0c;为类似的时间优化问题提供参考&#xff0c;助力提升流程效率。 关键词&#x…...

【暑期实习之战】2024年美团秋招技术岗第一批笔试(练习)

选择题 6. 在MySQL中可以用来执行预处理语句的是() A execute B prepare C deallocate D using prepare:用于预编译SQL语句(为执行做准备),但并非执行动作本身。execute:专门用于执行已通过 PREPARE 预处理的语句,是运行预编译查询的关键步骤。✔deallocate prepare:…...

VLAN详解

VLAN&#xff08;虚拟局域网&#xff09;详解 1. 基本概念 VLAN&#xff08;Virtual Local Area Network&#xff09;是一种通过逻辑划分而非物理连接实现的局域网技术&#xff0c;允许在同一物理网络基础设施上创建多个独立的广播域。 2. 核心功能 功能说明广播域隔离不同V…...

[leetcode]1786. 从第一个节点出发到最后一个节点的受限路径数(Dijkstra+记忆化搜索/dp)

题目链接 题意 给定一个无向连通图&#xff0c;edges{u,v,w} 表示 u u u和 v v v之间有一条无向边&#xff0c;边权为 w w w n n n个点 [ 1 , n ] [1,n] [1,n] 每个点到 n n n的最短路为 d i s [ i ] dis[i] dis[i] 定义受限路径: 从起点 1 1 1到 n n n&#xff0c;路径上的…...

Ubuntu挂载HDD迁移存储PostgreSQL数据

关联博客&#xff1a;windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享 背景&#xff1a; 在个人ubuntu机器上安装了pgsql&#xff0c;新建了一张表插入了2000w数据用于模拟大批量数据分页查询用&#xff0c;但是发现查询也不慢&#xff08;在公司测试环境查询1700…...

设计模式简述(五)建造者模式

建造者模式 描述基本要素协调类使用 描述 建造者模式属于创造型设计模式。 通常用于构建一系列复杂对象&#xff0c;这些对象有一定的共性。 我们可以通过不同的建造者&#xff0c;组装不同的对象 与工厂模式的区别&#xff0c;建造者模式更侧重与基于基础构件组装而非直接创…...

ARXML文件解析-2

目录 1 摘要2 常见ARXML文件注意事项以及常见问题2.1 注意事项2.2 常见问题2.3 答疑 3 ARXML解读/编辑指南3.1 解读ARXML文件的步骤3.2 编辑ARXML文件的方法3.3 验证与调试 4 总结 1 摘要 本文主要对ARXML文件的注意事项、常见问题以及解读与编辑进行详细介绍。 上文回顾&…...

Docker设置代理

目录 前言创建代理文件重载守护进程并重启Docker检查代理验证 前言 拉取flowable/flowable-ui失败&#xff0c;用DaoCloud源也没拉下来&#xff0c;不知道是不是没同步。索性想用代理拉镜像。在此记录一下。 创建代理文件 创建docker代理配置 sudo mkdir -p /etc/systemd/s…...

ASP.NET Core Web API 参数传递方式

文章目录 前言一、参数传递方式路由参数&#xff08;Route Parameters&#xff09;查询字符串参数&#xff08;Query String Parameters&#xff09;请求体参数&#xff08;Request Body&#xff09;表单数据&#xff08;Form Data&#xff09;请求头参数&#xff08;Header Pa…...

火语言RPA--PgSQL-导入数据表格

【组件功能】&#xff1a;导入特定的表格数据到包含同样字段的数据表 将表格对象数据通过数据库操作对象导入到指定数据库。 配置预览 配置说明 源表格 表格来源有“来自表格对象”和“来自表达式”2种&#xff0c;表达式支持DataTable类型变量。 对象 对应来自表格对象&…...

Spring Cloud 网关及配置管理教学

一、课程目标 深入理解 Spring Cloud 中网关和配置管理的核心概念、原理及应用场景。熟练掌握 Spring Cloud Gateway 的配置与开发&#xff0c;能够实现请求路由、登录校验、用户信息传递等功能。学会使用 Nacos 进行配置管理&#xff0c;包括共享配置、配置热更新和动态路由的…...

202520 | 微服务

微服务 VS 单体架构 单体架构&#xff08;Monolithic Architecture&#xff09;和微服务架构&#xff08;Microservices Architecture&#xff09;是两种主流的软件设计模式&#xff0c;它们在开发、部署、扩展和维护等方面有显著差异。以下是两者的详细对比&#xff1a; 1. 定…...

32信号和槽_信号和槽存在的意义(2)

① 一个学生,可以选择多门课程来学习 一门课程,也可以被多个同学来选择 ② 张三这个同学,可以选 语文和数学 . 李四这个同学可以选 语文 和 英语 语文这门课程,既可以被张三选择,也可以被李四选择~~ ③ 引入第三张表作为关联表 ④一个信号,可以 connect 到多个槽函数上 一个槽…...

Mac 上使用 mysql -u root -p 命令,出现“zsh: command not found: mysql“?

一、确定 MySQL 安装路径&#xff1a; 如果你是使用 Homebrew 安装的 MySQL&#xff0c;通常安装路径是 /usr/local/mysql/bin 。 如果你是通过官方 DMG 安装包安装的 MySQL&#xff0c;默认安装路径可能是 /usr/local/mysql/bin 。你可以在终端中使用以下命令来查找 MySQL 的…...

Django REST Framework系列教程(9)——过滤与排序

目录 前情回顾 方法一: 重写get_queryset方法 方法二: 使用django-filter 安装django-filter 自定义FilterSet类 方法三: 使用SearchFilter类 自定义SearchFilter类 排序OrderingFilter类 在前面的DRF系列教程中&#xff0c;我们以博客为例介绍了序列化器(Serializer),…...

工业级主题系统程序设计

一、架构优化方案 #mermaid-svg-gB72o6CBc2UMgkrv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-gB72o6CBc2UMgkrv .error-icon{fill:#552222;}#mermaid-svg-gB72o6CBc2UMgkrv .error-text{fill:#552222;stroke:#5…...

Java 逐梦力扣之旅_[204. 计数质数]

题目: 204. 计数质数 给定整数 n &#xff0c;返回 所有小于非负整数 n 的质数的数量 。 示例 1&#xff1a; 输入&#xff1a;n 10 输出&#xff1a;4 解释&#xff1a;小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2&#xff1a; 输入&#xff1a;n 0 输出&…...

[3.3] 阻塞与非阻塞通信 理论+代码

文章目录 1. 阻塞通信的发生和解决2. 点对点通信应用程序案例 - 随机步行&#xff08;Random Walk&#xff09; 1. 阻塞通信的发生和解决 MPI的p2p中包括两种模式&#xff1a; a. 阻塞通信&#xff08;Blocking&#xff09; MPI_Send 和 MPI_Recv 在返回前&#xff0c;必须满…...

node_modules\deasync: Command failed.

运行&#xff1a;“yarn install” 时报错 PS D:\WebPro\hainan-mini-program> yarn install yarn install v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... warning " > babel-loader8.2.2" has un…...

二十种中药果实识别分类系统,Python/resnet18/pytorch

二十种中药果实识别分类系统,Python/resnet18/pytorch 基于pytorch训练, resnet18网络&#xff0c;可用于训练其他分类问题&#xff0c;也可自己重新训练 20类中药材具体包括&#xff1a;(1) 补骨脂&#xff0c;(2) 草豆蔻&#xff0c;(3) 川楝子&#xff0c;(4) 地肤子&…...

C++·异常

目录 概念 使用 异常的抛出和捕获 栈展开 catch匹配 继承体系例子 异常重新抛出 异常安全问题 例&#xff1a; 异常规范 小知识 概念 异常处理机制允许程序中独⽴开发的部分能够在运⾏时就出现的问题进⾏通信并做出相应的处理&#xff0c; 异常使得我们能够将问题的…...

C 语言高级编程指南:回调函数与设计模式

C 语言高级编程指南&#xff1a;回调函数与设计模式 目录 回调函数详解C语言中的设计模式高级回调函数应用内存管理与安全多线程环境下的设计模式 回调函数详解 1. 什么是回调函数&#xff1f; 回调函数&#xff08;Callback Function&#xff09;是一个通过函数指针调用的…...

SeaTunnel系列之:Apache SeaTunnel编译和安装

Apache SeaTunnel编译 Prepare编译克隆源代码本地安装子项目从源代码构建 SeaTunnel构建子模块安装 JetBrains IDEA Scala 插件安装 JetBrains IDEA Lombok 插件代码风格运行简单示例不仅如此 安装下载 SeaTunnel 发布包下载连接器插件从源代码构建 SeaTunnel 运行 SeaTunnel 在…...

zk基础—5.Curator的使用与剖析二

大纲 1.基于Curator进行基本的zk数据操作 2.基于Curator实现集群元数据管理 3.基于Curator实现HA主备自动切换 4.基于Curator实现Leader选举 5.基于Curator实现分布式Barrier 6.基于Curator实现分布式计数器 7.基于Curator实现zk的节点和子节点监听机制 8.基于Curator创…...

bge-m3+deepseek-v2-16b+离线语音能力实现离线文档向量化问答语音版

ollama run deepseek-v2:16b ollama pull bge-m3 1、离线听写效果的大幅度提升。50M 1.3G&#xff08;每次初始化都会很慢&#xff09;---优化到首次初始化使用0延迟响应。 2、文档问答历史问题处理与优化&#xff0c;文档问答离线策略讨论与参数暴露。 3、离线大模型答复中断…...

[leetcode]3123. 最短路径中的边(Dijkstra+反向搜索找边)

题目链接 题意 给定n个点的无向图 给定一个edges{u,v,w}数组 表示u到v有一条边权为w的无向边 返回一个bool数组ans&#xff0c;ans[i]1表示edges[i]在任意一条0到n-1的最短路中 思路 先Dijkstra找出最短路再从n-1出发 反向搜索 当前点i&#xff0c;邻接点j&#xff0c;边权…...

构建macOS命令速查手册:基于Flask的轻量级Web应用实践

构建macOS命令速查手册&#xff1a;基于Flask的轻量级Web应用实践 一、项目概述 本文介绍一个基于Flask框架开发的macOS命令速查Web应用。该应用通过结构化的命令数据存储和响应式前端设计&#xff0c;为用户提供便捷的命令查询体验&#xff0c;具备以下特点&#xff1a; 六…...

中国移动启动数字乡村“五新升级”:年底前,行政村5G覆盖达95%

大湾区经济网品牌观察报道&#xff0c;近日&#xff0c;在国家全面推进乡村振兴的战略背景下&#xff0c;中国移动近日发布数字乡村升级行动计划&#xff0c;以“AI大模型数智化平台”为核心引擎&#xff0c;围绕“五新升级”构建“两个新型”信息服务体系。 一、数字基建筑基&…...

借助mcpo在open-webui中使用mcp

open-webui前几天发布了0.6版本&#xff0c;我立即进行了升级。新版本中一个重要功能是通过mcpo方式支持了mcp server。本文将介绍mcpo是什么&#xff0c;以及如何在open-webui中使用它。同时&#xff0c;我也会分享几个在接入过程中遇到的问题及解决方案。 首先来介绍mcpo&…...

Mysql的备份还原

MySQL日志 日志类型 MySQL有几个不同的日志文件&#xff0c;可以帮助你找出mysqld内部发生的事情&#xff1a; 日志文件记入文件中的信息类型错误日志记录启动、运行或停止时出现的问题。查询日志记录建立的客户端连接和执行的语句。二进制日志记录所有更改数据的语句。主要用…...

测试:正交法设计测试用例

目录 一、什么是正交法 二、利用正交表设计测试用例 正交法设计测试用例的步骤 一、什么是正交法 正交法的目的是为了减少测试用例的数量&#xff0c;让尽可能少的用例覆盖两两组合。认识正交表。 最简单的正交表是L4(2^3)&#xff0c;含意如下&#xff1a; “L”代表正…...

zk基础—5.Curator的使用与剖析一

大纲 1.基于Curator进行基本的zk数据操作 2.基于Curator实现集群元数据管理 3.基于Curator实现HA主备自动切换 4.基于Curator实现Leader选举 5.基于Curator实现分布式Barrier 6.基于Curator实现分布式计数器 7.基于Curator实现zk的节点和子节点监听机制 8.基于Curator创…...

VSCode中结合DeepSeek使用Cline插件的感受

前言 听网上有传言说AI智能插件Cline非常的好用&#xff0c;而且相对Cursor而言还是免费的&#xff0c;捆绑的大模型选择也比较的广泛。所以&#xff0c;特意安装试用了一下。 我的采用IDE是VSCode&#xff0c;捆绑的大模型是最近比较火的DeepSeek。总体使用下来感觉非常的棒。…...

安卓开发工程师-Java 常用数据结构

1. Java 中的数组和集合有什么区别&#xff1f; 数组&#xff1a; 长度固定&#xff1a;一旦声明&#xff0c;长度不能改变。类型单一&#xff1a;只能存储相同类型的元素。存储效率高&#xff1a;底层是连续的内存空间&#xff0c;访问速度快。示例代码&#xff1a; int[] …...

thinkphp8.0上传图片到阿里云对象存储(oss)

1、开通oss,并获取accessKeyId、accessKeySecret <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><tit…...

Angular 2 模板语法详解

Angular 2 模板语法详解 引言 Angular 2 作为一款强大的前端框架,以其组件化的开发模式和高效的性能被众多开发者所青睐。模板语法是Angular 2中用于定义组件UI的关键部分。本文将详细介绍Angular 2的模板语法,帮助开发者更好地理解和运用这一功能。 模板语法概述 Angula…...

进行性核上性麻痹护理攻略:多维度守护健康

日常起居护理 保证患者居住环境安全&#xff0c;清除地面障碍物&#xff0c;避免患者跌倒。家具摆放固定且合理&#xff0c;方便患者活动。为患者准备宽松、舒适、易于穿脱的衣物&#xff0c;减轻穿衣时的困难。在饮食上&#xff0c;提供富含营养、易于吞咽的食物&#xff0c;…...

MessageQueue --- RabbitMQ WorkQueue

MessageQueue --- RabbitMQ WorkQueue 什么是WorkQueue如何分发RoundRobinFair dispatch (Prefetch) --- 能者多劳 什么是WorkQueue Work queues&#xff0c;任务模型。简单来说就是让多个消费者绑定到一个队列&#xff0c;共同消费队列中的消息。当消息处理比较耗时的时候&…...

Redis内存碎片详解!

目录 一、 什么是内存碎片&#xff1f;&#x1f914;二、 为什么 Redis 会有内存碎片呢&#xff1f;&#x1f937;‍♀️三、 如何查看 Redis 内存碎片的信息&#xff1f;&#x1f50d;四、 如何清理 Redis 内存碎片&#xff1f;&#x1f9f9;五、总结&#x1f4dd; &#x1f3…...

如何使用 Nginx 代理 Easysearch 服务

Nginx 是一个高性能的 HTTP 服务器和反向代理服务器&#xff0c;广泛用于负载均衡、缓存、SSL 终端和服务代理等场景。本篇将尝试使用 Nginx 代理 Easysearch 服务&#xff0c;方法同样适用于 Elasticsearch 和 Opensearch。 测试环境 Easysearch 集群版本为 1.10.0&#xff…...

用python输出OLED字模库的符号

提示&#xff1a;博主是小白&#xff0c;如有不足&#xff0c;望海涵和指出 在单片机上练习使用OLED显示屏时&#xff0c;可以看到有个OLED字模库 本文用python将这些字符打印出来&#xff0c;代码如下&#xff08;本文只适用与128*64的OLED&#xff0c;如果是其它OLED&#xf…...