黑神话:仙童,数据库自动反射魔法棒

黑神话:仙童,数据库自动反射魔法棒

Golang 通用代码生成器仙童发布了最新版本电音仙女尝鲜版十一及其介绍视频,视频请见:https://www.bilibili.com/video/BV1ET4wecEBk/

此视频介绍了使用最新版的仙童代码生成器,将 MariaDB 数据库迁徙至 PostgreSQL,或者将数据库整理成一个 Excel 文件的方法,详细情况请见视频。

 通用代码生成器是一种非常方便的软件开发工具,除了简单直接的生成代码,制作快速原型以外。通用代码生成器还可以应用在各种场景上。比如可以使用通用代码生成器,将 MariaDB 数据库连数据迁徙到 PostgreSQL。操作并不复杂,却十分适用。

视频中,我们采用最新发布的 golang 通用代码生成器仙童 2.4.0 电音仙女尝鲜版十一来完成这项功能,在完成数据库迁徙的同时,我们得到了一个副产品,即 Golang 的应用程序。

本例子使用的数据库是 TKCourseManagement 和 CivMariaSample 数据库,此前已经在多个视频演示中使用,大家应该比较熟悉了。

golang 通用代码生成器仙童的项目地址为:https://gitee.com/jerryshensjf/Fairchild

其二进制发布包下载地址为:https://gitee.com/jerryshensjf/Fairchild/attach_files

Go 语言通用代码生成器:仙童

项目简介

Go 语言通用代码生成器:仙童,基于 Java 通用代码生成器:光的架构。

生成的代码基于 go 语言,使用 gin 作为 web 框架。目前支持 MariaDB,MySQL,PostgreSQL 和 Oracle 四种数据库。支持生成 Vue 和 ElementUI 的基于 Node.js 的独立前端。支持 Excel,PDF 两种数据导出格式。

项目图片

Image description

最新大版本号

正在研发的最新大版本号是仙童 2.4.0 电音仙女 TechnoFairy 短名 TF。对标 java 通用代码生成器光 2.4.0 电音之王和 Rust 通用代码生成器红莲。

Golang 通用代码生成器仙童,2.4.0 电音仙女尝鲜版十一。版本彻底增强修复了数据库自动反射功能。并有更多测试修复。

Golang 通用代码生成器仙童,2.4.0 电音仙女尝鲜版十。版本增强修复了数据库自动反射功能,修复了多对多数据加载。增强了复数字典,新加了 SGS2 模板。

Golang 通用代码生成器仙童 2.4.0 电音仙女尝鲜版九。此版本支持完善的数据库自动发射功能。大大完善了数据与元数据编辑器功能,是一个重要的版本更新。

Golang 通用代码生成器仙童,电音仙女尝鲜版八,此版本增强修复了数据库自动反射功能。更新修复了前端代码生成器无登录模块时的错误。修复了多对多候选的缺陷。修复了清洗登录数据功能。

Golang 通用代码生成器仙童,电音仙女尝鲜版七,此版本测试修复了 PostgreSQL 数据库自动反射功能。此版本更新修复了前端代码生成器,并修复了前端多对多界面的缺陷。

Golang 通用代码生成器仙童,电音仙女尝鲜版六,此版本新增了数据库自动反射功能,可以为遗留数据库配上操作软件。此版本增强了模板向导界面的编辑器功能,可以不清空数据的情况下编辑项目的元数据和数据。可以切换域对象和枚举,可以清洗登录数据。此版本新增了多对多候选功能,支持多对多候选的编辑,持久化和反射功能。此版本彻底修复了枚举和哑数据功能。并有前端界面更新。

输入图片说明

百度话题

#通用代码生成器#

重点组件和功能

  • 动词算子
  • 域对象
  • 棱柱
  • 项目
  • 时空之门前端代码生成器引擎
  • 弹性登录模块
  • Grid 页生成模块
  • 多对多生成模块
  • 数据库脚本生成模块
  • 动态椰子树功能群
  • 动词否定功能群
  • 字段否定功能群
  • 高级定制功能群
  • 部分生成功能群
  • 自动生成差异版本功能群
  • 上传生成界面
  • 模板向导生成界面
  • 自动生成差异版本生成界面
  • Excel 数据导出功能
  • PDF 数据导出功能
  • 数据库后端模式
  • 数据库工具模式
  • 哑数据模式
  • 数据库自动反射功能

