首页 文章 精选 留言 我的

精选列表

搜索[国产算力],共10000篇文章
优秀的个人博客,低调大师

AWTK 1.5 发布,国产开源 GUI 引擎

ZLG AWTK 1.5 Release Notes 一、介绍 AWTK全称 Toolkit AnyWhere,是ZLG开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。 欢迎广大开发者一起参与开发:生态共建计划。 AWTK寓意有两个方面: Toolkit AnyWhere。 ZLG 物联网操作系统 AWorksOS 内置 GUI。 AWTK源码仓库: 主源码仓库:https://github.com/zlgopen/awtk 镜像源码仓库:https://gitee.com/zlgopen/awtk 稳定版整合包:https://pan.baidu.com/s/1_oRgj67M-I4kivk-YzwFWA提取码:1cmi AWTK Designer 界面设计工具: 不再需要手写 XML 拖拽方式设计界面,所见即所得 快速预览,一键打包资源 注册及下载地址:https://awtk.zlg.cn 运行效果截图: 二、最终目标: 支持开发嵌入式应用程序。✔ 支持开发 Linux 应用程序。✔ 支持开发 MacOS 应用程序。✔ 支持开发 Windows 应用程序。✔ 支持开发 Web APP。✔ 支持开发 Android 应用程序。✔ 支持开发 iOS 应用程序。✔ 支持开发微信小程序。 支持开发支付宝小程序。 支持开发百度小程序。 支持开发 2D 小游戏。 三、主要特色 1. 跨平台 AWTK是跨平台的,这有两个方面的意思: AWTK 本身是跨平台的。目前支持的平台有 ZLG AWorksOS、Windows、Linux、MacOS、嵌入式 Linux、Android、iOS、Web 和嵌入式裸系统,可以轻松的移植到各种 RTOS 上。AWTK 以后也可以运行在各种小程序平台上运行。 AWTK 同时还提供了一套跨平台的基础工具库。其中包括链表、数组、字符串 (UTF8 和 widechar),事件发射器、值、对象、文件系统、互斥锁和线程、表达式和字符串解析等等,让你用 AWTK 开发的应用程序可以真正跨平台运行。 2. 高效 AWTK通过一系列的手段保证 AWTK 应用程序高效运行: 通过脏矩算法只更新变化的部分。 支持 3 FrameBuffer 让界面以最高帧率运行 (可选)。 UI 描述文件和主题文件使用高效的二进制格式,解析在瞬间完成。 支持各种 GPU 加速接口。如 OpenGL、DirectX、Vulkan 和 Metal 等。 支持嵌入式平台的各种 2D 加速接口。目前 STM32 的 DMA2D 和 NXP 的 PXP 接口,厂家可以轻松扩展自己的加速接口。 3. 稳定 AWTK通过下列方式极力让代码稳定可靠: 使用 cppcheck 和 facebook infer 进行静态检查。 使用 valgrind 进行动态内存检查。 近两万行的单元测试代码。 ZLG 强大 GUI 团队的支持。 经过多个实际项目验证。 多平台 / 多编译器验证。 优秀的架构设计。 Code Review。 手工测试。 4. 强大 丰富的控件 (持续增加中)。 支持各种图片格式 (png/jpg/gif/svg)。 支持各种字体格式 (点阵和矢量)。 支持窗口动画。 支持控件动画。 支持高清屏。 支持界面描述文件。 支持主题描述文件。 主题切换实时生效。 支持控件布局策略。 支持对话框高亮策略。 丰富的辅助工具。 支持从低端的 Cortex M3 到各种高端 CPU。 支持无文件系统和自定义的文件系统。 支持裸系统和 RTOS。 支持事件录制与重放进行压力测试。 支持 Appium 进行全自动化 UI 测试。 5. 易用 大量的示例代码。 完善的 API 文档和使用文档。 ZLG 强大的技术支持团队。 用 AWTK 本身开发的界面编辑器。 声明式的界面描述语言。一行代码启用控件动画,启用窗口动画,显示图片 (png/jpg/svg/gif)。 6. 高度扩展性 可以扩展自己的控件。 可以扩展自己的动画。 可以实现自己的主循环。 可以扩展自己的软键盘。 可以扩展自己的图片加载器。 可以扩展自己的字体加载器。 可以扩展自己的输入法引擎。 可以扩展自己的控件布局算法。 可以扩展自己的对话框高亮策略。 可以实现自己的 LCD 接口。 可以扩展自己的矢量引擎 (如使用 skia/cairo)。 所有扩展组件和内置组件具有相同的待遇。 7. 多种开发语言 AWTK本身是用 C 语言开发的,可以通过 IDL 生成各种脚本语言的绑定。生成的绑定代码不是简单的把 C 语言的 API 映射到脚本语言,而是生成脚本语言原生代码风格的 API。目前支持以下语言 (以后根据需要增加): C C++ lua java python Javascript on jerryscript Javascript on nodejs Javascript on quickjs 8. 国际化 支持 Unicode。 支持输入法。 支持字符串翻译 (实时生效)。 支持图片翻译 (实时生效)。 文字双向排版。 9. 为嵌入式软件定制的 MVVM 框架,彻底分离用户界面和业务逻辑。 性能高。 内存开销小。 隔离更彻底。 可移植到其它 GUI。 代码小 (~5000 行)。 无需学习 AWTK 控件本身的 API。 支持多种编程语言(目前支持 C/JS)。 详情请参考:https://github.com/zlgopen/awtk-mvvm 10. 开放源码,免费商用 (LGPL)。 四、1.5 版本更新 1. 细节完善 增加离线 canvas。 修改切换语言奔溃的问题。 完善 android 资源加载。 修改输入法中内存临时泄漏。 button 支持设置长按时间。 edit/mledit 支持翻译提示信息。 支持 shift+tab 向后切换焦点。 edit/mledit 支持 cancelable 属性。 软键盘支持“clear"/"cancel"两个功能按钮。 完善表达式,增加 iformat/fformat 函数。 Linux/MacOS/Windows 支持编译为动态库。 候选字控件 (candidate) 支持设置 margin style。 完善 keyboard 增加 back/back_to_home 按钮的支持。 edit/mledit/slider 支持 WIDGET_PROP_INPUTING 属性,用于辅助实现 MVVM。 大量细节完善去请参考:https://github.com/zlgopen/awtk/blob/master/docs/changes.md 2. 新增文档 新增文档《如何使用对话框》 新增文档《如何实现弹出菜单》 新增文档《如何绘制旋转文字》 新增文档《为 512K Flash 优化空间》 新增文档《如何用 edit 控件编辑日期》 新增文档《如何用 edit 控件编辑时间》 新增文档《如何用 edit 控件编辑 IP 地址》 新增文档《如何存取应用程序的配置信息》 新增文档《项目描述文件 project.json 介绍》 新增文档《如何使用软键盘上的 action 按钮》 新增文档《如何用 valgrind 查找内存相关问题》 新增文档《如何去掉不需要的控件,以节省 flash 空间》 新增文档《如何定制 combo_box 控件中按钮的风格和大小》 3. 新增特性 新增触屏版 T9 输入引擎。 新增按键版 T9 输入引擎。 支持 rgb565 格式的图片 新增 app_conf 实现配置文件的访问。 edit 支持时间、日期和 IPV4 等格式的编辑。 支持从 SD 卡加载资源,做了一些小的改动 增加事件录制与重放功能,辅助手动测试和压力测试。 新增自动化测试引擎,兼容Appium,实现全自动化测试。 重新设计内存管理器架构,新增加锁、调试和防内存碎片功能。 基本控件的文本支持双向排版 (Unicode Bidirectional Algorithm) 4. 新增控件 二维码 number-label 代码编辑器 日期选择器 表格视图 仿微信列表项 5. 新增重要 API 新增类 mutex_nest 新增类 object_locker 新增函数 emitter_exist 新增函数 str_append_more。 新增函数 tk_wstr_dup_utf8 新增函数 fs_os_file_tell 新增函数 fs_os_file_size 新增函数 fs_os_file_stat 新增函数 fs_os_file_sync 新增函数 tk_mutex_try_lock 新增函数 widget_get_text_utf8 新增函数 canvas_get_font_height 新增函数 date_time_get_month_name 新增函数 date_time_get_wday_name 7. 新增平台 mvvm 在 stm32上的移植。 8. 新增相关项目 UI 自动测试引擎 Restful WEB 框架 自定义控件生成器 自定义字体加载器 演示窗口之间的通讯方式 欢迎广大开发者一起参与开发:生态共建计划。

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

