首页 文章 精选 留言 我的

精选列表

搜索[企业级UI],共10000篇文章
优秀的个人博客,低调大师

GoFrame v2.3 发布,企业级 Golang 开发框架

大家好啊!本次版本是2022年最后一个版本,也是2023年的第一个版本。该版本主要的目标: 采用接口化设计解决了主框架对第三方开源组件go-redis耦合的问题,使得主框架更加轻量,对工具化使用框架的场景更加友好。 通过开发工具提供升级 主框架、社区组件、开发工具 的命令,提高框架整体易用性,并解决常见的社区组件与主框架版本不一致问题。 进一步按照接口与实现分离设计,通过社区组件方式,完善注册发现、配置管理对常用服务的对接,为下一步发布微服务组件做准备。 新特性 将耦合较重的redis组件从主框架中解耦,作为社区组件提供。原有主框架增加redis接口定义,社区组件redis提供具体的接口实现。因此,请注意,主框架gredis组件的使用方式发生了一些变更,在依赖redis的项目中需要引入社区组件redis实现,否则方法执行将会返回错误。保留兼容原有基础的Do/DoVar方法,并增加了100+项常用redis操作方法:NoSQL Redis 配置管理及注册发现组件新增常用服务接口实现: 配置管理(nacos):https://github.com/gogf/gf/tree/master/contrib/config/nacos 注册发现(zookeeper):https://github.com/gogf/gf/tree/master/contrib/registry/zookeeper 新增工具命令gf up,用于便捷的框架升级操作,具体介绍请查看:框架升级-up 功能改进 社区组件 配置管理 新增nacos接口实现:https://github.com/gogf/gf/tree/master/contrib/config/nacos 注册发现 新增zookeeper接口实现:https://github.com/gogf/gf/tree/master/contrib/registry/zookeeper 数据库驱动 修复clickhouse在配置Charset参数时的报错问题。 改进clickhouse获取数据表结构结果,返回的Index顺序统一从0开始。 改进oracle表结构获取SQL,以支持float64数据类型。 修复pgsql对接口CheckLocalTypeForField的实现,名称被错误定义为了CheckLocalTypeForValue,造成生成dao代码文件时的属性字段类型错误。 改进pgsql增加对schema的支持,由于shcema在大部分数据库服务中代表"数据库名称",并且也为了兼容旧版本,因此增加Namespace配置参数用以表示pgsql的Schema,而原有的Schema对象代表pgsql的catalog。 NoSQL组件 新增redis社区组件,实现gredis相关接口:https://github.com/gogf/gf/tree/master/contrib/nosql/redis 数据库组件 gdb 为提高扩展性,TX事务对象改为了接口定义,原有的TX对象改为了TXCore方便自定义接口实现对象的嵌套:ORM事务处理 增加Namespce配置项,用以支持个别数据库服务Catalog&Schema区分的问题,原有的Schema继续代表数据库名称,而新增的NameSpace代表个别数据库服务的Schema配置:ORM使用配置 改进数据库名称配置,增加对中文数据库名称的支持。 执行SQL日志中增加当前执行的数据库名称打印。 修复Count方法的缓存问题。 gredis 新增redis社区组件,将耦合较重的redis组件从主框架中解耦,作为社区组件提供。原有主框架增加redis接口定义,而社区组件redis提供具体的接口实现。因此,请注意,主框架gredis组件的使用方式发生了一些变更,在依赖redis的项目中需要引入社区组件redis实现,否则方法执行将会返回错误。保留兼容原有的Do/DoVar方法,并增加了100+项常用redis操作方法:NoSQL Redis 容器组件 gpool 增加MustPut方法,在Put执行出错时直接panic而不是返回错误对象 gqueue 改进Len/Size方法,解决可能存在的队列计数不准确问题。 改进Len/Size方法,返回参数类型由int改为int64。 错误处理 gcode 增加CodeNecessaryPackageNotImport错误码。 gerror 改进堆栈打印,统一使用空格替代\t,以保证打印格式兼容不同的展示终端。 对象管理 gins 单例对象增加分组锁机制,提升在高并发下的锁机制性能。 网络组件 ghttp 支持在中间件中增加对当前执行路由方法的获取。 当路由方法执行的结果不为200时,支持在中间件中通过Request.GetError方法获取内部错误。 新增Response.ServeContent方法,用于自定义的内容输出接口实现。 改进反向代理支持,并增加反向代理示例:https://github.com/gogf/gf/blob/master/example/httpserver/proxy/main.go 改进错误日志输出,使用error错误级别,便于开发者在自定义日志Handler中识别日志类型。 goai 新增对security标签的支持,用以配置OpenAPIv3安全密钥。 改进对带有json标签带有,符号时结构体属性的名称获取。 gtcp SetSendDeadline方法名称修改为SetDeadlineSend。 SetReceiveDeadline方法名称修改为SetDeadlineRecv。 SetReceiveBufferWait方法名称修改为SetBufferWaitRecv。 gudp SetSendDeadline方法名称修改为SetDeadlineSend。 SetReceiveDeadline方法名称修改为SetDeadlineRecv。 SetReceiveBufferWait方法名称修改为SetBufferWaitRecv。 系统组件 gcache 修复MustGetOrSetFunc方法逻辑问题。 改进LRU缓存过期回收机制实现。 gcmd 改进结构化命令行对象生成,当brief标签为空时,自动读取dc标签内容作为brief,以保证命令行与接口定义标签习惯相同。 gcron 改进日志处理,当给定的定时任务方法执行panic并且开发者没有设置Logger接口时,将会使用glog.DefaultLogger输出错误日志。 改进定时触发判断逻辑,解决在底层定时器执行间隔不准确时引起的定时任务触发问题。 glog 改进在滚动切分特性开启时的初始化逻辑,解决在个别场景下的初始化失败导致滚动切分执行失败问题。 改进Clone方法,进一步浅拷贝提高链式操作性能。 新增LevelPrint配置,用以控制默认日志Handler是否打印日志级别字符串。 gres 新增Pack*WithOption方法,用以提供更细致的资源打包选项控制。 标记方法废弃:Pack/PackToFile/PackToGoFile。 新增KeepPath打包选项,用以控制是否在打包文件中保留给定的相对路径,而不是使用带有本地打包目录前缀的路径(相当于去掉了目录前缀)。 grpool 新增supervisor特性,解决在worker数量较少的场景下,低概率下同时退出的问题。 gstructs 新增Tag*方法,用以获取常见的标签值。 gtime 改进Equal/After/Sub方法,解决在个别场景下的细节问题。 改进EndOf*方法,返回的时间对象由开发者控制EndOf计算的粒度。调整默认粒度,由纳秒改为秒粒度进行计算。 改进SetTimeZone时区设置方法,以实现不同系统下的兼容性,该方法只允许全局设置一次时区,多次调用设置不同时区将会返回错误:时间管理-时区设置 文本处理 gstr 修复IsSubDomain判断主域名为子域名的子域名问题。 改进SubStr/SubStrRune方法,支持以负数的start参数指定从右截取字符串。 工具组件 gconv 新增Ptr*方法,用以任意类型到指定类型指针变量的转换。 改进Map*转换方法对递归转换的处理,默认只会递归转换嵌套的结构体属性。 改进Scan方法,解决属性同类型以及同类型指针到目标对象/指针的转换问题。 gtag 将框架中所有的标签名称统一到该模块下通过常量维护。 增加SetOver/SetsOver方法,用于覆盖设置自定义的标签键值对。 gutil 改进Dump*方法,支持循环嵌套的对象指针打印。 修复Dump*方法在部分场景下的反射报错问题。 新增OriginValueAndKind/OriginTypeAndKind方法,用于获取给定变量的反射值/类型对象,以及在指针变量下对应的原始反射值/类型对象。 功能修复 修复工具在部分环境下安装失败问题。 修复New*ArrayRange方法创建数组对象时,在部分场景下数组越界问题。 修复contrib/drivers/clickhouse在配置Charset参数时的报错问题。 修复pgsql数据库生成dao代码文件时的属性字段类型错误问题。 修复数据库ORM组件中Count方法的缓存问题。 修复gstr.IsSubDomain判断主域名为子域名的子域名问题。 修复gutil.Dump*方法在部分场景下的反射报错问题。 开发工具 增加gf fix命令,用于低版本升级高版本自动更新本地代码不兼容变更:兼容修复-fix 增加gf up命令,用以将本地的框架低版本升级到最新的框架版本:框架升级-up 改进gf build命令,在构建之前增加环境变量信息打印。 改进gf pack命令,增加KeepPath参数,用以控制资源打包后是否保留相对路径:资源打包-pack 改进gf gen dao命令,生成的Transaction方法中tx参数从对象指针改为了接口。 兼容提示 Redis的使用方式发生变更,旧版方法保持兼容,但需要额外添加社区组件的引入(接口与实现分离),具体请查看文档。 数据库ORM的TX对象从具体实现改为了接口,这块通过开发工具新增的up或者fix命令即可自动升级修复。 下一版本目标 完善并发布grpcx社区组件,实现对grpc接口协议的扩展支持,并提高微服务开发易用性。 官网新增【微服务开发】系列章节,主要以grpc开发为主介绍使用goframe进行微服务开发。 主框架去掉对第三方开源组件gorilla/websocket的耦合,将WebSocket的支持接口化,按照框架的通用解耦设计,通过社区组件提供具体实现,提供扩展性和灵活性。

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

