首页 文章 精选 留言 我的

精选列表

搜索[快速],共10000篇文章
优秀的个人博客,低调大师

fhs-framework 3.1 低代码快速开发平台更新,我们只想让普通程序员少写代码

更新内容: PostgreSQL 支持(x_postgres分支) pagex 组件集添加一对多插件 审计日志功能 表单填充(自测和测试神器,不用一个一个输入了) 一对多: 篇幅有限,我们举一个最简单的例子,一个人,有多个手机号,使用PAGEX 主业务json 这么写: [ { type: "text", name: "name", label: "姓名" }, { type: "buttons", name: "buttons", buttons: [ { name: "加一行",//点击加一行后添加一行手机号输入 click: function (_v,_model) { _v.$refs.mobiles[0].addRow(); } } ] }, { type: "one2x", name: "mobiles", defaultValue:{ operator,:'chinaMobile',//运营商默认选中移动 }, //当数据发生改变的时候触发 onDataChange:(_newDatas)=>{ this.$refs.userForm.setModelProp('total',_newDatas.length); }, controls: [ { type: 'select', name: 'operator', label: '运营商', rule: [{ required: true, message: '请选择运营商', trigger: 'change' }], dictCode: "operator",//运营商的字典码 }, { type: 'text', name: 'mobile', label: '手机号', rule: [{pattern: /^0?1(3|4|5|7|8)\d{9}$/, message: '请输入正确得手机号', trigger: 'blur'}], } ] ] 审计日志: 我们致力于显示能让用户和运维人员都能看懂的日志,我们使用了swagger属性名来替代字段名,并且对于一些字典/外键做了翻译。 当然还有优化空间,我们会在后期的版本中继续优化。 表单自动填充: 我们很多项目表单有非常多的字段。这些字段有格式校验,重复校验,在造数据的时候非常麻烦,配合表单自动填充功能,可在开发和测试的时候一键填充表单内容,是不是很香。每个人的生命是宝贵的,应该减少无聊的活。 支持: 根据正则来生成符合指定正则的字符串 内置了一些通用规则,包含:用户名,邮箱,身份证号码,url,ip,数字,日期,手机号,姓名,你可以自己在js里使用正则来扩展通用规则。 支持下拉框,checkbox,radio的自动选中(随机选) 支持程序员写死值 支持在生产环境能屏蔽掉 填充表单的按钮 pagex使用表单填充功能的demo: [ { type: "text", name: "userName", label: "姓名", rule: "required", mock:'@name' //使用通用规则name来自动生成姓名 }, { type: "textarea", name: "remark", label: "备注", mock:'我是备注' //写死值 }, ] FHS Framework介绍: fhs 基于大家常用的技术栈,SpringBoot Cloud Mybatis Plus Sa-Token ,Vue ElementUI等等,但是为了能让程序员减少编码(尤其是无任何意义的编码),我们做了非常多的微创新。 1、翻译服务 就一个注解,可以搞定大部分不需要关联过滤和统计的连表查询 // 字典翻译 ref为非必填 @Trans(type = TransType.DICTIONARY,key = "sex",ref = "sexName") private Integer sex; //这个字段可以不写,实现了TransPojo接口后有一个getTransMap方法,sexName可以让前端去transMap取 private String sexName; //SIMPLE 翻译,用于关联其他的表进行翻译 schoolName 为 School 的一个字段 @Trans(type = TransType.SIMPLE,target = School.class,fields = "schoolName") private String schoolId; //远程翻译,调用其他微服务的数据源进行翻译 @Trans(type = TransType.RPC,targetClassName = "com.fhs.test.pojo.School",fields = "schoolName",serviceName = "easyTrans",alias = "middle") private String middleSchoolId; 本组件已经单独开源:https://gitee.com/fhs-opensource/easy_trans 2、每一个业务都可以有一个牛逼的父类 简单的业务,mapper,service,controller中不需要写业务代码,生成个空类即可,父类已经有所有功能了。 3、高级查询API 对于单表查询API,后端继承了父类后,前端都可以通过高级查询API自己拼接过滤条件,不需要写代码。 { "sorter":[{//排序支持ASC和DESC "property":"userId", "direction":"DESC" }], "querys":[{//过滤条件 where sex=男 and (name=张三 or name=李四 ) "property":"name", // po字段名 "operator":"=",//操作符 "value":"张三",//操作值 "relation":"OR",//关联关系AND OR "group":"nameGroup"//相同的group 外层会加括号 }, { "property":"name", "operator":"=", "value":"李四", "relation":"OR", "group":"nameGroup" },{ "property":"sex", //使用了默认的关联关系AND 以及默认操作符 = "value":"男" }] } 后端也设计了安全字段,部分字段前端传了并不会起作用。 3、pagex vue组件集 pagex 组件基于elementUI为基础,集封装了常见的表单组件,程序员可以使用JSON来写组件代码,可以把表单和列表代码量减少60%+。 虽然pagex看起来很强大,实际他们只是几个vue文件而已,只要有vue组件开发经验的人都可以维护扩展它。 以下是一个DEMO,对字典分组进行增删改查,字典分组有名称和编码2个属性。 <template> <pagex-crudForm :namespace="namespace" :title="title" :crudSett="crudSett" :formSett="formSett" :idFieldName="idFieldName" > </pagex-crudForm> </template> <script> export default { name: "Dict", data() { return { namespace:'dictGroup', title:'字典分组', idFieldName:'groupId',//主键 crudSett:{ // 列表配置 api: '/basic/ms/dictGroup/pagerAdvance', //列表接口 sortSett: [{//排序 "direction": "DESC", "property": "updateTime" }], buttons: [//列表上的按钮 { title: '新增', name: 'add', code: "add", type: 'primary', size: 'mini', icon: 'el-icon-plus', // 支持写click 自定义点击事件,新增组件会自带事件 } ], columns: [ {label: '分组名称', name: 'groupName'},//列 分组名称 {//分组编码列,点击之后跳转到字典项列表 label: '分组编码', name: 'groupCode', type: 'formart', formart: "<label style='cursor:pointer'>${groupCode}</label>",//格式化显示效果 click: function (_row) { this.$router.push({path: '/dict/type/data/',query:{groupCode: _row.groupCode}}); } }, { label: '操作',//操作列 name: 'operation', type: 'textBtn', textBtn: [ { title: "编辑", type: "bottom", size: 'mini' }, { title: "详情", type: "success", size: 'mini' }, { title: "删除", type: "danger", size: 'mini', api: '/basic/ms/dictGroup/' } ], } ], filters: [//过滤条件 {label: '分组名称:', name: 'groupName', placeholder: "分组名称", type: 'text', operation: 'like'},//like 是后台过滤规则,模糊匹配 支持> < != between like 等等 {label: '分组编码:', name: 'groupCode', placeholder: "分组编码", type: 'text', operation: 'like'} ], }, formSett:{// 表单 addApi: '/basic/ms/dictGroup/',//新增表单的url,默认的post updateApi: '/basic/ms/dictGroup/',//修改表单的url 默认是post data:{ //这里写默认值,比如groupName:'默认编码' }, controls:[//表单字段 { type: 'text', name: 'groupName', label: '分组名称', rule: 'required', placeholder: '请输入分组名称' }, { type: 'text', name: 'groupCode', label: '分组编码', rule: 'required', placeholder: '请输入分组编码' } ] }, } }, methods: { //自定义方法 } }; </script> 4、表单初始化 本次更新里写了,这里不重复说明。 5、更简单的微服务调用 只需要在服务提供者的service接口上加@CloudMethod 即可完成接口暴露。 哪个微服务用到直接 Autowired service接口即可(把service接口和一些pojo单独放到模块中给其他模块依赖)。详情:https://gitee.com/fhs-opensource/easy_cloud 6、ALL IN ONE 模式开发 微服务模式部署 在本地调试的时候只启动一个java进程debug,在部署测试环境和生产环境的时候使用微服务+网关模式部署。 大家都知道,微服务开发大家链接同一个注册中心的时候有很多让人 头疼的事情。fhs的这个小特性就避免了这些头疼的事情。

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

Aruba扩充 Instant On产品阵营,以支持中小企业的业务连续性和快速能力拓展

近日,慧与公司旗下的Aruba公司宣布扩大 Aruba Instant On产品阵营,新增全新交换机系列,小企业能够通过此款产品部署易于设置、管理和维护的统一高速网络。无论是作为业务连续性策略一部分,还是作为网络升级项目的一部分进行部署,全新 Aruba Instant On 1930 系列交换机都可以与现有的 Instant On 室内/室外接入点 (AP) 无缝集成,还可以通过 Instant On 移动应用程序进行集中管理。 无论是与大型跨国连锁企业还是小型本地企业,客户对无缝的安全网络连接都具有较高的期待。这给小企业带来了不小的压力,因为他们往往没有足够IT 人员在岗,从而无法应对网络挑战。而当意外的危机袭来时,情况会变得更为复杂,比如针对最近全球的新冠疫情,人与人之间社交距离的变化从根本上改变了业务运营模式。人们的主要交流形式从以往的面对面交流转变为在线交流,导致网络需求的波动。为了在这样的环境中生存下去,各地的杂货店、餐馆和其他生活服务类行业不得不在经营模式上做出重大转变。据 SMB Group 称,“71% 的中小企业已经将经营活动从实体店面转移到了线上,另有16% 的中小企业也正在计划进行这样的转变。” CDW 小型企业副总裁 Norm Lillis 表示:“Aruba通过Instant On最新产品组合解决了中小企业的很多主要痛点。强大的安全性和简单的管理符合中小企业的需求,实现他们可以“一劳永逸”的期待。尤其是在这样一个充满不确定性的时期,向社区提供基础服务的小型组织有更紧迫的优先事务需要处理,他们正在寻找合适的 IT 解决方案,为当下和将来业务及工作的连续性提供支持。” 与大型组织一样,小型企业也会关注可靠性、安全性和基础设施的成本,但与此同时,他们又缺乏人员去处理复杂的网络管理和网络设置。此外,不断变化的业务连接性和性能需求使操作的简便性成为中小企业在选择网络解决方案时的一个主要考虑因素。为了解决这些难题,Aruba Instant On 为所有网络服务提供统一的管理平台,为交换机和接入点提供单一架构,并提供了一个创新型移动应用程序,实现对整个网络的轻松设置、监控和管理。 全新Aruba Instant On 1930 系列交换机具有以下功能: o具有8 个、24 个或 48 个 1G 端口可选的灵活配置,支持 PoE 和高速 10G 连接 o所有端口均支持增强型 PoE+ 功能,可为多种物联网设备供电 o灵活的管理模式: ·通过移动应用程序或网络浏览器进行云管理 ·本地Web GUI管理 o 可实现最大投资保护的有限终身质保 慧与公司Aruba 全球中小企业事业部总经理兼副总裁 Amol Mitra 说道:“小型企业在我们的社区中发挥着至关重要的作用,对于那些提供基本服务的企业来说,如今,与客户保持联系是必不可少的。对于那些正在寻找可提供安全性、高性能、企业级连接的简单、便捷无线网络解决方案的用户, Aruba Instant On 是很好的选择。” Aruba Instant On 1930 系列交换机已于 6 月 2 日在国内正式发售。京东旗舰店618促销季现已开启,6月1日至20日期间凡购买Instant On系列产品即可享多重优惠,6月5日至30日期间在店铺购买1930交换机商品还可参与满赠活动,除此外更有超值好礼相送。快来加入夏日购物狂欢季吧! 【责任编辑: 周雪 TEL:(010)68476606】

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

阿里云首次在ASPLOS'19发布重磅论文:揭秘帮助ECS快速迭代的热升级技术

第24届ACM编程语言和操作系统(ASPLOS'19),于2019年4月13日至17日,在普罗维登斯召开,阿里云高级技术专家郑晓代表团队在会上发表了技术报告。 论文主题为《Fast and Scalable VMM Live Upgrade in Large Cloud Infrastructure》,作者是张献涛,郑晓,沈益斌等。这篇论文被计算机系统结构的顶级会议ASPLOS'19接受,是业界对于VMM热升级这项突破性技术的认可。 论文ACM下载地址:https://dl.acm.org/citation.cfm?id=3304034PDF下载地址:https://yq.aliyun.com/download/3532 该论文系统的阐述了当前云计算领域面临的基础架构带业务热升级问题。提出了一种新型的,比热迁移更行之有效的方法,特别适合

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

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文件系统,支持十年生命周期更新。

用户登录
用户注册