国产微服务 网关Apache APISIX 上手

2019 年 10 月 17 日,支流科技 API 网关 APISIX 进入 Apache 开始孵化。笔者表示去搜索了一下这家公司 OpenResty 圈内顶级大牛《OpenResty 最佳实践》作者 温铭 和 王院生,这就非常有意思了 APISIX 是一个高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 作为微服务请求⽹关,通过插件提供负载平衡,⽇志记录,身份验证等功能: 动态负载均衡: ⽀持不同上游服务的动态负载均衡 安全插件: 内置安全处理层,⽀持如OAuth2、ACL、CORS、动态 SSL 和IP 限制等 流量控制插件: 速率限制,请求⼤⼩限制和响应速率限制等 分析和监控插件:借助如 Prometheus,Datadog 和 Runscope 产品,完成API

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

大数据虚拟混算平台Moonbox配置指南

一、环境准备 已安装Apache Spark 2.2.0(此版本仅支持Apache Spark 2.2.0, 其他Spark 版本后续会兼容) 已安装MySQL并启动,且开启远程访问 各安装节点已经配置ssh免密登录 二、下载 moonbox-0.3.0-beta下载:https://github.com/edp963/moonbox/releases/tag/0.3.0-beta 三、解压 tar -zxvf moonbox-assembly_2.11-0.3.0-beta-dist.tar.gz 四、修改配置文件 配置文件位于conf目录下 step 1: 修改slaves mv slaves.example slaves vim slaves 将会看到如下内容: localhost 请根据实际情况修改为需要部署worker节点的地址, 每行一个地址 step 2: 修改moonbox-env.sh mv moonbox-env.sh.example moonbox-env.sh chmod u+x moonbox-env.sh vim moonbox-env.sh 将会看到如下内容: export JAVA_HOME=path/to/installed/dir export SPARK_HOME=path/to/installed/dir export YARN_CONF_DIR=path/to/yarn/conf/dir export MOONBOX_SSH_OPTS="-p 22" export MOONBOX_HOME=path/to/installed/dir # export MOONBOX_LOCAL_HOSTNAME=localhost export MOONBOX_MASTER_HOST=localhost export MOONBOX_MASTER_PORT=2551 请根据实际情况修改 step 3: 修改moonbox-defaults.conf mv moonbox-defaults.conf.example moonbox-defaults.conf vim moonbox-defaults.conf 将会看到以下内容,其中: catalog 配置元数据存储位置, 必须修改, 请根据实际情况修改 rest 配置rest服务, 按需修改 tcp 配置tcp(jdbc)服务, 按需修改 local 配置Spark Local模式作业, 值为数组, 有多少个元素表示每个Worker节点启动多少个Spark Local模式作业。如不需要可删除。 cluster 配置Spark yarn模式作业, 值为数组, 有多少个元素表示每个Worker节点启动多少个Spark Yarn模式作业。如不需要可删除。 moonbox { deploy { catalog { implementation = "mysql" url = "jdbc:mysql://host:3306/moonbox?createDatabaseIfNotExist=true" user = "root" password = "123456" driver = "com.mysql.jdbc.Driver" } rest { enable = true port = 9099 request.timeout = "600s" idle.timeout= "600s" } tcp { enable = true port = 10010 } } mixcal { pushdown.enable = true column.permission.enable = true spark.sql.cbo.enabled = true spark.sql.constraintPropagation.enabled = false local = [{}] cluster = [{ spark.hadoop.yarn.resourcemanager.hostname = "master" spark.hadoop.yarn.resourcemanager.address = "master:8032" spark.yarn.stagingDir = "hdfs://master:8020/tmp" spark.yarn.access.namenodes = "hdfs://master:8020" spark.loglevel = "ERROR" spark.cores.max = 2 spark.yarn.am.memory = "512m" spark.yarn.am.cores = 1 spark.executor.instances = 2 spark.executor.cores = 1 spark.executor.memory = "2g" }] } } optional: 如果HDFS 配置了高可用(HA)、或者HDFS 配置了kerberos、或者YARN 配置了高可用(HA)、或者YARN 配置了kerberos 将cluster元素中相关部分改为以下配置, 请根据实际情况修改。具体值可查阅hdfs配置文件和yarn配置文件。 #### HDFS HA #### spark.hadoop.fs.defaultFS="hdfs://service_name" spark.hadoop.dfs.nameservices="service_name" spark.hadoop.dfs.ha.namenodes.service_name="xxx1,xxx2" spark.hadoop.dfs.namenode.rpc-address.abdt.xxx1="xxx1_host:8020" spark.hadoop.dfs.namenode.rpc-address.abdt.xxx2="xxx2_host:8020" spark.hadoop.dfs.client.failover.proxy.provider.abdt="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" spark.yarn.stagingDir = "hdfs://service_name/tmp" #### HDFS kerberos #### dfs.namenode.kerberos.principal = "" dfs.namenode.kerberos.keytab = "" #### YARN HA #### spark.hadoop.yarn.resourcemanager.ha.enabled=true spark.hadoop.yarn.resourcemanager.ha.rm-ids="yyy1,yyy2" spark.hadoop.yarn.resourcemanager.hostname.rm1="yyy1_host" spark.hadoop.yarn.resourcemanager.hostname.rm2="yyy2_ho st" #### YARN kerberos #### spark.yarn.principal = "" spark.yarn.keytab = "" 五、分发安装包 将MySQL Jdbc驱动包放置到libs和runtime目录下, 然后将整个moonbox安装目录拷贝到所有安装节点, 确保位置与主节点位置一致。 六、启动集群 在master节点执行 sbin/start-all.sh 七、停止集群 在master节点执行 sbin/stop-all.sh 八、检查集群是否成功启动 在master节点执行如下命令, 将会看到 MoonboxMaster 进程 jps | grep Moonbox 在worker节点执行如下命令, 将会看到 MoonboxWorker 进程 jps | grep Moonbox 在worker节点执行如下命令, 将会看到与配置文件对应个数的 SparkSubmit 进程 jps -m | grep Spark 使用moonbox-cluster命令查看集群信息 bin/moonbox-cluster workers bin/moonbox-cluster apps 如果检查通过, 则集群启动成功, 即可参阅examples部分开始体验啦。 如果检查失败, 可通过查看master节点或者worker节点上logs目录下的日志进行问题排查。 开源地址:https://github.com/edp963/moonbox 来源:宜信技术学院

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