Jmix Studio 1.4.2 版本发布 - 企业级少代码平台

Jmix 框架开发工具 Studio 1.4.2 版本发布,这次发布主要包含以下内容,推荐通过 IDEA 插件直接升级: 新功能: - 支持在 Studio 中通过对话框选择关联实体的数据类型(DataType)。 - Studio 中自定义主题界面的优化。 - 支持在实体设计器创建可嵌入(Embeddable)实体。 - XML 编辑时,支持直接从 XML 中将组件注入控制器。 主要 Bug 修复和改进: - 修复了界面 XML 展示有时候不显示的问题。 - 修复了自定义数据类型的 changelog 会重复生成的问题。 - 修复了 JPQL 设计器更改方法不完全的问题。 - 改进了行级角色 JPQL 编辑的体验。 - 使用快速修复时,可以支持注入不存在的类变量。 详细修复的问题列表,请参考 Jmix Youtrack: https://youtrack.jmix.io/issues/JST?q=Fixed%20in%20builds:%201.4.2 Jmix 是一个覆盖应用程序全生命周期的 Java 少代码快速开发平台。以 Spring Boot 作为开源基础框架,提供过程中的 Studio 开发工具以及开箱即用的扩展组件。通过 Jmix 实现您的数字化愿景,无低代码平台限制,无供应商依赖,无需按用户付费。 资源:中文官网 中文论坛 技术博客

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

