Zig 语言通用代码生成器:逻辑,冒烟测试版发布二

Zig 语言通用代码生成器:逻辑,冒烟测试版发布二

Zig 语言是一种新的系统编程语言,其生态位类同与 C,是前一段时间大热的 rust 语言的竞品。它某种意义上的确非常像 rust,尤其是在开发过程中无穷无尽抛错的过程,简直和 rust 真是一模一样。

Zig 语言是一种很有前途的语言,现在的稳定版是 zig 0.13 版本。已经有一批人开始关注,学习和使用这一新兴的语言。笔者也是其中之一。笔者将 rust 通用代码生成器莲花移植到了 zig,由此得到了 zig 通用代码生成器:逻辑。为 zig 语言的学习者和使用者提供了方便。

Zig 语言通用代码生成器:逻辑。依然专注与 Zig web 领域。受限与所用组建的开发状况,目前只支持 sqlite 数据库,而且数据库不能太复杂。受限于 httpz 库,其 zig 后端没有集成界面,系统只有唯一的 Nodejs 前端界面。

Zig 语言通用代码生成器:逻辑的第一个冒烟测试版已经发布。视频清参考 

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

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

Zig 语言通用代码生成器:逻辑的项目地址:

https://gitee.com/jerryshensjf/Logic

二进制发布版地址:

https://gitee.com/jerryshensjf/Logic/releases/tag/V_1_0_0_smoke

Zig语言通用代码生成器:逻辑

项目介绍

Zig语言通用代码生成器:逻辑,是Java写成的Zig语言通用代码生成器,目前的版本采用openjdk 21编译。Zig语言通用代码生成器:逻辑,基于Rust通用代码生成器:莲花的架构。软件为一war包,可以部署在 Tomcat 9的webapps目录下,启动即可运行。

项目图片

输入图片说明

输入图片说明

软件架构

后端代码生成物是zig 0.13环境。采用httpz和Sqlite数据库。

前端代码生成物可运行在Nodejs 21,18或14上。是Vue ElementUI 架构。

版本发布

逻辑的第一个冒烟测试版本已发布,支持httpz和sqlite数据库,所附示例中,One和CourseManagementPages已可以正确,无错的运行。可以直接解压缩,编译,运行。您可以在解压后的后端代码生成物的根目录中运行zig build编译代码生成物。编译后进入zig-out/bin目录兴建名为数据库名.db的sqlite数据库文件,并使用sql文件中的数据库脚本建表和初始化数据。而后启动bin目录中的应用程序即可启动后端程序。

和其他通用代码生成器的双界面不同。逻辑只含有一套前端界面。zig后端只有API,没有集成的后端界面。前端界面支持Nodejs 21,18或14。为Vue和ElementUI界面。这是由于httpz框架还不支持暴露静态资源导致的,未来如果httpz框架支持静态资源后,会有功能更新。

开发现状

现在已完成第一个冒烟测试版本。正在开发进一步的功能更新。会有明显的增强。

介绍视频

冒烟测试版

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

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

已知问题

由于sqlite.zig驱动的功能限制,请不要生成字段比较多的数据表,如果字段过多,会超过sqlite.zig的功能限制。您可以测试一下MultiPages示例,看看超过限制后系统的报错。 测试此代码生成器的功能您可以使用One和CourseManagementPages示例,或者自己测试比较简单的示例,最好是单独的页面,没有多对多关系和图片,日期时间,和登录模块,图形报表和复杂版面的示例,使用类似与One和CourseManagementPages的示例应该是支持的。

代码生成器截图

输入图片说明

输入图片说明

输入图片说明

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高等数学-宋浩版2.0-映射

映射:X,Y为非空集合,存在法则F,对X(原像)中每个元素X,按法则F,在Y中有唯一元素与之对应,F为x到Y(镜像)的映射。f:X->Y X原像,Y像,x定义域,Df,Rf &#x…

python之多任务爬虫——线程、进程、协程的介绍与使用(16)

文章目录 1、什么是多任务?1.1 进程和线程的概念1.2 多线程与多进程的区别1.3 并发和并行2、python中的全局解释器锁3、多线程执行机制4、python中实现多线程(threading模块)4.1 模块介绍4.2 模块的使用5、python实现多进行程(Multiprocessing模块)5.1 导入模块5.2 模块的…

Caffeine本地缓存框架

Caffeine本地缓存框架 hi,我是阿昌,今天记录一下Java最强本地缓存Caffeine 1、缓存介绍 缓存(Cache),在软件无处不在。从底层CPU多级缓存,再到客户页面缓存,和服务器数据缓存,导出都存在着缓存的身影&am…

HBuilder X 中Vue.js基础使用2(三)

一、条件渲染 1、条件判断 v-if : 表达式返回真值时才被渲染 v-else :表达式返回为假时不被渲染 2、 分支条件判断 v-else-if :使用v-if , v-else-if 和 v-else 来表示其他的条件分支 3、显示隐藏 v-show v-show true 把节点显示 …

