首页 文章 精选 留言 我的

精选列表

搜索[持续测试],共10016篇文章
优秀的个人博客,低调大师

HVML 动态:解释器 0.9.2 发布;持续演进!

HVML 是由中国首款开源基础软件 MiniGUI 的作者魏永明设计的描述式编程语言,也是世界首款可编程标记语言。 从 2020 年 5 月开始构思算起,魏永明带领团队历经两年多的时间,于 2022 年 7 月 31 日正式开源发布了 HVML 规范文档以及解释器、渲染器等软件,总代码行数逾百万! 面向未来多屏协同场景下的应用开发需求,HVML 为应用的跨端运行提供了全新的技术框架。HVML 蕴含了大量新颖的设计和独创的思想,是魏永明及其团队近三十年基础软件开发经验的结晶,一经发布便获得了业界的广泛关注。 本文将向读者介绍 HVML 社区的近期动态。 软件及文档的更新 HVML 解释器 PurC 0.9.2 2022 年 11 月 30 日,HVML 社区发布 PurC 0.9.2,这也是 PurC 1.0.x 的第四个 alpha 版本。若发现任何错误、不兼容性和问题,请向https://github.com/HVML/PurC/...报告。 在这个版本中,主要完成了解释器相关的大量增强,并修复了一些缺陷。一些主要的增强说明如下: 1) 现在,我们可以在复合表达式中使用行注释,如: {{ # 尝试改变工作路径到 `/root` 目录下 $SYS.cwd(! '/root') && // 如果成功则调用 $FS.list 获得该目录下的所有目录项对象数组 $FS.list || # 否则向标准输出($STREAM.stdout)打印提示信息 $STREAM.stdout.writelines('Cannot change directory to "/root"'); // 并改变工作路径到 `/` 下 $SYS.cwd(! '/' ) && // 若成功,则获得该目录下所有目录项对象数组 $FS.list || // 否则将 `false` 作为该 CHEE 的最终求值结果 false }} 如上所示,我们可在复合表达式中,使用#或者//定义一个行注释。 2) 可使用"""(三双引号,triple-double-quote)定义多行文本字符串,将原样保留其中的 ASCII 制表符或者新行符(U+0009 TAB、U+000A LF、U+000D CR),单引号(')以及不连续出现三次的双引号(")无需使用转义符号。类似地,可使用'''(三单引号,triple-single-quote)定义多行文本字符串,将原样保留其中的 ASCII 制表符或者新行符,双引号(")以及不连续出现三次的单引号(')无需使用转义符号。如: { id: 1234567890UL, nickname: "David", signature: """ 一个 被'程序'耽误的 "文艺"青年。 """, } 三单引号和三双引号的区别在于,使用三双引号时,将对包含其中的表达式进行求值,并将结果做字符串化之后和其他部分串接在一起作为最终结果,当使用三单引号时,将忽略其中的求值表达式。 3) 在参数化数据或者 eJSON 当中,支持使用[!和]包围来定义元组。如: <iterate on [! 1, 1, 2, 3, 5 ] > ... </iterate> 在 HVML 中,元组是具有固定大小的数组,可修改其中的成员,但不能删除或者新增成员。相比数组,元组的内存消耗更低。 4) 支持字符串常量语法,用于在catch和except元素中定义异常的名称。如: <choose on $locales in "#the-footer" by "KEY: AS '$global.locale'"> <update on "p > a" at 'textContent attr.href attr.title' with ["$?.se_name", "$?.se_url", "$?.se_title"] /> <catch for `NoData`> <update on 'p' at 'textContent' with 'You forget to define the $locales/$global variables!' /> </catch> <catch for `NoSuchKey`> <update on 'p > a' at 'textContent attr.href attr.title' with ["Google", "https://www.google.com", "Google"] /> </catch> <catch for `ANY`> <update on 'p' at 'textContent' with 'Bad $locales/$global data!' /> </catch> </choose> 如此,当我们在catch或者except当中使用了不正确的异常名称时,将在 HVML 程序的解析阶段报错。 本版本全部的错误修复、增强、优化和调整罗列如下: 变化: 更改了某些过长的接口名称。 调整: 微调了 HVML 生成的文档的序列化格式,方便开发者查看。 微调了某些 API 的描述。 增强: 支持三单引号语法定义多行字符串。 使用三双引号语法时,其中的求值表达式将被求值。 复合表达式支持行注释。 支持元组。 支持字符串常量语法,用于在catch和except元素中定义异常的名称。 在预定义变量的实现中,使用线性容器接口来替代数组,以支持更多的容器类型。 添加新的接口:purc_variant_make_atom()。 purc命令行工具可支持使用 URL 查询字符串(RFC 3986)来指定传递给 HVML 协程的请求参数。 purc命令行工具的 Foil 渲染器支持更多的 CSS 属性,比如white-space、list-style-type、quotes、counter和counters等。 错误修正: 对未转义的字符串中的 C0 控制字符,eJSON 解析器将报错。 hvml和iterate元素中的表达式会被错误地求值两次。 HVML 规范 1.0 RC8 我们于 2022 年 11 月 30 日发布了 HVML 规范 1.0 RC8 版本,并进入到 HVML 规范的 1.0 RC9 版本。 在 RC8 版本中,我们围绕 HVML 语言规范主要做了如下调整及增强: 使用反引号属性值语法定义异常或错误名称。 扩展 JSON 语法,支持三单引号(''')。 微调字符串化处理规则,避免使用新行符,转而使用逗号和分号。 调整某些术语: 求值表达式:Hybrid evaluation expression (HEE)。 复合求值表达式:Compound hybrid evaluation expression(CHEE)。 参数化数据:Parameterized Data。 参数化字符串:Parameterized String。 $EJSON重命名为$DATA。 $DATA.numberify重命名为$DATA.numerify。 调整有关求值表达式语法、eJSON 语法的章节。 有关详情,可点击阅读如下链接: HVML 规范 1.0 社区活动 2022 年 11 月,社区小伙伴们围绕如下方面做出了贡献: 更新 0.9.0 版本的 AUR 包描述信息,由 @taotieren 提交拉取请求。 下一步计划 2022 年 12 月底,我们将发布 PurC 0.9.4 版本,预期功能包括: 增强update元素以支持intersect、subtract和xor等操作以及individually副词属性。 对request元素的完整支持。 继续增强 Foil 渲染器,完成除表格以外的布局支持。 2023 年 01 月底,我们将发布 PurC 0.9.6 版本,预期功能包括: 支持 CSS Level 3 选择器规范,完善预定义$DOC变量各属性获取器及设置器。 增强文档定位功能。 将来自外部数据源的text/html类型装载为原生实体对象,以方便对网页内容的处理和操作。 Foil 字符渲染器支持表格布局。 2023 年 02 月底,我们将发布 PurC 0.9.8 版本,预期功能包括: 内存及性能的初步优化。 预定义变量规范中定义的,但尚未完成的动态对象属性及方法。 全功能的 Foil 字符渲染器,支持多窗口、构件及交互。 2023 年 3 月底,我们将发布 PurC 0.9.9 版本(PurC 1.0.0 Beta 版本),预期功能包括: 对 Windows 平台的支持。 预定义动态对象的完整实现。 常见问题及解答 Q:HVML 是针对嵌入式和物联网使用的吗? A:不仅仅是。HVML 是一种通用的胶水语言,HVML 的目标平台包括传统的桌面、服务器、智能手机、平板、嵌入式设备和物联网设备。 Q:HVML 是打算取代现有的 Web 前端开发技术,比如 JavaScript 吗? A:没有这个计划。HVML 的渲染器会用到 Web 前端技术,但 HVML 的目标并不是取代现有的 Web 前端开发技术,而是面向未来的多屏协同场景下的需求,为应用的跨端运行提供全新的技术框架,同时作为合璧操作系统(HybridOS)的首选编程语言。 Q:在哪里可以看到 HVML 相关的源代码? A:HVML 相关文档及代码仓库在https://github.com/HVML上开源发布,其中包括: HVML 解释器(PurC):https://github.com/HVML/PurC HVML 图形渲染器(xGUI Pro):https://github.com/HVML/xGUI-Pro 扩展 WebKit 引擎(仅源代码包) 开发用 HVML 字符渲染器(PurC Midnight Commander):https://github.com/HVML/PurC-... Q:有可以直接下载安装的软件包吗? A:因开发团队精力有限,目前尚没有制作针对各个操作系统的安装包,但来自开源社区的小伙伴们已经积极行动,帮助我们完成了一些 Linux 发行版的安装包。我们将这些软件包收集到了如下页面,可访问查看: https://hvml.fmsoft.cn/software

优秀的个人博客,低调大师

Jenkins CI持续集成项目基础配置

1. 安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo \ https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key sudo yum upgrade sudo yum install epel-release java-11-openjdk-devel sudo yum install jenkins sudo systemctl daemon-reload 引用自:https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos 2. 打开http://ip:8080 按提示操作,并安装推荐插件 3. Jenkins安装插件 ① Git 插件 ② Docker 插件 ③ Kubernetes ④ Kubernetes Cli ⑤ Config File Provider ⑥ Pipeline Utility Steps 4. Jenkins服务器安装 maven git docker jdk(安装jenkins时已经启动) 5. 配置Credentials添加证书从git上拉代码 Jenkins服务器生成密钥: ssh-keygen -t rsa -C "ci@huanke.com" 使用阿里云的codeup的话,先创建个拉取的ram账户(例如:ci),在codeup中将ram账户ci给授权为开发权限。 然后阿里云登陆ci账户,上传服务器的id_rsa.pub 到codeup仓库的ci个人设置下的ssh公钥,并设置为只读权限。 最后Jenkins设置git拉去代码凭据

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册