GoFrame v2.2.0 发布,企业级 Golang 开发框架

👋 Hi,朋友们!GoFrame框架v2.2.0版本在今天发布啦! 本次版本的最大的看点在于: 重构并改进了开发者最频繁使用的校验组件,使得社区的开发者可以很方便地开发和维护内置校验规则。并且扩增了一些常用校验规则,使得组件内置规则更加丰富强大。 改建了数据库组件接口设计,使得社区开发者可以更简单地新增一个数据库类型的driver,目前框架通过社区组件的方式提供了9种数据库类型的driver实现,满足绝大部分业务项目的需求。尤其是本次版本新增了对国产达梦数据库的支持,未来我们期望社区的开发者能提供更多国产数据库类型的driver实现,贡献给开源社区。 社区组件的丰富,本次主要新增了3种类型的配置中心接口实现,支持Apollo/Polaris/Kubernetes ConfigMap。GoFrame框架采用了模块化低耦设计,组件分为框架主库与社区组件。框架主库提供核心通用轻量的基础组件,而社区组件是与框架主库解耦的单独组件包,保证主库通用轻量的同时为框架扩充了更多的能力。 本次版本的代码贡献者超过44位,框架的贡献者达到了107位。感谢大家为社区付出的努力和贡献!💖 Github ChangeLog:https://github.com/gogf/gf/releases/tag/v2.2.0 新特性 重构校验组件的内置校验规则管理器,增加并支持到了59种常用内置校验规则:数据校验-校验规则 新增社区组件contrib/config/kubecm,实现基于kubernetes configmap的配置组件Adapter实现:https://github.com/gogf/gf/tree/master/contrib/config/kubecm 新增社区组件contrib/config/apollo,实现基于apollo配置中心的配置组件Adapter实现:https://github.com/gogf/gf/tree/master/contrib/config/apollo 新增社区组件contrib/config/polaris,实现基于polaris配置中心的配置组件Adapter实现:https://github.com/gogf/gf/tree/master/contrib/config/polaris 新增contrib/drivers/dm国产达梦数据库支持:https://github.com/gogf/gf/tree/master/contrib/drivers 主要改进 社区组件 ORM驱动实现 改进contrib/drivers/pgsql在ORM组件层面支持更多pgsql内置的数据类型。 改进contrib/drivers/pgsql支持写入操作下的LastInsertId特性。 改进contrib/drivers/clickhouse支持decimal.Decimal数据类型。 新增contrib/drivers/dm国产达梦数据库支持:https://github.com/gogf/gf/tree/master/contrib/drivers 注册发现组件 改进contrib/registry/etcd实现,将日志对象改为接口属性,允许外部注册自定义的日志对象。 配置组件 新增社区组件contrib/config/kubecm,实现基于kubernetes configmap的配置组件Adapter实现:https://github.com/gogf/gf/tree/master/contrib/config/kubecm 新增社区组件contrib/config/apollo,实现基于apollo配置中心的配置组件Adapter实现:https://github.com/gogf/gf/tree/master/contrib/config/apollo 新增社区组件contrib/config/polaris,实现基于polaris配置中心的配置组件Adapter实现:https://github.com/gogf/gf/tree/master/contrib/config/polaris 数据库ORM 统一不同数据库类型下,单行字符串配置管理格式,并兼容支持已有不同数据库类型特定的配置格式:ORM使用配置 改进接口设计,简化driver实现逻辑,后续新增更多的数据库driver支持更加简便。 新增ToSQL方法,用于将ORM操作生成可供调试的SQL语句,并不真正执行SQL。 新增CatchSQL方法,用于通过闭包方法获取内部执行的SQL语句列表。 废弃Core对象中的GetStruct/GetStructs方法,统一使用Scan方法操作,以提高易用性。 数据库对象使用日志对象改为接口属性,允许外部注册自定义的日志对象。 新增Extra及Protocol配置,用于设置额外的配置参数以及链接协议,默认通过Link配置自动解析。 去掉Filtered接口,采用默认实现,简化复杂度、提高易用性。 新增ConvertValueForLocal及CheckLocalTypeForField接口,用于自定义的数据类型转换及数据类型获取,并提供默认实现。 新增ClearTableFields方法,用于清理特定数据表的数据结构缓存:ORM高级特性-字段映射 新增ClearTableFieldsAll方法,用于清理当前数据库对象所有的数据表数据结构缓存:ORM高级特性-字段映射 新增ClearCache方法,用于清理特定数据表的所有查询缓存:ORM链式操作-查询缓存 新增ClearCacheAll方法,用于清理当前数据库对象所有的查询缓存:ORM链式操作-查询缓存 其他一些改进。 编解码组件 gcompress 新增GzipPathWriter方法没用与将特定路径下的文件压缩到指定的io.Writer中。 新增ZipPathContent方法,用于使用zip算法打包压缩文件/目录并返回字节内容。 gjson 将ContentTypeJson等字符串参数调整为ContentType类型 错误处理 增加命令行参数--gf.gerror.brief及GF_GERROR_BRIEF环境变量开关,控制是否在错误堆栈打印时过滤框架堆栈:错误处理-其他特性 其他一些细节改进。 网络组件 ghttp 新增常用中间件MiddlewareJsonBody用于校验请求Body是否JSON格式。 新增GetListenedAddress方法,用于获取HTTP Server在指定:0监听端口时系统随机分配的监听地址。 当服务端执行出错时,修改返回HTTP状态码为500。 gtcp 新增GetListenedAddress/GetListenedPort方法,用于获取TCP Server在指定:0监听端口时系统随机分配的监听地址/端口。 gudp 新增GetListenedAddress/GetListenedPort方法,用于获取UDP Server在指定:0监听端口时系统随机分配的监听地址/端口。 goai 生成接口文档时,支持内嵌结构体定义的属性。 去掉接口文档中重复的参数说明,特别是在URL和Body中存在相同参数时。 gtrace 改进WithTraceID方法的错误提示为更明确的信息。 新增WithUUID方法,用于将标准的UUID转换为OpenTelemetry的TraceID。 系统组件 gcfg 调整Available接口方法定义,将resource参数改为非必须参数。 gcron 针对定时任务延迟的场景,增加时间差异计算逻辑,尽可能减少对定时任务的影响。 gctx 新增跨进程的链路跟踪支持。 新增GetInitCtx/SetInitCtx方法,用于main包及包init包初始化方法执行时的context获取和设置。 glog 新增ILogger接口定义,用于跨组件使用日志组件时的接口化解耦。 其他细节改进。 gres 资源File对象新增Export方法,用于将该对象关联的资源导出到指定的磁盘路径。 gstructs 将RecursiveOption从int类型改进为自定义类型,并调整对应的方法参数定义。 文本处理 新增gstr.IsGNUVersion方法,用于判断给定的字符串是否满足GNU版本规则。 工具方法 gconv 改进对NaN特殊字符串的int64/uint64转换支持。 gutil 新增GetOrDefaultStr/GetOrDefaultAny方法,用于默认值和非必须参数的便捷处理。 gvalid 重构内置校验规则管理器,使得新增一个内置校验非常简便。 增加并支持到了59种常用内置校验规则:数据校验-校验规则 功能修复 修复garray/gmap/gset/glist/gtype/gvar在容器对象为nil场景下DeepCopy的panic问题。 修复gtime在对象为nil场景下DeepCopy的panic问题。 修复数据库ORM链式操作Group方法在给定多个排序条件时的覆盖问题。 修复HTTP Server在JSON格式字符串返回时的内容重复输出问题。 修复gstr.Nl2Br方法在部分场景下由于逻辑判断引起的数组访问越界问题。 修复查询数据表字段信息时表名为空场景的错误打印问题。 修复Req对象属性为*gjson.Json类型的参数接收问题。 开发工具 改进gen dao命令,增加clear参数,用于自动清理目标数据库中不存在的本地数据模型Go文件:数据规范-gen dao 改进gen service命令:接口维护-gen service 按照业务模块对结构体对象生成的接口进行整合。 增加clear参数,用于自动清理在logic没有对应的接口代码及文件。 其他一些细节改进。 改进run命令,增加自定义的程序运行参数。

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