开发测试环境

  • jdk 21
  • Apache Tomcat 9
  • Node.js 21, 18, 14
  • golang 1.22
  • MariaDB 15.1
  • MySQL 8
  • PostgreSQL 16
  • Oracle 11

安装教程

  • 先装好 open jdk 21 和 Apache Tomcat 9,如果您从源码编译代码生成器还需要事先装好 Apache Maven
  • 下载编译好的 Golang 通用代码生成器仙童的 war 包,或者下载源码,解压后使用 mvn install 命令编译,得到代码生成器的 war 包
  • 把代码生成器的 war 包的名字改短,成为 Fairchild.war,并放置在 Apache Tomcat 9 的 webapps 目录下
  • 启动 Apache Tomcat 9
  • 访问 http://localhost:8080/Fairchild/
  • 即可使用代码生成器

后端代码生成物运行

  • 使用代码生成器生成一个示例或自己的 SGS2 模板,得到两个代码生成物,一个前端,一个后端
  • 将后端项目下载并解压
  • 根据您的数据库选项,配置好您后端的数据库,并使用后端代码生成物的 sql 文件夹下的数据库脚本完成建库建表并加载初始化数据
  • 您需要检查后端代码生成物内的配置文件,确认数据库和用户名密码的正确性
  • 您需要安装配置好 Golang 1.20 或其他兼容版本的 Golang 环境
  • 在后端代码生成物的根目录下运行 go mod tidy
  • 在后端代码生成物的根目录下运行 go mod download
  • 在后端代码生成物的根目录下运行 go mod vendor
  • 在后端代码生成物的根目录下运行 go run Server.go
  • 启动完毕后访问后端代码生成物,http://localhost:8081

前端代码生成物运行

  • 使用代码生成器生成一个示例或自己的 SGS2 模板,得到两个代码生成物,一个前端,一个后端
  • 将前端代码生成物解压
  • 确认您已经安装好和您选择的 Nodejs 版本相容的前端 Nodejs 环境
  • 使用 npm install -registry=https://registry.npm.taobao.org 安装 Nodejs 依赖包
  • 如果您使用的是 Nodejs 21 和 Nodejs18,请运行命令:export NODE_OPTIONS=--openssl-legacy-provider
  • 运行命令:node --max-http-header-size=1000000 ./node_modules/.bin/webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
  • 如此访问前端代码生成物,http://localhost:8000/

百度话题

#通用代码生成器#

代码生成器截图

代码生成器正在研发中,2.4.0 尝鲜版十一已发布。

Image description

Image description

电音仙女尝鲜版十一下载

二进制发布包下载地址:

附件 · 火鸟/Go语言通用代码生成器:仙童 - Gitee.com

电音仙女最新视频

电音仙女尝鲜版十一介绍视频请见: https://www.bilibili.com/video/BV1ET4wecEBk/