PortQry下载安装使用教程(超详细),Windows测试UDP端口

《网络安全自学教程》 PortQry是微软官方提供的一款TCP/IP连接「排障工具」,用来「检查」TCP/UDP「端口状态」。 平时检查端口状态,最常用的是telnet,但它是基于TCP协议的,无法检测「UDP端口」,这篇文章教大家如何在W…

Axure随机验证码高级交互

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:字母数字随机验证码高级交互 主要内容:4位字母数字随机验证码生成、错误提示与State状态同步 应用场景:登录验证码、其他类…

面试宝典(五):用三个线程按顺序循环打印123三个数字,比如123123123

要使用三个线程按顺序循环打印123三个数字,势必要控制线程的执行顺序,可以使用java.util.concurrent包中的Semaphore类来控制线程的执行顺序。 代码示例 import java.util.concurrent.Semaphore;public class SequentialPrinting123 {private static Se…

leetcode:34. 在排序数组中查找元素的第一个和最后一个位置(python3解法)

#1024程序员节 | 征文# 难度:中等 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(lo…

初识算法 · 前缀和(1)

目录 前言: 一维数组的前缀和 题目解析 算法原理 算法编写 二维数组的前缀和 题目解析 算法原理 算法编写 前言: ​本文的主题是前缀和,通过两道题目讲解,一道是一维数组的模板,一道是二维数组的模板。 链接…

【WebGIS实例】(18)MapboxGL 绘制矢量——线、面

前言 Mapbox GL JS 版本:3.6.0 该博客仅供学习参考,如果您是计划在实际项目中实现该功能,也推荐您直接使用已有的功能库: 官方案例:Draw a polygon and calculate its areamapbox-gl-draw:mapbox/mapbox-g…

基于Django+python的酒店客房入侵检测系统设计与实现

项目运行 需要先安装Python的相关依赖:pymysql,Django3.2.8,pillow 使用pip install 安装 第一步:创建数据库 第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句 第三步:修改源…

HTTPS讲解

前瞻 HTTP与HTTPS的关系 HTTPS也是一个在应用层的协议,是在HTTP协议基础上的一个加密解密层 明文 密文 秘钥 明文->秘钥 加密 秘钥->明文 解密 例如:明文为7 秘钥为2 7^21015; 5就是密文例子: 因为http的内容是明文传输的,明文…

危险物品图像分割系统:一键训练

危险物品图像分割系统源码&数据集分享 [yolov8-seg-GFPN&yolov8-seg-CSwinTransformer等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Global…

LabVIEW共享变量通信故障

问题概述: 在LabVIEW项目中,使用IO服务器创建共享变量,并通过LabVIEW作为从站进行数据通信。通讯在最初运行时正常,但在经过一段时间或几个小时后,VI前面板出现错误输出,导致数据传输失败。虽然“分布式系统…

折扣影票接口对接渠道如何选择?

选择折扣影票接口对接渠道需要综合多方面因素考虑,以下是一些建议: 1.合法性和合规性: 确认供应商资质:优先选择具有相关票务经营资质的渠道。比如一些大型的在线票务平台,它们通常经过官方认证和监管,在…

[JAVAEE] 多线程的案例(二) - 阻塞队列 生产者消费者模型

目录 一. 什么是阻塞队列 二. java中的阻塞队列 三. 生产者消费者模型 3.1 生产者消费者模型与阻塞队列密不可分的关系 3.2 阻塞队列在生产者消费者模型的作用 a. 解耦合 b. 削峰填谷 四. 模拟实现阻塞队列 4.1 实现put方法 4.2 实现take方法 4.3 生产者消费者模型​…

了解C# 程序结构

本节我们将学习 C# 编程语言的结构,为了让大家能够对 C# 程序结构有个更好的理解,我们会先演示一个最小的、最简单的 C# 程序结构,以便作为接下来的章节的参考。 C# Hello World 实例 一个 C# 程序主要包括以下部分: 命名空间声明…

08 实战:色彩空间展示(本程序以视频为主)

程序效果如下: 我在这里讲解RGB和YCbCr的原理: 一、RGB颜色空间 1.1 基本概念 RGB颜色空间是一种最基础和常用的颜色表示方式,它基于人眼感知色彩的三原色原理。RGB分别代表: R(Red):红色G(Green):绿色B(Blue):蓝色通过这三种基本颜色的不同组合,可以产生人眼…

Promise、async、await 、异步生成器的错误处理方案

1、Promise.all 的错误处理 Promise.all 方法接受一个 Promise 数组,并返回所有解析 Promise 的结果数组: const promise1 Promise.resolve("one"); const promise2 Promise.resolve("two");Promise.all([promise1, promise2]).…

基于人体姿势博文文章

MATLAB运动目标检测系统应用背景 运动目标的定位跟踪,检测识别,运动分析在图像压缩、运动分析、交通检测,智能监控等方面有主要的应用。 首先,在图像压缩中,运动目标检测技术可以在背景区域中将前景区域提取分割出来…