领英开源 Feathr,企业级高性能特征存储

领英(LinkedIn)近日宣布开源 Feathr,这是领英为简化机器学习 (ML) 功能管理和提高开发者生产力而构建的特征存储。 特征存储是一个用于管理机器学习特征的数据管理系统,包括特征工程代码和特征数据。它是一个中央存储库,用于存储记录的、设计的和访问权限控制的特征,可以在整个团队的许多不同的 ML 模型中使用。它从各种来源获取数据,并执行定义的转换、聚合、验证和其他操作来创建特征。特征存储库注册了可用的特征,并使它们准备好被 ML 训练管道和推理服务所检索和消费。 在领英,有几十个应用程序使用 Feathr 来定义特征,计算它们的训练,在生产中部署它们,并在团队中分享它们。报告显示,与以前针对特定应用的特征管道解决方案相比,有了 Feathr,团队在模型训练工作流程中添加新特征所需的时间大大减少,运行时的性能也有所提高。 领英在公告中表示:“几年前,我们注意到一个模式:团队因维护其特征准备管道的成本增加而负担过重,这损害了他们在创新和改进其应用程序方面的生产力。需要从许多来源汇集时间敏感的数据,以时间点正确的方式将特征与训练标签连接起来,并将特征持久化到存储中以获得低延迟的在线服务。他们还需要确保以相同的方式为训练和推理环境准备特征,以防止训练服务的偏差。” 准备和管理特征一直是大规模运行我们的 ML 应用中最耗时的部分之一。 Feathr 作为一个抽象层,为用户提供了一个用于定义特征的通用特征命名空间,以及一个用于计算、服务和从 ML 工作流中 "按名称" 寻址的通用平台。Feathr 还带来了对特征转换的高级支持,使用户能够在原始数据集的基础上试验新特征。 Feathr 的抽象为特征创建了生产者和消费者角色。生产者定义特征并将它们注册到 Feathr,消费者访问/导入特征组到他们的 ML 模型工作流中。 领英团队正在继续开发围绕 Feathr 的生态,提供新的基础设施和工具,包括为特征工程启用 CI/CD。有了它,客户将能够创建广泛共享的 ML 功能的升级版本,然后针对依赖该功能的现有模型进行测试。

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