校园宽带上网,“新”网络说了算

NFV技术是近几年来网络领域的新兴技术,也是当前电信运营商纷纷开始试水的新应用。不过,要是认为NFV只能在运营商领域“发光发热”那就大错特错。西安欧亚学院就采用了NFV技术,对校园宽带接入实现了全盘掌控,成为教育领域开启NFV技术实践的先锋。 校园宽带必须“管”起来 西安欧亚学院成立于1995年,是一所经国家教育部批准的国际化应用型普通本科高校,全日制在校学生达2万余人。 作为一所现代化高校,校园内的宽带网络接入自然是必不可少,西安欧亚学院也是如此。但是,随着互联网越来越潜移默化地渗入到日常生活中,对学生的上网行为管理变得越来越重要。 对此,西安欧亚学院有意加强学生上网行为管理控制,避免学生过度使用互联网,影响学习、教育质量。要实现这一点,就首先要解决一个现实障碍:校园内的宽带接入由多家电信运营商共同提供,在接入认证和计费管理上各自为政。既要保障运营方收益,又要满足学生学习、生活娱乐的合理管控,这就需要一个统一的接入认证管理系统来实现。 宽带网络认证“三合一” 要建设一个统一的校园宽带接入系统看起来简单,实际上并不容易。在这个系统中,包括了用户认证、安全、计费等多种业务。一般来说,运营商是通过宽带远程接入服务器(Broadband Remote Access Server,简称BRAS)来实现的。 不过,西安欧亚学院并不是采用的传统的BRAS设备来实现,而是采用了当前最前沿的NFV技术,通过标准服务器与虚拟化等技术的融合,实现了vBRAS的部署。实际上,在电信运营商领域,vBRAS已经是热门方向之一。 通过NFV技术实现的vBRAS,从功能上来说与传统的BRAS设备没有什么差别,可以将其视为一台软件定义的BRAS或者SR设备,可通过软件模块的灵活组合搭配,映射到基于不同硬件架构的传统路由器。 在具体部署中,西安欧亚学院采用的是新华三提供的vBRAS虚拟宽带远程接入服务器。作为业界领先的新IT解决方案提供商,新华三一直积极跟进NFV技术的发展,并基于多年的经验和积累,率先推出了多款具备电信级性能和可靠性的NFV产品,vBRAS是其中的一个成员,并已经在江苏电信等运营商用户中有过成功应用的先例。 通过vBRAS的部署,西安欧亚学院可以将校园宿舍区的互联网接入都集中到一个平台,学生所有的宽带上网需求都经由这一平台分别接入各运营商的链路,在较小的成本投入下,实现对学生上网行为统一管理的目的。 校园网络接入“虚”而置之 西安欧亚学院有两万多名学生,分布在18座宿舍楼中,产生的宽带接入需求也是巨大的,对西安欧亚学院的vBRAS系统也是一个巨大的考验。 西安欧亚学院共部署了两台vBRAS服务器,各自分别承担9座学生宿舍楼的有线、无线宽带接入需求。在认证管理方便,承担的是PPPoE及Portal认证功能。作为一款运行在标准服务器虚拟机上的纯软件BRAS产品,新华三的vBRAS虚拟宽带远程接入服务器能实现不同以太网链路上的PPP接入功能,并对接入的每台主机实现控制、认证、计费功能,而且可以通过Web页面接受用户输入的用户名和密码,对用户进行身份认证,控制用户访问。 2016年9月新学期开始后,西安欧亚学院的vBRAS系统正式上线运行,事实证明,这种新的IT部署模式,能够很好地应对实际应用的需要。在需求高峰期间,新华三vBRAS服务器承载了6000名学生的并发接入需求,系统工作正常稳定。 传统的网络架构中,网络功能与网络设备是强耦合的关系,网络功能均通过专门设计的、厂商专有的设备来实现,例如BRAS设备,不仅部署成本高,更不利于管理运维以及后续业务发展。 NFV技术的应用,让西安欧亚学院避免了这一困局。vBRAS实现功能的按需部署和更新,且极大地方便远程管理及维护,即使后续有更多学生的宽带接入需求出现,IT运维管理人员也能加以轻松应对。这一项目的实施,也是教育用户从传统IT迈向新IT的一次成功尝试。 作为新IT产业引领者的新华三,也希望通过更多新IT技术方案,推动行业信息化应用的变革,成为行业发展的最大助力。 本文出处:畅享网 本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

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

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册