电音仙女尝鲜版九介绍视频请见: /BV1jKHgeKEjP/](https://www.bilibili.com/video/BV1jKHgeKEjP/)

电音仙女尝鲜版八

[https://www.bilibili.com/video/BV11maXeYE12/ https://www.bilibili.com/video

https://www.bilibili.com/video/BV1LJvve6Ed9/

电音仙女尝鲜版七 https://www.bilibili.com/video/BV1eT421a7j5/

电音仙女尝鲜版六 https://www.bilibili.com/video/BV1Sr421c7zY/

仙童的安装运行

仙童是使用 Java 语言写成的代码生成器。运行仙童您需要装好 Java8 和安装好 Tomcat9 或 8.5 应用服务器。并把仙童的 war 包部署在 Tomcat 的 webapps 目录下。

代码生成物的运行还需要安装好 Go 语言开发环境,您要使用 go mod 管理依赖,并把代码生成物解压在 go 语言工作空间的 src 文件夹的一级子目录下。还需要对应的数据库服务器运行代码生成物的建库 sql 脚本。

前端代码生成物的运行需要装好 node.js 运行环境并安装 js 依赖库。

Vue 独立前端截图

输入图片说明

输入图片说明

输入图片说明

输入图片说明

代码生成物截图

Image description

Image description

源码编译用户指南

通用代码生成器已经支持自己编译源码,我已把原来缺的前端代码生成器的 jar 包上传。支持大家自行编译源码。

需要注意的是,现在我的开发平台是 Fedora 37 上的 openjdk 17。所以大家编译源码最好使用 openjdk17。编译好的 war 包运行在 apache tomcat 9.0 上。

已有 jdk8 的用户报告默认下载的代码生成器 war 包在他的平台上无法运行。您如果遇到类似问题请报告。我的电子邮件是:jerry_shen_sjf@qq.com

附 openjdk 17 下载地址:

https://jdk.java.net/java-se-ri/17

使用前端功能的注意事项

由于图片文件比较大,原来前端使用 cnpm instll 安装类型,npm run dev 运行有所改动,改为先使用 npm install --registry=https://registry.npm.taobao.org 安装类库,出错后使用 cnpm install 安装类库, 使用 node --max-http-header-size=1000000 ./node_modules/.bin/webpack-dev-server --inline --progress --config build/webpack.dev.conf.js  运行系统。

您也可以从安装好的本系列代码生成器的前端项目中拷贝 node_modules 目录,即可运行前端。

node-sass 不兼容的解决办法

办法一:

npm uninstall node-sass
npm install sass-loader
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

办法二:

npm uninstall sass-loader node-sass //卸载
npm install sass-loader@7.3.1 node-sass@4.14.1 --save-dev //安装对应的版本

动词算子式代码生成器的应用场景

1. 项目前期

通用代码生成器是一种自动化编程软件,是一种先进的编译系统。它具有表级抽象。把系统抽象为域对象,枚举,弹性登录模块,复杂版面和图形报表。使用通用代码生成器完成项目前期,比直接使用对应的高级语言快的多,也方便的多。

在常规的项目开发阶段,可以分为前期,中期和后期。前期完成设计,数据库设计,项目初始化,数据库初始化和 CRUD 等常用功能的开发。

中期是各种业务功能的开发。

业务功能开发完成后,项目即进入后期。后期主要是测试,修错。完成项目 Change Request 和基线化,代码冻结。构建软件发布包,给客户安装,用户培训等等。

当客户签章认可软件交付物,软件的开发阶段就结束了,进入了软件的售后服务阶段。

通用代码生成器对软件开发而言,在项目前期的价值最大。它可以把月余的项目前期压缩到短短数日。从而为您的设计和开发增加数周的时间。用于设计,您可以更加详细。用于开发,大大缓解开发时间的紧张。而且,由于通用代码生成器的高生产率,您可以采用多轮设计,采用迭代式的项目设计循环,使设计阶段结束时,系统更全面更一致,同时仍然可以节约数周的时间帮助开发阶段。

通用代码生成器为项目全周期迭代式的使用通用代码生成器做了优化。它可以精确的控制代码生成物。可以按水平层级或者按竖直功能选择性的输出代码生成物,并可以同时使用水平和竖直的控制功能。最强大的是,您可以上传同一个项目的不同时期的 SGS2 模板,系统会对比两个版本,自动生成两个版本的差异部分,而一致的,它不输出。利用这个功能,您可以定向,只修改更改的部分,结合归并工具的功能,可以成数量级的提高劳动生产率。

2. 快速原型

对项目经理,产品经理和售前工程师而言,开发快速原型是一种常见的需求。使用通用代码生成器,您可以更好,更快的开发系统的快速原型。通用代码生成器对完成 CRUD 和登录系统阶段的快速原型比手工编程快的多,典型情况,您可以使用一天时间完成如此规格的快速原型,而直接编程,您可能至少需要两周时间才可以达到同样的完成度。故使用通用代码生成器,您可以更快的完成快速原型,您也有更多的时间,使您的原型达到更高的完成度。

并且,通用代码生成器有专门为快速原型设计的哑数据模式。此模式不使用数据库,而是使用硬编码的哑数据作为数据来源,它方便您给不同的客户多次演示,不需要担心数据遗留问题。只需要重新启动,数据即回归到原始数据,没有搞错演示数据的烦恼。而且,您可以和您的客户共享此快速原型。客户可以深入研究此快速原型,但无法直接使用此快速原型,因为此快速原型没有数据持久化功能。对双方都很方便。

3. 遗留项目反向工程

如果您有一个遗留项目,要重新开发,或者源代码遗失,或者需要重新开发,但是希望复用原来的数据,并加快开发。

如果您的项目是通用代码生成器生成的,如果您保留了它的 SGS 源文件或 SGS2 的 Excel 模板,您可以使用这些资源重新生成。

但是大多数遗留项目都没有这些资源,或者本来就不是通用代码生成器生成的。这种情况下,您只需要有系统的数据库,并且,这个数据库是 MariaDB,MySQL 或者 PostgreSQL 的。您就可以使用 Rust 通用代码生成器莲花的数据库自动反射功能来反向工程这种遗留项目。借助这个功能,您可以把一个数据库反射为一个莲花的 Project。并可以进一步将数据库反射为一个 Rust 语言项目或者一个莲花的 SGS2 模板。

借助 Java 通用代码生成器光和 Golang 通用代码生成器仙童的 Rust 语言兼容性。您可以把这个莲花的 SGS2 模板生成为 Java 语言项目或 Golang 语言项目。

这个数据库自动反射功能可以保留原系统的数据,您不需要重新开始。

4. 跨编程语言翻译

如果您有一个 Java 工程,想把它移植到 Rust 或 Golang 语言中去,希望尽可能加快研发速度。

如果您的系统是通用代码生成器开发的,保留了系统的 SGS 源文件或者 SGS2 的 Excel 模板,您可以使用这些源文件或模板结合您的目标语言生成新语言的代码生成物,以加速新语言的应用程序的开发。

如果您没有保留此源文件或模板,或者您的应用系统是手工搭建的或使用了其他来源。您可以使用数据库自动反射功能达到需求。如果您使用的是 MariaDB,MySQL 或者 PostgreSQL。您可以使用 Rust 通用代码生成器莲花新版本的数据库自动反射功能,将数据库反射成 Rust 应用程序,您也可以将数据库反射为一个 SGS2 的 Excel 模板。而后通过 Java 通用代码生成器光或 Golang 通用代码生成器的 Rust 语言兼容性功能,将此 SGS2 模板编译成 Java 或 Golang 的应用程序,在此过程中,您可以保留数据库中的所有数据,不必从零开始。

5. 任意需求应用急就章

在中国文化中,如果您在任何的政府,商业或者私人事务上需要表明身份。您需要一枚自己的私章。如果在必须的场合,您没有此私章。如果您知道如何刻写图章,可以临时使用普通的石料甚至萝卜,肥皂等等,刻写一个临时性的图章使用,这就是所谓的急就章。

通用代码生成器也有类似功能。如果您有一个业务或者需求,但是您没有现成的电子商务系统,您往往是使用 Excel 表格或者 Acess 数据库来完成这些功能的簿记和管理工作。但这种方法有明显缺陷,首先,如果随着业务的流转,多人手头有不同的 Excel 表单,如果数据不一致,您很难找出正确的答案,而且,没有统一的密码和登录系统,容易泄密和忘记密码。

有了通用代码生成器,可以完美的解决这一问题。您可以利用和写一个 Excel 表单同等的时间写一个 SGS2 的 Excel 模板,利用代码生成器生成一个系统临时凑和着用,几乎是零成本的。您可以轻易的拥有数据库管理系统的全部优势,就是特定功能少一些而已,而数据库的簿记功能可以完美的使数据一致性问题,多人同步工作问题完美解决。同时,您零成本的拥有了一个完善的系统的密码和登录系统,每个人可以维护自己的密码,而系统管理员也可以有效的管理,支持和急救。

所以,通用代码生成器的代码生成物是可以直接使用的,它有完善的通用功能,就是没有定制功能而已,对于任何需求,这种代码生成物都远远优于 Excel 表格,而成本是一样的。通用代码生成器的代码生物可以完成完善的电子商务系统 70% 的功能。这就是通用代码生成器的急就章功能。

6. 为完善的应用系统收集需求

使用急就章功能可以开发一个简单的应用先凑和着使用。此应用系统也可以成为完善的应用系统的原型和祖先。如果您新规划一个完善的应用系统,您可以先使用通用代码生成器生成一个临时使用的系统,并在实际的使用中收集需求和现用系统的不足,然后您可以使用手工编程完善此系统,得到一个完善的应用系统。

使用数据库自动反射功能,您可以把原型系统内的您需要的数据迁徙到新的完善的应用系统,

源码研读者注意事项

无垠式代码生成器第一个完整版本源码,有兴趣可以抄写一下:

无垠式代码生成器第一个完整版本0.6.5: 现在动词算子式代码生成器已经公布了无垠式的最后版本0.8.5。和平之翼代码生成器已进化到4.1版本。 谁有兴趣研究早期的动词算子式代码生成器。 我有所有的版本。其中无垠式代码生成器0.6.5是早期的完整版本,但是只有simplejee一个技术栈。对原理学习,可能是最佳的。此版本为原理学习,自己动手的参考。我会回答关于原理的问题,不会修正此版本的Bug(其实在后续版本中已经解决。)

相关技术视频:

https://www.bilibili.com/video/BV1eT421a7j5/

https://www.bilibili.com/video/BV1Sr421c7zY/

https://www.bilibili.com/video/BV1fX4y1u7Bn/

https://www.bilibili.com/video/BV1rv41187qY/

https://www.bilibili.com/video/BV1xv41187cA/

https://www.bilibili.com/video/BV1t64y1v7WA/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1555029.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Llama 3.2 微调指南

让我们通过微调 Llama 3.2 来找到一些精神上的平静。 我们需要安装 unsloth,以更小的尺寸实现 2 倍的快速训练 !pip install unsloth!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] githttps://github.co…

Spring Boot技术在大学生就业服务中的应用

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

视频格式批量转换:一键操作,轻松搞定

在处理大量视频文件时,格式转换是一个常见需求,不同的平台和设备对视频格式的要求各不相同,批量转换视频格式能显著提高工作效率。帮助大家轻松应对各种视频格式转换难题。 1.在“视频剪辑高手”的功能选项里切换到“批量转换视频”版块上 2.…

大学生就业服务:Spring Boot技术实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

C++结构体定义和创建

// // Created by 徐昌真 on 2024/10/5. // #include <iostream> using namespace std;int main() {//结构体的定义 struct 结构体名字 { 结构体成员名字 }struct Book{string name;double price;int value;}java; //java是创建的结构体//创建结构体//这是第一种方式Boo…

一篇文章吃透OA系统

一、OA系统是什么&#xff0c;都有什么功能&#xff1f; OA系统&#xff08;Office Automation System&#xff09;是办公自动化系统的简称&#xff0c;是一种利用计算机技术和网络通信技术&#xff0c;为企业和组织提供办公管理和协作支持的信息化系统。OA系统旨在提高办公效…

车载入行:HIL测试、功能安全测试、CAN一致性测试、UDS测试、ECU测试、OTA测试、TBOX测试、导航测试、车控测试

FOTA模块中OTA的知识点&#xff1a;1.测试过程中发现哪几类问题&#xff1f; 可能就是一个单键的ecu&#xff0c;比如升了一个门的ecu&#xff0c;他的升了之后就关不上&#xff0c;还有就是升级组合ecu的时候&#xff0c;c屏上不显示进度条。 2.在做ota测试的过程中&#xff…

Origin在数据表与图像之间切换

或者用快捷键 ALT 1 这儿可以切换

Shell-使用函数

在 Shell 脚本中&#xff0c;函数是由一段代码定义的&#xff0c;可以被重复调用。Shell 函数的定义和调用相对简单&#xff0c;并且它支持参数传递和返回值。错误处理在 Shell 中也非常重要&#xff0c;通常通过检查返回的状态码来判断是否有错误发生。 1.Shell 函数的定义和…

类型转换【C++提升】(隐式转换、显式转换、自定义转换、转换构造函数、转换运算符重载......你想知道的全都有)

更多精彩内容..... &#x1f389;❤️播主の主页✨&#x1f618; Stark、-CSDN博客 本文所在专栏&#xff1a; C系列语法知识_Stark、的博客-CSDN博客 座右铭&#xff1a;梦想是一盏明灯&#xff0c;照亮我们前行的路&#xff0c;无论风雨多大&#xff0c;我们都要坚持不懈。 一…

Effective C++中文版学习记录(二)

Effective C中文版学习记录&#xff08;二&#xff09; 章节二&#xff1a;构造/ 析构/ 赋值运算 进度&#xff1a;12/55 文章目录 Effective C中文版学习记录&#xff08;二&#xff09;条款05、了解C默默编写并调用哪些函数条款06、若不想使用编译器自动生成的函数&#xf…

掌握这一招,轻松用Vue和ECharts打造炫酷雷达图——详细教程指南

大家好&#xff0c;今天我要分享的是如何使用ECharts来绘制雷达图。雷达图是一种常用的数据可视化工具&#xff0c;特别适合展示多个量化指标的比较&#xff0c;也可以进行多维度用户行为分析。接下来&#xff0c;我将一步步教大家如何通过ECharts来实现这一效果。效果图如下&a…

【Conda】修复 Anaconda 安装并保留虚拟环境的详细指南

目录 流程图示1. 下载 Anaconda 安装程序2. 重命名现有的 Anaconda 安装目录Windows 操作系统Linux 操作系统 3. 运行新的 Anaconda 安装程序Windows 操作系统Linux 操作系统 4. 同步原环境使用 robocopy 命令&#xff08;Windows&#xff09;使用 rsync 命令&#xff08;Linux…

如何正确输入IP地址前面的斜杠:详细指南

在网络配置和文档编写中&#xff0c;经常需要准确地输入IP地址及其子网掩码。IP地址前面的斜杠&#xff08;/&#xff09;用于表示子网掩码的位数&#xff0c;是一个重要的组成部分。然而&#xff0c;对于一些用户来说&#xff0c;输入这个斜杠可能会带来一些困惑。本文将详细介…

Session会话管理技术

Session会话管理技术 会话: 两个交互,在开发中是指浏览器和服务器它们两个的交互 会话管理: 管理会话中产生的数据,一般是记录登录状态 补充: 状态管理,就是管理数据 1、 Session概述 Session用于记录用户的状态。Session指的是在一段时间内&#xff0c;单个客户端与Web服务…

Leetcode 1283. 使结果不超过阈值的最小除数

1.题目基本信息 1.1.题目描述 给你一个整数数组 nums 和一个正整数 threshold &#xff0c;你需要选择一个正整数作为除数&#xff0c;然后将数组里每个数都除以它&#xff0c;并对除法结果求和。 请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。 每…

在登陆功能中添加Redis缓存

目录 基于Redis实现短信登录 实现流程图 实现代码 解决登录状态刷新问题 初始方案思路&#xff1a; 实现代码 发送验证码 登陆实现 如果是新用户则自动创建 运行测试 基于Redis实现短信登录 实现流程图 实现代码 Overridepublic Result login(LoginFormDTO loginForm…

初识动态规划一>第 N 个泰波那契数

1.题目&#xff1a; 2.解析&#xff1a; 动态规划解题模板解释&#xff1a; 本题&#xff1a; 1.状态方程&#xff1a;dp[i]第i个泰波那契数 2.状态转移方程&#xff1a;根据题意得&#xff1a;把Tn3 Tn Tn1 Tn2&#xff0c; 变为Tn Tn-3 Tn-2 Tn-1。 3.初始化&#xff…

react-问卷星项目(6)

实战 React常用UI组件库 Ant Design国内最常用组件库&#xff0c;稳定&#xff0c;强大Material UI国外流行TailWind UI 国外流行&#xff0c;收费 Ant Design 官网地址 这一章基本内容就是使用UI重构页面&#xff0c;也没有什么知识点&#xff0c;直接上代码 下载 npm ins…

[Linux]:线程(三)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;Linux学习 贝蒂的主页&#xff1a;Betty’s blog 1. POSIX 信号量 1.1 信号量的概念 为了解决多执行流访问临界区&#xff0c…