ShopXO 企业级免费开源商城 v2.2.1 发布

更新日志 1. 后台管理首页统计数据优化、新增可选时间和地区维度 2. 支持现金支付、货到付款、不影响订单正常进行 3. 图片上传组件安全增强、避免木马上传 4. 常量数据分离,支持钩子自动处理 5. 修复订单售后库存回滚优化,避免商品规格已无效导致失败无法继续 6. 优化订单售后退款支付金额使用实际支付金额 7. 动态数据列表格子支持钩子 8. 新增uniapp端小程序主题(目前仅支持微信小程序) 9. 新增批发插件、数量阶梯售价 10. 新增标签插件、对商品、用户进行分组管理 11. 新增支付宝证书加密支付接口插件 12. 新增API接口文档 小程序效果图片 可视化DIY拖拽装修展示 PC端展示 后台管理展示

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

ShopXO 企业级免费开源商城 v2.2.0 发布

更新日志 1. 底层框架 thinkphp v5.1 升级到 v6.x 2. 优化公共数据、增加更多公共数据缓存、缓存数据优化 3. 图片验证码增加随机数优化 4. 所有插件适配支持v2.2.0版本 5. 新增银联商务微信小程序支付插件 6. 在线客服插件新增微信 7. 小程序相册根据手机型号自动铺满屏幕 8. web端商品规格切换调试模式下错误修复 9. web端图片验证码随机数优化 10. 系统入口php版本检查优化 可视化DIY拖拽装修展示 小程序展示 PC端展示 后台管理展示

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

2019 年十大企业级编程语言榜单

作者丨ALICIA NEWMAN 译者丨核子可乐 策划丨赵钰莹 硬件与软件的组合是推动技术进步的主要因素。顶级编程语言,更成为当前我们所熟知的众多现代与新兴技术的核心组成部分。时至今日,开发人员面对的编程语言在数量上远超以往任何时期。同样的,各类 IT 外包企业也在利用多种语言构建不同类型的软件应用程序。 在满足特定需求的开发过程中,个人与企业都拥有大量编程语言选项可供选择。但是,对企业来说,由于某些语言相对小众,因此可能难以找到适合软件定制开发要求的编程人才。本文,我们将整理出那些最具生产效率与市场人气的编程语言,供各位开发人员与企业进行参考。 2019 年顶级编程语言汇总 以下是根据谷歌趋势整理出的顶级编程语言榜单在列出适合个人与企业的最佳编程语言之前,我想要简要介绍一下本次研究的具体方法。下面是研究中使用的各项参数: 1.收入最高的顶级编程语言(摘自 2019 年 Stack Overflow 开发人员调查报告与 Indeed):语言本身的完善程度与开发人员的薪资待遇无关。同样的,懂得如何使用顶级编程语言也不代表开发人员的薪酬就一定更高。从整体来看,最重要的是开发人员应如何培养自己的技能组合,并利用自己熟知的语言完成开发工作。但我在研究中仍然列出了这项指标,毕竟薪酬和热情对于技能学习同样重要。 2.基于 Stack Overflow 调查结果的开发人员偏好情况:过去十年,顶级编程语言的发展趋势集中在降低开发人员的学习门槛上。因此,我们不妨将这一点作为开发者们对编程语言的喜好度指标。 3.分析 GitHub 上的开发人员活动(排名来自 2019 年第一季度的 GitHut 2.0 结果):目前的 GitHub 2.0 能基本准确地分析 GitHub 上的活动趋势。开发人员的活动直接决定着企业如何选择语言、框架或者特定技术堆栈。企业有必要密切关注开发人员的活动,并以此为基础选择合适的编程人才。 4.2018 年 6 月至 2019 年 5 月全球谷歌搜索趋势。 因此,基于以上参数,2019 年的十大顶级编程语言依次为: 1. JavaScript 根据 Indeed,美国本土市场的 JavaScript 开发人员平均年薪接近 11 万美元。 在 2019 年 Stack Overflow 开发人员调查当中,JavaScript 成为公认最受欢迎的顶级编程语言。 GitHub 上最具人气的编程语言。 根据谷歌趋势数据,自去年以来,JavaScript 的流行度似乎有所下降。该语言在 2018 年 6 月得到了最高人气分 100 分,而到 2019 年 5 月,分数下降至 84 分。 2. Python 根据 Indeed,Python 开发人员在美国本土的平均年薪为 11 万 7503 美元。 根据 2019 年 Stack Overflow 开发人员调查,Python 成为最受欢迎的面向对象编程语言之一,在此次最受欢迎顶级编程语言榜单中排名第二。 在 Stack Overflow 开发人员调查当中,被认定为市场需求最旺盛的编程语言。 GitHub 上活跃度第二的编程语言。 自去年以来,Python 的流行度基本没有发生重大变化。截至 2019 年 5 月,该语言的人气得分为 88 分,2018 年 6 月则为 85 分。 3. Java 根据 Indeed,Java 开发人员在美国本土市场的平均年薪为 10 万 1929 美元。 Java 在 2019 年最难学的编程语言榜单上排名第十位。 是 GitHub 上第三活跃的顶级编程语言。 2018 年 6 月,Java 在谷歌趋势中的得分为 97 分(满分 100)。截至 2019 年 5 月,分数已经降低至 80 分。这可能是由于 Python 开始广泛替代 Java,二者之间也爆发出一场激烈的新老王者之争。 4. Go Go 开发人员在全球范围内的平均年薪为 10 万 9483 美元,美国本土市场上的平均年薪则为 13 万 6 千美元。 在 2019 年 Stack Overflow 开发人员调查中,全球 Go 开发人员的平均年薪位列第三。 Go 语言是目前 GitHub 上活跃度第四的编程语言。 自去年以来,Go 语言的谷歌搜索热度始终保持稳定。 5. Elixir Elixir 开发人员的全球平均年薪为 7 万 6 千美元。美国本土市场的年薪水平则为 12 万 3 千美元。 根据 2019 年 Stack Overflow 开发人员调查,Elixir 是全球年薪水平第五高的编程语言。 Elixir 在 GitHub 顶级编程语言活跃度榜单中上升了超过 3 个名次。 自去年以来,Elixir 的谷歌搜索趋势基本保持稳定。 6. Ruby 全球 Ruby 开发人员的平均年薪为 7 万 6 千美元。美国本土市场的 Ruby 开发人员平均年薪为 12 万 3 千美元。 根据 2019 年 Stack Overflow 开发人员调查,Ruby 成为全球范围内年薪水平第六高的编程语言。 与去年相比,Ruby 在 GitHub 顶级编程语言活跃度榜单中的位置下降了一名。 Ruby 在谷歌搜索趋势中的受欢迎程度大大下降。去年 6 月,该语言的人气得分为 94 分(满分 100),但截至 2018 年 5 月,分数已经下降至 72。 7. Kotlin Kotlin 开发人员的全球平均年薪为 5 万 7 千美元,美国本土的平均年薪则为 12 万 5 千美元。 虽然 Kotlin 目前还不算是收入最高的语言之一,但由于谷歌方面已经确认将 Kotlin 定性为 Android 应用程序的官方开发语言,因此市场需求正在快速增长。 Kotlin 在 GitHub 编程语言活跃度榜单上排名第 15,比去年上升了一位。 Kotlin 的人气正在迅速飙升。2018 年,Kotlin 在谷歌趋势中的得分仅为 71 分,而到今年 5 月,其已经得到 90 分(满分 100)。 8. TypeScript TypeScript 开发人员的全球平均年薪为 6 万美元,在美国本土的平均年薪则为 11 万 5 千美元。 根据根据 2019 年 Stack Overflow 开发人员调查,TypeScript 在顶级编程语言人气榜中位列第十。 这款得到微软全力支持的编程语言在 GitHub 活跃度榜是排名第八。 根据谷歌搜索趋势,TypeScript 的人气在今年 5 月达到峰值,远高于 2018 年 6 月的 84 分。 9. Scala Scala 开发人员的全球平均年薪为 7 万 8 千美元,在美国本土的平均年薪则为 14 万 3 千美元。 根据 2019 年 Stack Overflow 开发人员调查,Scala 目前在美国成为收入水平最高的编程语言,即使在全球范围内也稳稳占据第四位置。 2019 年,Scala 成为 GitHub 上活跃度第十二高顶级编程语言。 Scala 在谷歌搜索趋势中的人气与去年基本持平。 10. Clojure Clojure 开发人员的全球平均年薪为 9 万美元,在美国本土的平均年薪则为 13 万 9 千美元。 根据 2019 年 Stack Overflow 开发人员调查,Clojure 是全球收入最高的编程语言,在美国市场亦排名第二。 但是,Clojure 并没能进入 GitHub 2019 年最活跃顶级编程语言榜单。实际上,与去年相比其排名反而下降了一位。 The google search trends for Clojure programming language remain more or less the same. Clojure 编程语言在谷歌搜索趋势中的人气与去年基本持平。 总结 编程世界每年都在变化。其中一部分顶级编程语言,特别是 Java 以及 JavaScript,在这类榜单内几乎占据不可撼动的优势地位。而 Kotlin 等后起之秀也没有气馁,它们以惊人的速度崛起,并成为当前最受欢迎的编程语言之一。 对于各位开发者而言,这就是目前市场上最为热门的十大编程语言,大家不妨择其一而习之。但如果对自己抱有充分的信心,那全都学一学也不是坏事!这十大编程语言,代表着计算机与编程之美,同时也是提升个人业务能力的理想方向。最重要的是,大家在学习当中付出的一切,都将在人才市场上得到良好的认可与回报。 原文链接:https://www.infoq.cn/article/B2T3w0AGXHlL7SaGayb7 本文来源:InfoQ中文网 原文发布时间:2019-12-08本文作者:ALICIA NEWMAN本文来自云栖社区合作伙伴“InfoQ中文网”,了解相关信息可以关注“InfoQ中文网”

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

企业级 SpringBoot 教程 (二十四)springboot整合docker

这篇文篇介绍,怎么为 springboot程序构建一个docker镜像。docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 准备工作 环境: linux环境或mac,不要用windows jdk 8 maven 3.0 docker 对docker一无所知的看docker教程。 创建一个springboot工程 引入web的起步依赖,创建一个 Controler: @SpringBootApplication @RestController public class SpringbootWithDockerApplication { @RequestMapping("/") public String home() { return "Hello Docker World"; } public static void main(String[] args) { SpringApplication.run(SpringbootWithDockerApplication.class, args); } } 将springboot工程容器化 Docker有一个简单的dockerfile文件作为指定镜像的图层。让我们先创建一个 dockerFile文件: src/main/docker/Dockerfile: FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springboot-with-docker-0.0.1-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 我们通过maven 构建docker镜像。 在maven的pom目录,加上docker镜像构建的插件 <properties> <docker.image.prefix>springio</docker.image.prefix> </properties> <build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.11</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build> 通过maven 命令: 第一步:mvn clean 第二步: mvn package docker:bulid ,如下: Step 2/6 : VOLUME /tmp —> Running in a98be3878053 —> 8286e98b54c5 Removing intermediate container a98be3878053 Step 3/6 : ADD springboot-with-docker-0.0.1-SNAPSHOT.jar app.jar —> c6ce13e50bbd Removing intermediate container a303a3058869 Step 4/6 : RUN sh -c ‘touch /app.jar’ —> Running in cf231afe700e —> 9a0ec8936c00 Removing intermediate container cf231afe700e Step 5/6 : ENV JAVA_OPTS “” —> Running in e192597fc881 —> 2cb0d73bbdb0 Removing intermediate container e192597fc881 Step 6/6 : ENTRYPOINT sh -c java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar —> Running in ab85f53fcdd8 —> 60fdb5c61692 Removing intermediate container ab85f53fcdd8 Successfully built 60fdb5c61692 [INFO] Built forezp/springboot-with-docker [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ———————————————————————— [INFO] Total time: 01:45 min [INFO] Finished at: 2017-04-19T05:37:44-07:00 [INFO] Final Memory: 19M/48M //Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零 [INFO] ————————————————————————

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

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等操作系统。

WebStorm

WebStorm

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

用户登录
用户注册